Приветствую, форумчане!
УТ 10.3.20.1, Моби-С 5.5, "ABBYY Ukraine", обычные
Форма документа "Реализация". На форме можно отфильтровать документы по нужным параметрам.
Как спрашивал ранее про массовую печать (http://pro1c.org.ua/topic/massovaya-pechat-iz-formy-spiska-35459/?st=0&gopid=123325&#entry123325), массовую печать можно сделать, если выделить (множественный выбор) нужные документы в списке.
Можно ли как-нибуть выделить в форме списка все строки сразу после настройки фильтрации или как-нить передать параметры настройки фильтра в некую Процедуру, которая будет выделять строки программно попараметрам фильтра?
CTRL+A ?
Flexy @ Сегодня, 15:28
,
Хороший вариант, как его программно прописать?
Ситуация такая. На коде "Масовая печать" нужно перед печатью проверить включен ли фильтр (т.е. есть Отбор или нету). Далее, если включен Отбор (фильтр), то провести выделение всех отобранных строк и пустить печать.
Т.е. обезопасить себя на случай, если пользователь нажмет "Массовую печать" и пойдет печать огромного количества документов
Constantus @ Сегодня, 12:47
,
Зачем так сложно? Не проще что-то типа
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Выделенно больше 1000000 строк!!! Вы уверены, что их все надо печатать??? , Режим, 0);
Если Ответ = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
Понятно, но как тогда таки выделить отобранные фильтром строки???
Построитель = Новый ПостроительЗапроса;
ЭлементыФормы.Список.ВыделенныеСтроки.Очистить();
Источник = Новый ОписаниеИсточникаДанных(ДокументСписок);
Построитель.ИсточникДанных = Источник;
Построитель.Выполнить();
Т = Построитель.Результат.Выгрузить();
Для Каждого Строка Из Т Цикл
ЭлементыФормы.Список.ВыделенныеСтроки.Добавить(Строка.Ссылка);
КонецЦикла;
Constantus @ Сегодня, 12:32
,
В Обработчик события формы списка документов "ПриПолученииДанных"
Flexy @ Сегодня, 15:36
,
Благодарю! Разобрался.
Вставил код в кнопку "Массовая печать"
Если ЭлементыФормы.Список.ВыделенныеСтроки.Количество() = 0 Тогда // Нет выбранных строк
Построитель = Новый ПостроительЗапроса;
ЭлементыФормы.Список.ВыделенныеСтроки.Очистить();
Источник = Новый ОписаниеИсточникаДанных(ДокументСписок);
Построитель.ИсточникДанных = Источник;
Построитель.Выполнить();
Т = Построитель.Результат.Выгрузить();
Для Каждого Строка Из Т Цикл
ЭлементыФормы.Список.ВыделенныеСтроки.Добавить(Строка.Ссылка);
КонецЦикла;
Если ЭлементыФормы.Список.ВыделенныеСтроки.Количество() = 0 Тогда // Нет выбранных строк
не корректен в моем случае...
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua