Каталог решений - Легкий "тюнинг" УТ 10.3

Легкий "тюнинг" УТ 10.3

Легкий "тюнинг" УТ 10.3

В наличии

Вариант программной реализации изменения форм типовых объектов для конфигурации Управление торговлей 10.3.

Категория:

Описание

Каждый по своему решает проблему трудоемкости поддержки и обновлений.

В новых конфигурациях (на управляемых формах) , разработчику предоставлены различные возможности быстрого программного изменения форм типовых объектов при минимальных изменениях конфигурации (бсп , расширения , переопределяемые модули).

В старых  конфигурациях(обычные формы) основной код , как правило, написан задолго до того, как использование бсп и принципов минимизации изменений стало повсеместным. Тут способов упростить себе жизнь значительно меньше.  Суть одного из методов   в том,  чтобы найти процедуры общих модулей , которые вызываются  в обработчиках  событий "ПередОткрытием" , "ПриОткрытии"    максимального числа форм объектов конфигурации.  Затем  использовать их в качестве "бэкдоров". 

Далее , хочу предложить вашему вниманию общий модуль  для  конфигурации  УТ 10.3   для работы  с дополнительными  реквизитами  и  сведениями документов,  и программного изменения  форм типовых документов и справочников без изменения  (или min. изменения) самих объектов.   Модуль был написан  в  2016 в процессе  перехода  с 10.2  на 10.3  в  торговой организации . Сильно упростил как сам переход , так и дальнейшее сопровождение.   
Протестировано на "Управление торговлей", редакция 10.3 (10.3.50.1) , платформа — 8.3.11.2899.

На  рис.1 видно , какие изменения необходимо внести в типовую конфигурацию.

Отдельного объяснения требует  способ  добавления  дополнительной информации в табличную часть документа  без  изменения реквизитов .   Ниже  пример  вывода , краткой информации по остаткам/резервам/отгрузкам  в колонке "Анализ заказа".  Еще один  пример а скриншотах к статье.

Из  рис.1 видно , что  информация в  табличной части обновляется   по событию "ПриВыводеСтроки".  Этот обработчик считается  медленным и, при необходимости,  обычно используют  "ПриПолученииДанных".  Но не в данном  случае.   Здесь  есть небольшой  "финт ушами".  Сперва  (при открытии или при сохраниении)  вычисляются необходимые  даные   и записываются   в  стандартную структуру "Дополнительные свойства",  связанную с объектом,   в виде соответствия (КлючСтроки -> Данные).  В  обработчике "ПриВыводеСтроки"   извлекаются  уже  готовые данные. Работает быстро, даже на многострочных документах. Делал тест на заказе в 1000 строк.

На   гифах  ниже  показана работа с дополнительными сведениями документов —  динамическое создание панелей, работа с доп. сведениями как с реквизитами , заполнение из документа основания. 

Для каждого вида документа необходимо создать отдельное значение в  ПВХ  НазначениеСвойствОбъектов. Есть небольшое ограничение .  Не получится  создать  значение подчиненного справочника (напр.  ЗначенияСвойствОбъектов, см. пример ниже).

В заключении  хочу отметить , что возможности динамического управления формой объектов  не ограничиваются приведенными примерами.  Можно легко организовать различные проверки , ограничить  видимость и доступность отдельных реквизитов  для различных пользователей. Поскольку нет разделения контекстов   (клиент — сервер),  можно легко управлять самими  объектами: устанавливать  режим проведения, авто время записи  и т.д.   Некоторые примеры использования  есть на скриншотах к статье.

Надеюсь, статья будет кому-нибудь полезной.

P.S.  Модуль   частично переписан  в сравнении с оригиналом и не тестировался в боевых  условиях, возможны ошибки. Пишите буду исправлять. Всем добра. 

has been added to your cart:
Оформление заказа