Досить зручним механізмом розширення функціоналу в системі BAS для форм документів і елементів довідників є зовнішні обробки. Їх можна підключити як додаткові команди у формах об’єктів. Підключення і використання зовнішньої обробки реалізується за допомогою «Бібліотеки стандартних підсистем» і довідника «Додаткові звіти й обробки». Перевага цього механізму в тому, що він не потребує доопрацювання конфігурації. Це корисно при необхідності автоматизації рутинних дій, додаткової перевірки даних об’єктів або їх заповнення.
Розглянемо цей механізм на прикладі додавання команди для заповнення кількості товарів у табличній частині документу «Переміщення товарів». У цьому прикладі не розглядатимемо логіку розрахунку кількості, а зосередимось на механізмі підключення обробки як додаткової команди в документ.
Для реалізації механізму створимо нову обробку без форм, оскільки вся логіка буде виконуватись в модулі обробки. В цьому модулі необхідно створити експортну функцію «СведенияОВнешнейОбработке()» і процедуру «ВыполнитьКоманду()». Саме вони визначають набір параметрів зовнішньої обробки і її поведінку в системі. Модуль об’єкту повинен містити наступний (мінімальний) код:

Де в функції «СведенияОВнешнейОбработке()» через виклик функції спільного модуля «ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке()» ми отримуємо шаблон відомостей (параметрів) реєстрації обробки для подальшого їх заповнення. Детальніше про всі доступні параметри можна дізнатися безпосередньо з коментарів цього спільного модуля.
![]()
Для цієї функції повинен бути вказаний обов’язковий параметр – версія бібліотеки стандартних підсистем. Вона повинна відповідати версії, що використовується у конфігурації. Переглянути її можна в регістрі відомостей «Версії підсистем» → «СтандартныеПодсистемы»:

В структурі параметрів можна умовно виділити два блоки. Перший містить загальні параметри для підключення: «Наименование», «Информация», «Версия». А також параметри, що визначають тип і призначення обробки, де:
![]()
вказує, що обробка призначена для заповнення (зміни) даних об’єкта. А рядок:
![]()
визначає в яких саме документах і довідниках буде доступна додаткова команда. У нашому випадку вона додається до документу «Переміщення товарів».
Другий блок параметрів відповідає за опис команди. Саме тут визначається, як вона буде відображатись у формі. Так, починаючи з рядка:

створюється набір відомостей команди і визначаються загальні параметри: «Представление» і «Идентификатор». А також параметр, що визначає тип команди:
![]()
Процедура «ВыполнитьКоманду()» відповідає за виконання основного функціоналу обробки – заповнення даних документу. Параметром, що надає доступ до форми, з якої і викликається команда, є параметр – «ПараметрыВыполнения»:

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

Після збереження, команда стане доступною в документі «Переміщення товарів»:
