Особенности объединения модулей
Установка соответствий
Объединение модулей в 1С:Предприятии 8 производится по процедурам. Соответствия между процедурами устанавливаются автоматически, но могут быть изменены вручную. Рассмотрим правила автоматического поиска соответствий.
Программный модуль в 1С:Предприятии 8 состоит из трех разделов:
- раздел объявления переменных;
- раздел процедур и функций;
- раздел основной программы.
Разделы объявления переменных и основной программы сопоставляются с соответствующими разделами другого модуля. Это соответствие не может быть изменено. Процедуры и функции сопоставляются по именам, однако процедура автоматически не сопоставляется с функцией, даже если имеет одинаковое имя.
Для ручного изменения соответствий между процедурами и функциями следует установить для модуля правило объединения "Объединять с приоритетом...", после чего появится кнопка детальной настройки. В окне настройки, помимо изменения соответствий, можно задать правило объединения для каждой процедуры и увидеть предварительный результат будущего объединенного модуля.
Объединение модулей в процессе обновления конфигурации
Автоматически правило "Объединять..." при обновлении конфигурации никогда не выставляется. Пользователь может установить его вручную. При этом следует обратить внимание на следующие моменты:
- Пользователь.
Проверить настройку соответствия процедур и функций. Если потребуется, произвести ручную установку. Это особенно важно, если в процессе редактирования модуля поставщика были изменены названия процедур или функций. Следует помнить, что объединение модулей в любом случае не является полностью автоматизированным процессом и требует ручной доработки.
- Поставщик.
Следует обратить внимание на следующую возможную проблему. В новом релизе тиражной конфигурации экспортируемая функция была перенесена из одного общего модуля в другой. Если пользователь редактировал эти модули и выбрал для них правило объединения "Объединять...", то перенесенная процедура после обновления, возможно, окажется в обоих модулях, что нарушит работоспособность конфигурации. Так же следует обратить внимание на описанную выше особенность сопоставления процедуры и функции. В связи с чем можно дать следующие рекомендации при разработке тиражных решений:
- По возможности, избегать переноса экспортируемых процедур и функций между общими модулями. Если такая необходимость возникла, при переносе следует переименовать процедуру.
- По возможности, избегать замены процедуры на функцию и наоборот. Если такая необходимость возникла, процедуру так же следует переименовать.