Типовой функционал модификации конфигурации линейки ERP-решений (УТ 11, КА 2 и ERP 2)
Одним из важных требований к модификациям любой типовой конфигурации на платформе 1С: Предприятие является возможность дальнейшего сопровождения и обновления на новые релизы разработчиков 1С.
Особенно сложно вносить «независимые» от обновлений модификации в формы объектов конфигурации.
Разработчики 1С позаботились о тех, кто дорабатывает и обновляет конфигурации линейки ERP-решений, разработанные на платформе 1С: Предприятие 8.3, добавив функционал, упрощающий модификации форм объектов.
В линейку конфигураций ERP-решений входят:
· 1С: Управление торговлей 11 (УТ 11),
· 1С: Комплексная автоматизация 2 (КА 2),
· 1С: ERP Управление предприятием 2 (ERP 2).
В этот функционал входит блок общих модулей:
- МодификацияКонфигурацииВызовСервераПереопределяемый
- МодификацияКонфигурацииКлиентПереопределяемый
- МодификацияКонфигурацииКлиентСерверПереопределяемый
- МодификацияКонфигурацииПереопределяемый
Т.к. эти общие модули с постфиксом «Переопределяемый», в них мы можем вносить свои изменения и не боятся потерять их при обновлении релиза конфигурации.
В этих модулях находятся переопределяемые процедуры, вызываемые из обработчиков форм, таких как:
- «ПриСозданииНаСервере»,
- «ПриЧтенииНаСервере»,
- «ПередЗаписьюНаСервере»,
- «ПослеЗаписиНаСервере»,
- «ПослеЗаписи»,
- при изменении реквизитов табличной части, таких как «Номенклатура» и «Характеристика»,
- при выборе команды, которая добавлена программно,
- а также события по подсистеме «Рассылки и оповещения клиентам».
В модулях форм объектов разработчики 1С вставили следующий код для поддержки функционала модификации конфигурации:
- В процедуре «ПриСозданииНаСервере»
МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере(ЭтаФорма, СтандартнаяОбработка, Отказ);
- В процедуре «ПриЧтенииНаСервере»
МодификацияКонфигурацииПереопределяемый.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
- В процедуре «ПередЗаписьюНаСервере»
МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтаФорма, Отказ, ТекущийОбъект, ПараметрыЗаписи);
- В процедуре «ПослеЗаписиНаСервере»
МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтаФорма, ТекущийОбъект, ПараметрыЗаписи);
- В процедуре «ПослеЗаписи»
МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтаФорма, ПараметрыЗаписи);
В процедурах «ПриСозданииНаСервере» и «ПриЧтенииНаСервере» может быть вызов процедур функционала модификации не «напрямую», а через процедуры общего модуля «СобытияФорм»:
- СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);
- СобытияФорм.ПриЧтенииНаСервере(Форма, ТекущийОбъект);
в которых прописан вызов соответствующих процедур функционала модификации конфигураций.
В процедуре «ВыполнитьПереопределяемуюКоманду» в общем модуле «СобытияФормКлиент» расположен вызов процедуры:
МодификацияКонфигурацииКлиентПереопределяемый.ВыполнитьПереопределяемуюКоманду(Форма, Команда, ДополнительныеПараметры);
Программный код модификации конфигурации прописывается в соответствующих процедурах обработки событий, описанных выше.
Для отбора в процедуре модификации дополнительных действий конкретной формы, необходимо выполнить проверку из какой формы вызвано событие, например:
Если Форма.ИмяФормы = «Справочник.Номенклатура.Форма.ФормаЭлемента»
…
и для команды:
Если Команда.Имя= «ПРОСТО_Команда» Тогда
…
Подробное описание «программного» изменения формы – это тема для отдельной статьи.
Кратко опишу возможные изменения форм объектов с использованием функционала модификации конфигурации:
- Изменение свойств типовых элементов формы.
- Вывод на форме новых элементов по данным объекта (реквизитов и табличных частей, добавленных в типовую конфигурацию).
- Добавление новых реквизитов формы.
- Добавление обработчиков событий для новых элементов формы.
- Добавление и переопределение обработчиков событий типовых элементов формы.
- Замена на форме типовых элементов на «свои».
- Добавление и переопределение обработчиков событий самой формы.
Для переопределения существующего обработчика события формы и ее элемента можно сначала выполнить типовой обработчик события, потом дополнительную процедуру обработки события, например:
Добавлять новые или переопределять существующие обработчики событий формы и ее элементов, к сожалению, сейчас возможно только в модуле самой формы объекта.
Для оптимизации программного кода в конце модуля формы можно добавить «свою» область со структурой областей, аналогичной типовой структуре модуля формы.
Т.е. все добавленные процедуры и функции будут находиться в одной области и при обновлении релиза конфигурации их будет легко перенести.
Ограничения использования этого функционала:
- В случаях, когда требуется кардинальное изменение формы объекта, рекомендуется создать новую форму и назначить ее основной.
- Не во всех формах добавлена поддержка этого функционала, но при необходимости в этих формах можно самостоятельно добавить вызов функционала.
Возможно, что в следующих релизах возможности этого функционала будут расширяться.
Comments
So empty here ... leave a comment!