helpf.pro
Регистрация
 0 
Распечатать

1С 8.2 УП : Динамический список ~ Как программно выделить все строки динамического списка?

В платформе “1с предприятие 8.2″ появился такой замечательный объект как “динамический список“. Данный объект я часто использую в подборах, если не нужно делать сложные расчеты, а просто показать данные и выбрать.

Бывают такие ситуации, что список большой, более 10 позиций, и пользователю необходимо выбрать все строки. Стандартного способа как это сделать я не нашел.

Для решения это задачи я использовал объект “WSCript.Shell“.

В процессе реализации у меня получилось 2 варианта:
Вариант №1
Определим кнопку “Выделить все строки” и в модуль обработчика добавим код:
Код 1C v 8.2 УП
 wsh = Новый COMОбъект(“WSCript.Shell”);
ЭтаФорма.ТекущийЭлемент = Элементы.ДинамическийСписок;
wsh.sendkeys(“^{A}”);

С помощью данного кода выполняется нажатие клавиш “Ctrl + A“, т.е. “выделить все”.

Вариант №2
Вариант №1 не всегда срабатывал. Тогда данный код я переписал следующим образом:

Добавим реквизит формы “ПоследняяСтрокаСписка”
Для списка укажем свойство “Начальное отображение списка” = В конце списка
В процедуру “ПриОткрытии” добавим заполнение реквизита, определенного в пункте 1.
Код 1C v 8.2 УП
 ПоследняяСтрокаСписка = Элементы.ДинамическийСписок.ВыделенныеСтроки[0];   


Определим кнопку “Выделить все строки” и в модуль обработчика добавим код:
Код 1C v 8.2 УП
 wsh = Новый COMОбъект(“WSCript.Shell”);
ЭтаФорма.ТекущийЭлемент = Элементы.ДинамическийСписок;
wsh.sendkeys(“{END}”);
ТекДанные = Элементы.ДинамическийСписок.ТекущиеДанные;
Если ТекДанные <> Неопределено Тогда
wsh.sendkeys(“+{UP ” + ПоследняяСтрокаСписка + “}”);
КонецЕсли;


С помощью данного кода выполняется нажатие клавиш “Shift + кнопка вверх“.

Хочу обратить внимание. Данное решение не будет работать на клиентах, которые запускаются на Линукс.

Автор Сергей Сопелев
Разместил:   Версии: | 8.2 УП |  Дата:   Прочитано: 12705
 0 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 3
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно...
COM-подключение к базе 7.7 из 8.2 1С 4
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе="...
Excel файл как Внешний источник данных 4
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . ...
Google maps : вывод точек на карту и режим панорамы 2
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С...
PostgreSQL: установка, настройка, обслуживание 2
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.