Внешняя обработка была разработана на платформе 1С:Предприятие 8.3 (8.3.18.1741), на конфигурации Управление нашей фирмой, редакция 1.6 (1.6.13.54).
Конфигурация остается неизменной и на поддержке - используем только типовые механизмы и имеющиеся таблицы и поля конфигурации. Для тестирования был использован динамический список документов Заказы покупателей.
Смотрите видео, ниже после видео будут разъяснения.
Пример полностью тестовый, разрабатывался не на реальной задаче, а по следам публикации Использование флажков в динамических списках 2.0
Когда мы устанавливаем флажок на строке, нам надо где-то хранить эту информацию. Вариантов два - или в алгоритме создать переменную (ВыбранныеДокументы), или воспользоваться хранением в базе данных (мой случай, используя таблицы и поля БД).
Первый вариант через хранение информации об установленных флажках в переменной ВыбранныеДокументы - хорошо продемонстрирован в вышеописанной публикации - передача переменной ВыбранныеДокументы от клиента на сервер происходит через временное хранилище. Как раз временное хранилище для этого и предназначено. И именно для реализации флажка в динамическом списке его придется использовать, поскольку для динамического списка процедура ПриПолученииДанныхНаСервере срабатывает на сервере без контекста формы - и любая переменная для хранения списка выбранных документов на форме (на клиенте) - не будет видна на сервере напрямую без контекста формы.
Второй вариант - хранение информации о выбранных документах в БД - использую я в предложенной обработке.
Если бы я воспользовался расширением, то сама реализация "флажка в динамическом списке" прошла бы более простым способом - я добавил бы в расширение в документ ЗаказПокупателя реквизит "Флажок" (тип Булево) для хранения информации об установленном флаге. Но если реализовывать через внешнюю обработку, то добавить дополнительные реквизиты в таблицу ЗаказПокупателя нельзя.
Хорошо, что есть механизм дополнительных реквизитов и сведений, которым я воспользовался.
рис.1
Для дальнейшего понимания:
1) динамический список реализован через произвольный запрос (рис.1, 2 выше) - поскольку через запрос можно задать дополнительное свое поле (одинаково для вышеописанной публикации и данной публикации), вокруг которого в дальнейшем будет строиться алгоритм и механизм "флажка в динамическом списке" - рис.3.
рис.3
2) добавил реквизит "Флажок" (тип Булево) для документов "ЗаказПокупателя" через механизм Дополнительных реквизитов и сведений, его вытаскиваю в запрос динамического списка по полю "Флажок", в него сохраняю информацию об установленном флаге через двойной клик по полю "Флажок".
3) двойной клик по колонке "Флажок" не так ужасен и не является помехой, чтобы помечать документ. Если вы щелкните два раза по другому полю, то сработает стандартный вызов открытия документа (смотрите видео выше).
Код механизма задействует всего 3 процедуры и 45 строк кода - см. обработку.
Для чего можно использовать хранение флажков в документах БД? Возможно для задач визирования документов - когда например некоторое должностное лицо визирует документы, например проставляет статусы "Проверен", "Оригинал получен", "Акт сверки согласован" и т.д.
Всем добра!
С пользой для клиентов, RustIG
1) Работа с временным хранилищем
2) Механизм дополнительных реквизитов и сведений
1) Подбор товаров по характеристикам (свойствам и значениям)
4) Ввод показателей план-факта через табличный документ
5) Доработка конфигурации Конвертация Данных (вер. 2.1.8.2)
6) Поиск ссылок на любой справочник в документах на УФ
7) Поиск сотрудника и поиск физлица в документах ЗУП
8) Поиск контрагента в документах для управляемых форм
9) Поиск номенклатуры в документах
11) УТ 11.4. Счет на оплату с факсимиле
12) УНФ. Список заказов + Структура подчиненности
13) Удаление справочников для любых баз на управляемых и обычных формах
14) Неиндексированные измерения регистров сведений. В помощь 1С:Эксперту
15) Удаление документов для любых баз на управляемых формах
16) Удаление чеков ККМ в Рознице 2.2
Из последнего опубликованного: