При эксплуатации типовых решений, таких как 1С:Бухгалтерия 3.0, регулярно возникает необходимость добавить новые реквизиты, изменить логику проведения документов или создать дополнительные печатные формы. Главная задача при этом — сохранить возможность выполнения автоматических типовых обновлений без ручного слияния конфигураций при каждом релизе.
Рассмотрим основной механизм платформы «1С:Предприятие 8.3», предназначенный для решения этой задачи, а также технические нюансы и альтернативные варианты доработки.
Механизм доработки типовой конфигурации без изменения основной конфигурации поставщика называется Расширениями конфигурации. Расширение представляет собой отдельный модуль, подключаемый поверх основной программы, который модифицирует поведение системы или добавляет новые объекты без снятия основной базы с поддержки.
Разберем ключевые особенности и требования к платформе при работе с расширениями:
Режим совместимости расширения должно строго совпадать со значением режима совместимости самой типовой конфигурации. Если у типового решения режим совместимости установлен ниже 8.3.14, платформа не разрешит добавлять новые объекты данных через расширение.Проанализируем технические тонкости работы с логикой и правами при использовании расширений:
Безопасный режим в свойствах самого расширения и в параметрах подключения в режиме «1С:Предприятие».&Перед, &После, &Вместо и &ИзменениеИОбработка.&Вместо. Если разработчик типового решения в очередном релизе изменит алгоритм перехваченного метода, расширение продолжит выполнять устаревший код, что приведет к логическим ошибкам. Безопаснее использовать перехватчики &Перед и &После.Если режим совместимости базы не позволяет использовать расширения данных или требуемые правки невелики, рассмотрим альтернативные варианты:
Для добавления пользовательских полей в документы и справочники можно использовать функционал Дополнительные реквизиты и сведения прямо в режиме «1С:Предприятие». Для печатных форм и алгоритмов заполнения можно применять внешние отчеты и обработки.
Если необходимо добавить новый регистр или реквизит, но режим совместимости не позволяет сделать это в расширении, включают возможность изменения только для конкретных объектов структуры данных в основной конфигурации (не снимая всю базу с поддержки). При этом формы, программные модули и обработчики выносят в расширение. Такой подход минимизирует трудозатраты при последующих обновлениях.