Обработчик позволяет без изменения конфигурации дополнить функционал по регистрации и автозаполнению файла по шаблону.
Может рассматриваться вообще как пример использования функционала бизнес-событий 1С:Документооборота.
1. Создаем дополнительный обработчик "Автоматическая регистрация при утверждении"
// Регистрация
Задача = Событие.Источник;
Выполнять = Ложь;
Если ТипЗнч(Задача.БизнесПроцесс) = Тип("БизнесПроцессСсылка.Утверждение") Тогда
Если Задача.БизнесПроцесс.РезультатУтверждения = Перечисления.РезультатыУтверждения.Утверждено Тогда
Если Задача.Предмет <> Неопределено Тогда
Объект = Задача.Предмет.ПолучитьОбъект();
Если ТипЗнч(Объект.Ссылка) = Тип("СправочникСсылка.ВнутренниеДокументы") Тогда
Если (СокрЛП(Объект.ВидДокумента) = "Служебная записка") ИЛИ
(СокрЛП(Объект.ВидДокумента) = "Служебная записка на оплату") Тогда
Нумератор = Нумерация.ПолучитьНумераторДокумента(Объект.ВидДокумента);
Если Не ЗначениеЗаполнено(Объект.РегистрационныйНомер) Тогда
Если ЗначениеЗаполнено(Нумератор) Тогда
//Атоматическая регистрация возможна
//еще не зарегистрирован
Выполнять = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Выполнять Тогда
ТекущийПользователь = ОбщегоНазначения.ТекущийПользователь();
Объект.ДатаРегистрации = ТекущаяДатаСеанса();
// формируем числовой номер
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("ВидДокумента", Объект.ВидДокумента);
СтруктураПараметров.Вставить("Организация", Объект.Организация);
СтруктураПараметров.Вставить("ДатаРегистрации", Объект.ДатаРегистрации);
СтруктураПараметров.Вставить("Ссылка", Объект.Ссылка);
Нумерация.СформироватьЧисловойНомерДокумента(СтруктураПараметров, Объект.ЧисловойНомер);
// формируем строковый номер
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("ЧисловойНомер", Объект.ЧисловойНомер);
СтруктураПараметров.Вставить("ДатаРегистрации", Объект.ДатаРегистрации);
СтруктураПараметров.Вставить("ВидДокумента", Объект.ВидДокумента);
СтруктураПараметров.Вставить("Организация", Объект.Организация);
СтруктураПараметров.Вставить("НоменклатураДел", Объект.НоменклатураДел);
СтруктураПараметров.Вставить("ВопросДеятельности", Объект.ВопросДеятельности);
СтруктураПараметров.Вставить("Подразделение", Объект.Подразделение);
СтруктураПараметров.Вставить("Корреспондент", Объект.Корреспондент);
СтруктураПараметров.Вставить("Ссылка", Объект.Ссылка);
ОписанияОшибок = Новый СписокЗначений;
Нумерация.СформироватьСтроковыйНомерДокумента(СтруктураПараметров, Объект.РегистрационныйНомер, ОписанияОшибок);
Для Каждого ОписаниеОшибки Из ОписанияОшибок Цикл
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ОписаниеОшибки.Представление,,
ОписаниеОшибки.Значение,
"Объект");
КонецЦикла;
Если ЗначениеЗаполнено(Объект.РегистрационныйНомер) Тогда // успешно сформирован номер
Объект.Зарегистрировал = ТекущийПользователь;
Иначе
//Объект.ДатаРегистрации = '00010101';
КонецЕсли;
Делопроизводство.ЗаписатьСостояниеДокумента(Задача.Предмет, ТекущаяДатаСеанса(), Перечисления.СостоянияДокументов.Зарегистрирован, ТекущийПользователь);
Объект.Записать();
// автозаполнение файлов
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Файлы.Ссылка
|ИЗ
| Справочник.Файлы КАК Файлы
|ГДЕ
| Файлы.ВладелецФайла = &ВладелецФайла
| И Файлы.ШаблонОснованиеДляСоздания <> ЗНАЧЕНИЕ(Справочник.Файлы.ПустаяСсылка)
| И Файлы.Редактирует = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
| И НЕ Файлы.ПометкаУдаления";
Запрос.УстановитьПараметр("ВладелецФайла", Объект.Ссылка);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДанныеВыполнения = АвтозаполнениеШаблоновФайловКлиентСервер.ЗаполнитьПоляФайлаДаннымиВладельца(
Истина, Выборка.Ссылка, Истина);
КонецЦикла;
КонецЕсли;
КонецЕсли;
Дорабатываем код согласно используемым Вами документам.
2. На вкладке подписки добавляем новую подписку с видом события "Задача выполнена" и этим обработчиком.
3. Включаем обработчик и проверяем по справочнику Произошедшие бизнес-события, документам, отсутствию ошибок.
Фоновое задание "Обработка произошедших бизнес-событий" должна работать.
Работает на Документооборот 1.2.8.1 Корп. Думаю должно работать и на других версиях.