Достаточно удобным механизмом расширения функционала в системе BAS для форм документов и элементов справочников является внешняя обработка . Их можно подключить как дополнительные команды в формах объектов. Подключение и использование внешней обработки осуществляется с помощью «Библиотеки стандартных подсистем» и справочника «Дополнительные отчеты и обработки». Преимущество этого механизма в том, что он не нуждается в доработке конфигурации. Это полезно при необходимости автоматизации рутинных действий, дополнительной проверки данных объектов или их заполнении.
Рассмотрим этот механизм на примере добавления команды для заполнения количества товаров в табличной части документа <Перемещение товаров». В этом примере не будем рассматривать логику расчета количества, а сосредоточимся на механизме подключения обработки в качестве дополнительной команды в документе.
Для реализации механизма создадим новую обработку без форм, поскольку вся логика будет выполняться в модуле обработки. В этом модуле необходимо создать экспортную функцию «Сведения ОВнешней Обработке()» и процедуру «Выполнить Команду()». Именно они определяют набор параметров наружной обработки и ее поведение в системе. Модуль объекта должен содержать следующий (минимальный) код:
71
Где в ¦функции «СведенияВнешнейОбработке()» по вызову функции общего модуля «ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке()» мы получаем шаблон сведений (параметров) регистрации обработки для последующего их заполнения. Более подробно обо всех доступных параметрах можно узнать непосредственно из комментариев этого общего модуля.

Для этой функции должен быть указан обязательный параметр – версия библиотеки стандартных подсистем. Она должна соответствовать версии, используемой в конфигурации. Просмотреть ее можно в регистре сведений «Версии подсистем» → «Стандартные Подсистемы»:

В структуре параметров можно условно выделить два блока. Первый содержит общие параметры для подключения: «Наименование«, «Информация«, «Версия«. А также параметры, определяющие тип и назначение обработки, где:

указывает, что обработка предназначена для заполнения (изменения) данных объекта. А строчка:

определяет в каких документах и справочниках будет доступна дополнительная команда. В нашем случае она добавляется в документ Перемещение товаров».
Второй блок параметров отвечает за описание команды. Именно здесь определяется, как она будет отображаться в форме. Да, начиная со строки:

создается набор сведений команды и определяются общие параметры: «Представление» и «Идентификатор». А также параметр, определяющий тип команды:

Процедура ВыполнитьКоманду()» отвечает за выполнение основного функционала обработки – заполнение данных документа. Параметром, предоставляющим доступ к форме, из которой и вызывается команда, является параметр ПараметрыВыполнения:

В этом примере выполняется простой обход табличной части, в котором для каждой строки устанавливается значение поля «Количество». Значение задано фиксированным (10) для наглядности и без реализации сложной бизнес-логики.
После создания обработки необходимо добавить в справочник «Дополнительные отчеты и обработки»:

После сохранения команда станет доступна в документе «Перемещение товаров»:
