Каждый по своему решает проблему трудоемкости поддержки и обновлений.
В новых конфигурациях (на управляемых формах) , разработчику предоставлены различные возможности быстрого программного изменения форм типовых объектов при минимальных изменениях конфигурации (бсп , расширения , переопределяемые модули).
В старых конфигурациях(обычные формы) основной код , как правило, написан задолго до того, как использование бсп и принципов минимизации изменений стало повсеместным. Тут способов упростить себе жизнь значительно меньше. Суть одного из методов в том, чтобы найти процедуры общих модулей , которые вызываются в обработчиках событий "ПередОткрытием" , "ПриОткрытии" максимального числа форм объектов конфигурации. Затем использовать их в качестве "бэкдоров".
Далее , хочу предложить вашему вниманию общий модуль для конфигурации УТ 10.3 для работы с дополнительными реквизитами и сведениями документов, и программного изменения форм типовых документов и справочников без изменения (или min. изменения) самих объектов. Модуль был написан в 2024 в процессе перехода с 10.2 на 10.3 в торговой организации . Сильно упростил как сам переход , так и дальнейшее сопровождение.
Протестировано на "Управление торговлей", редакция 10.3 (10.3.50.1) , платформа — 8.3.11.2899.
На рис.1 видно , какие изменения необходимо внести в типовую конфигурацию.
Отдельного объяснения требует способ добавления дополнительной информации в табличную часть документа без изменения реквизитов . Ниже пример вывода , краткой информации по остаткам/резервам/отгрузкам в колонке "Анализ заказа". Еще один пример а скриншотах к статье.
Из рис.1 видно , что информация в табличной части обновляется по событию "ПриВыводеСтроки". Этот обработчик считается медленным и, при необходимости, обычно используют "ПриПолученииДанных". Но не в данном случае. Здесь есть небольшой "финт ушами". Сперва (при открытии или при сохраниении) вычисляются необходимые даные и записываются в стандартную структуру "Дополнительные свойства", связанную с объектом, в виде соответствия (КлючСтроки -> Данные). В обработчике "ПриВыводеСтроки" извлекаются уже готовые данные. Работает быстро, даже на многострочных документах. Делал тест на заказе в 1000 строк.
На гифах ниже показана работа с дополнительными сведениями документов — динамическое создание панелей, работа с доп. сведениями как с реквизитами , заполнение из документа основания.
Для каждого вида документа необходимо создать отдельное значение в ПВХ НазначениеСвойствОбъектов. Есть небольшое ограничение . Не получится создать значение подчиненного справочника (напр. ЗначенияСвойствОбъектов, см. пример ниже).
В заключении хочу отметить , что возможности динамического управления формой объектов не ограничиваются приведенными примерами. Можно легко организовать различные проверки , ограничить видимость и доступность отдельных реквизитов для различных пользователей. Поскольку нет разделения контекстов (клиент — сервер), можно легко управлять самими объектами: устанавливать режим проведения, авто время записи и т.д. Некоторые примеры использования есть на скриншотах к статье.
Надеюсь, статья будет кому-нибудь полезной.
P.S. Модуль частично переписан в сравнении с оригиналом и не тестировался в боевых условиях, возможны ошибки. Пишите буду исправлять. Всем добра.
Это как «дополнительные реквизиты и сведения» только под обычные формы?
(1) это и есть дополнительные сведения но в ут10.3 работать с ними не так удобно
(1) Хочу сказать спасибо. Обнаружил что в статье «дополнительные реквизиты и сведения » постоянно называю дополнительными свойствами. Такая вот путаница в терминологии. Исправился.
(0) круто! молодец! пригодится!
Все верно и правильно, только при нагромождении полей, проще, скопировать форму и изменить.
Заодно так становится сразу понятно, что дорабатывалось, а что — нет.
Кроме того, проверено что даже для УТ 10 можно поднимать режим совместимости до 8.3.9.
И это даст возможность сделать расширение, в котором можно будет сделать переопределение любого общего модуля и внедрится в него без изменения штатного. Все равно для этих доработок нужно снимать конфигурацию с замка.
А еще есть информацию что при программном добавлении большого количества полей на форму, можно получить некорректную работу кеша 1С. Лично не сталкивался, но на ИС такое читал.
(5)
если в дальнейшем нужна программная работа с этими полями , то да согласен ,
а если это просто поля для фиксации чего либо (напр данные транспортной накладной ), имо проще использовать доп. сойства. Быстрее создавать и удалять если больше не нужны , тем более они группируются по отдельным вкладкам
не замечал такой проблемы