Подскажите, что-то никак не могу сообразить...
На УФ есть динамический список получаемый запросом из справочника номенклатуры.
Нужно программно поставить курсор на строку этого динамического списка
с заданной номенклатурой (УФ уже открыта, вопрос при открытии формы - не стоит).
Вроде все просто:
Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = ЗаданнаяНоменклатура;
Причем в отладчике даже ТекущаяСтрока меняет значение на нужное, но
на форме положение курсора не меняется.
команда:
ЭтаФорма.ОбновитьОтображениеДанных();
не помогает... (((
Куда копать?
Платформа 8.3.13.1865, конфигурация КА 2.4
---
```1c
    ЭтотОбъект.ТекущийЭлемент = Элементы.СписокСтандартныйПоискНоменклатура;
```

а потом

```1c
    Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = ЗаданнаяНоменклатура;
```
---
1С курсор не двигает. В 1С можно сделать активным элемент, но курсор останется там, где он был.
Курсор это винда и чтобы его двигать нужно использовать библиотеки, вопрос только как вы поместите его на активный элемент, координаты же нету!
---
```1c
    ЭтотОбъект.ТекущийЭлемент = Элементы.СписокСтандартныйПоискНоменклатура;
```

а потом

```1c
    Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = ЗаданнаяНоменклатура;
```
---
Также у динамического списка должна быть основная таблица - этот справочник,
---
Как тогда решается эта задача?
Мне ж надо пользователю показать нужную номенклатуру в динамическом списке?
---
как уже написал. Сделать активный элемент. А если пользователь не понимает что элемент активный выдели его цветом, можешь еще сообщить написать.
---
Добрый день!
У меня есть динамический список с обратной сортировкой по дате. Это список событий в системе. Поэтому первая строка всегда результат выполнения какой-либо последней операции. И мне всегда необходимо видеть именно первую строку. Иными словами необходимо "установить" курсор на первую строку.
С ТЗ как бы проще. Сначала выгрузил с запроса, потом сортировать()... но не хотел использовать ТЗ
Закопался с простой задачей (
---
"курсор" мышь? 1С мышь не двигает, для мыши компоненты ищите.
---
)))) ну... те, кто "в курсе" знают про какой курсор в динамическом списке речь ))))
Ок. Проехали. Сделал через ТЗ. Там проще.
---
а каким образом у вас этот список обновляется? обновление по времени или обработка оповещения?
---
Список имеет тип "ДинамическийСписок". Данные с запроса.
Обновление данных - сначала делал стандартным обновлением по времени. Ну естественно это не получилось, я забыл про это.
Пытался обработкой оповещения, но и с ней не получилось.
Как был "курсор" установлен на какой записи в динамическом списке, так там он и остался. Так то правильно по логике 1С.
Возможно само решение(подход) моё не верное.
Мне надо просто выводить некий лог, где последнее событие отображается вверху первым номером.
Временное решение - выгрузка из запроса в ТЗ.
Подскажите как бы сделали Вы
---
Я бы сделал периодический РС куда писались бы записи. На форме реквизит с последней записью. Через обработку ожидания серверный запрос без контекста где получается срез последних. Если запись изменилась, то обновляем дин. список и устанавливаем последнюю запись, которую мы уже знаем.
---
РС и сделан. С периодическим есть проблемы, т.к. в одну миллисекунду может быть несколько сообщений.
И обновление динамического списка не даёт права передвинуть "курсор". Позиция "ТекущейЗаписи" не меняется в списке при ДинамическомСписке
Ладно, сделал как выгрузку с запроса в ТЗ. ТЗ уже 100% при этом обновляется. Для пользователя это абсолютно прозрачно и задача выполнена. Для программиста как-то кривовато (
---
И обновление динамического списка не даёт права передвинуть "курсор".
Что значит не дает? Основная таблица у динамического списка задана?
---
Конечно задана, ну как иначе-то. Простой пример. Вы встаёте на любом документе списка документов. И "курсор" не сдвигается, даже если с эти типом документов работают другие пользователи. Что не так? Может я что-то не знаю?
---
если у вас есть эта последняя запись и она является элементом(документом) основной таблицы, то
Элементы.ВашСписок.ТекущаяСтрока = ВашаЗапись;
установит текущую строку на вашу запись.
кстати для себя узнал, то если основная таблица не задана, то ТекущаяСтрока имеет тип число.
и если у вас основная таблица непринципиальна, то можно ее убрать и
Элементы.ВашСписок.ТекущаяСтрока = 1;
установит текущую строку на первую в списке.

(15) по расширениям - не знаю. знаю, что можно двоичные данные файла получить, а где имя файла хранится - хз.
---
Элементы.ВашСписок.ТекущаяСтрока = 1; с этим попробую... спасибо

(16) Элементы.ВашСписок.ТекущаяСтрока = ВашаЗапись;
надо запомнить последнюю запись получается... попробую и так.
---
Может ещё ответите мне на вопрос. Мне надо получить данные с других баз 1С. И я их получаю, но... по расширениям не могу получить ПОЛНУЮ(!) информацию. К примеру, не могу понять ГДЕ находится хранилище расширения и некое полное название файла, к примеру "ЗавершениеРаботыПользователей_ТАКСИ_009(14, Такси).cfe"
---
Также у динамического списка должна быть основная таблица - этот справочник