1. Как создать расширение конфигурации
2. Как перенести метаданные для нашего расширения
3. Добавляем код
1. Как создать расширение конфигурации.
1с расширение конфигурации как работать? Все очень просто, первым делом необходимо понять, какой функционал из расширения можно использовать. Разделить можно на две части:• Совместимость с 8.3.6 по 8.3.8 – 1с расширения конфигурации работают только с модулями форм, отчетов, обработок, ролями и подсистемами.
• Совместимость с 8.3.9 и выше – в расширения добавляется еще работа с модулями объектов, менеджерами объектов и общие модули (не все).
Совместимость находится в свойствах конфигурации
Создаем новое расширение в конфигураторе в окне «Расширения конфигурации», меню Конфигурация -> Расширения конфигурации.
Для полноценной работы с расширением сразу рекомендую снять безопасный режим с расширения
2. Как перенести метаданные для нашего расширения
Расширение конфигурации 1с 8.3 имеет функционал переноса метаданных из основной конфигурации в свою. Это необходимо, чтобы расширение видело те объекты основной конфигурации, с которыми будет работать, и при необходимости будет проверять при подключении.Добавление метаданных происходит следующим образом
В расширение конфигурации общий модуль можно добавить таким же самым способом и работать с ним как с модулем объекта.
3. Добавляем код
1с работа с расширениями конфигурации не может обойтись без строчки кода. Для этого мы поставим две задачи, которые будем решать с помощью расширений.Первая доработка будет изменять форму документа, а именно – будет отображать задолженность по договору.
Добавляем в расширении в форме документа вызовы на процедуры «ПриСозданииНаСервере» и «КонтрагентПриИзменении». Для обоих случаев тип вызова выбираем «после».
Дописываем код на получение остатков и в итоге получаем в форме следующие процедуры.
Листинг модуля формы:
Результат работы с и без расширения:
Вторая доработка требует неким образом модифицировать движения документа при проведении. Для примера в регистре накопления «Расчеты с контрагентом» поменяем все суммы на цифру 1.
Расширение конфигурации 8.3 может использовать три типа вызова: перед, после, вместо. В нашем случае будет использоваться модуль объекта документа. Для решения задачи достаточно было бы добавить вызов процедуры «ОбработкаПроведения» с типом вызова «после». Но в документе «Реализация товаров и услуг» используется принудительная запись, говорящая нам о том, что дальнейшие изменения с движением документа не запишутся, если их принудительно не записать. Но выберем другое решение, полностью заменим процедуру «ОбработкаПроведения».
Создаем вызов процедуры «ОбработкаПроведения» с типом вызова «вместо».
Копируем полностью код основной процедуры и перед принудительной записью добавляем наши строки корректировки движения.
Листинг модуля объекта:
Данное решение имеет очень большой минус – это полностью копирование кода из основной процедуры. Но данный пример наглядно показывает способ работы по полному замещению основной процедуры на процедуру из расширения.
Результат работы с и без расширения:
Как результат расширения неплохо помогают с задачей изменить функционал, но не снимать конфигурацию с поддержки.
Пример расширения конфигурации можно скачать ЗДЕСЬ.
Евгений Аверкин,
разработчик компании ООО “Кодерлайн”