Позиционировать курсор на строке динамического списка
Подскажите, что-то никак не могу сообразить...
На УФ есть динамический список получаемый запросом из справочника номенклатуры.
Нужно программно поставить курсор на строку этого динамического списка
с заданной номенклатурой (УФ уже открыта, вопрос при открытии формы - не стоит).
Вроде все просто:
Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = ЗаданнаяНоменклатура;
Причем в отладчике даже ТекущаяСтрока меняет значение на нужное, но
на форме положение курсора не меняется.
команда:
ЭтаФорма.ОбновитьОтображениеДанных();
не помогает... (((
Куда копать?
Платформа 8.3.13.1865, конфигурация КА 2.4
На УФ есть динамический список получаемый запросом из справочника номенклатуры.
Нужно программно поставить курсор на строку этого динамического списка
с заданной номенклатурой (УФ уже открыта, вопрос при открытии формы - не стоит).
Вроде все просто:
Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = ЗаданнаяНоменклатура;
Причем в отладчике даже ТекущаяСтрока меняет значение на нужное, но
на форме положение курсора не меняется.
команда:
ЭтаФорма.ОбновитьОтображениеДанных();
не помогает... (((
Куда копать?
Платформа 8.3.13.1865, конфигурация КА 2.4
По теме из базы знаний
Найденные решения
(1)
а потом
ЭтотОбъект.ТекущийЭлемент = Элементы.СписокСтандартныйПоискНоменклатура;
а потом
Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = ЗаданнаяНоменклатура;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
а потом
ЭтотОбъект.ТекущийЭлемент = Элементы.СписокСтандартныйПоискНоменклатура;
а потом
Элементы.СписокСтандартныйПоискНоменклатура.ТекущаяСтрока = ЗаданнаяНоменклатура;
(5) Добрый день!
У меня есть динамический список с обратной сортировкой по дате. Это список событий в системе. Поэтому первая строка всегда результат выполнения какой-либо последней операции. И мне всегда необходимо видеть именно первую строку. Иными словами необходимо "установить" курсор на первую строку.
С ТЗ как бы проще. Сначала выгрузил с запроса, потом сортировать()... но не хотел использовать ТЗ
Закопался с простой задачей (
У меня есть динамический список с обратной сортировкой по дате. Это список событий в системе. Поэтому первая строка всегда результат выполнения какой-либо последней операции. И мне всегда необходимо видеть именно первую строку. Иными словами необходимо "установить" курсор на первую строку.
С ТЗ как бы проще. Сначала выгрузил с запроса, потом сортировать()... но не хотел использовать ТЗ
Закопался с простой задачей (
(8) Список имеет тип "ДинамическийСписок". Данные с запроса.
Обновление данных - сначала делал стандартным обновлением по времени. Ну естественно это не получилось, я забыл про это.
Пытался обработкой оповещения, но и с ней не получилось.
Как был "курсор" установлен на какой записи в динамическом списке, так там он и остался. Так то правильно по логике 1С.
Возможно само решение(подход) моё не верное.
Мне надо просто выводить некий лог, где последнее событие отображается вверху первым номером.
Временное решение - выгрузка из запроса в ТЗ.
Подскажите как бы сделали Вы
Обновление данных - сначала делал стандартным обновлением по времени. Ну естественно это не получилось, я забыл про это.
Пытался обработкой оповещения, но и с ней не получилось.
Как был "курсор" установлен на какой записи в динамическом списке, так там он и остался. Так то правильно по логике 1С.
Возможно само решение(подход) моё не верное.
Мне надо просто выводить некий лог, где последнее событие отображается вверху первым номером.
Временное решение - выгрузка из запроса в ТЗ.
Подскажите как бы сделали Вы
(10) Я бы сделал периодический РС куда писались бы записи. На форме реквизит с последней записью. Через обработку ожидания серверный запрос без контекста где получается срез последних. Если запись изменилась, то обновляем дин. список и устанавливаем последнюю запись, которую мы уже знаем.
(11) РС и сделан. С периодическим есть проблемы, т.к. в одну миллисекунду может быть несколько сообщений.
И обновление динамического списка не даёт права передвинуть "курсор". Позиция "ТекущейЗаписи" не меняется в списке при ДинамическомСписке
Ладно, сделал как выгрузку с запроса в ТЗ. ТЗ уже 100% при этом обновляется. Для пользователя это абсолютно прозрачно и задача выполнена. Для программиста как-то кривовато (
И обновление динамического списка не даёт права передвинуть "курсор". Позиция "ТекущейЗаписи" не меняется в списке при ДинамическомСписке
Ладно, сделал как выгрузку с запроса в ТЗ. ТЗ уже 100% при этом обновляется. Для пользователя это абсолютно прозрачно и задача выполнена. Для программиста как-то кривовато (
(14) если у вас есть эта последняя запись и она является элементом(документом) основной таблицы, то
Элементы.ВашСписок.ТекущаяСтрока = ВашаЗапись;
установит текущую строку на вашу запись.
кстати для себя узнал, то если основная таблица не задана, то ТекущаяСтрока имеет тип число.
и если у вас основная таблица непринципиальна, то можно ее убрать и
Элементы.ВашСписок.ТекущаяСтрока = 1;
установит текущую строку на первую в списке.
(15) по расширениям - не знаю. знаю, что можно двоичные данные файла получить, а где имя файла хранится - хз.
Элементы.ВашСписок.ТекущаяСтрока = ВашаЗапись;
установит текущую строку на вашу запись.
кстати для себя узнал, то если основная таблица не задана, то ТекущаяСтрока имеет тип число.
и если у вас основная таблица непринципиальна, то можно ее убрать и
Элементы.ВашСписок.ТекущаяСтрока = 1;
установит текущую строку на первую в списке.
(15) по расширениям - не знаю. знаю, что можно двоичные данные файла получить, а где имя файла хранится - хз.
(13) Может ещё ответите мне на вопрос. Мне надо получить данные с других баз 1С. И я их получаю, но... по расширениям не могу получить ПОЛНУЮ(!) информацию. К примеру, не могу понять ГДЕ находится хранилище расширения и некое полное название файла, к примеру "ЗавершениеРаботыПользователей_ТАКСИ_009(14, Такси).cfe"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот