v8.2 Управляемые формы: Динамические элементы формы и переопределяемые события или как изменить поведение и внешний вид управляемой формы программно без лишних хлопот
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Предисловие:
В предыдущей статье я предложил методику модификации конфигурации 1С, находящейся на поддержке с описанием некоторых применяемых мною подходов программирования, позволяющих с минимальными изменениями объектов конфигурации добиться, по моему мнению, максимально "простого" обновления типовой конфигурации. Хочу уточнить что речь идет о тех случаях, когда Вам необходимо менять типовой объект.
Ограничения: подсистема разрабатывалась для 8.2 управляемое приложение, а именно - конфигурация УТ11. Но механизм может быть применен для любой конфигурации на базе 8.2 управляемые формы. Данная статья и прикрепленная конфигурация направлена на то чтобы продемострировать возможности возможности платформы 8.2 и не является 100% решением всех потребностей динамического изменения формы.
В данной редакции реализованны механизмы:
- Добавление динамических реквизитов любых форм (форм объектов, списков, общих форм и т.п.).
- Добавление динамических элементов форм связанных с реквизитами объектов или реквизитами форм (ПолеФормы, ТаблицаФормы)
- Переопределение старнадтных обработчиков с возможностью их "наследования"
В качестве примера реализации в конфигурации присутствуют:
- Динамическое добавление условного оформления формы (в т.ч. и использование при оформлении динамических реквизитов).
- Замена таблицы-источника динамического списка на запрос и модификация запроса динамического списка по "правилам", описаным в предыдущей статье.
- Динамическое добавление комманды формы.
Прошу принять во внимание, что данное решение было написано в процессе доработки конкретной конфигурации и не является механизмом (касается динамических элементов форм), позволяющим реализовать "бантики" на форме ввиде групп, декораций и т.п. В то же время в механизм заложено "ядро" которое может быть доработанно по потребностям.- Константа "Работа с заказами".
- Справочник "Номенклатура"
- Реквизиты:
- Код
- Наименование
- ИспользованиеВЗаказах - если "ложь" то отказ от выбора в документе заказа.
- Формы:
- Форма элемента - на форме (Код, Наименование, ИспользованиеВЗаказах)
- Форма списка - источник динамического списка физическая таблица Справочник.Номенклатура.
- Документ "Заказ"
- Реквизиты
- Номер
- Дата
- Табличные части
- Товары
- номер строки
- Номенклатура
- Количество
- Формы
- Форма документа.
- Поведение формы: Если константа "Работа с заказами" = ложь тогда форма заказа не открывается с предупреждением. При попытке выбрать номенклатуру с признаком ИспользованиеВЗаказах = ложь отказ от выбора с сообщением.
- Форма списка
- Источник динамического списка - запрос.





- При открытии документа система должна игнорировать константу "Работа с заказами". т.е. открываться всегда.
- Добавить Табличную Часть "График оплаты" обязательную для заполнения. Реквизиты: Дата, Сумма
- Добавить в таблицу Товары реквизиты Цена, Сумма. Сумма должна пересчитываться автоматически при изменении кол-ва и цены.
- Добавить в таблицу товары реквизит Отменена - булево. При значении Истина цвет строки устанавливать в серый.
- Добавить реквизит формы общее количество и ссумировать количество товаров в документе кроме отмененных строк. пересчет при изменениях количества цены и флага Отменен
- Добавить реквизит формы Сумма документа и как итог суммы в таблице товары кроме отмененных строк. пересчет при изменениях количества цены и флага Отменен
- Добавить проверку заполнения (при проведении) чтобы сумма по документу была равной итогу по строкам Графика оплат.
- Игнорировать флаг "ИспользованиеВЗаказах" при выборе номенклатуры.
- Результат и изменения ниже:





Вступайте в нашу телеграмм-группу Инфостарт

