Процедуры предназначены для добавления в модуль ФормаУправляемая того модуля Диадок, который внешняя обработка (и для лишения дохода тех, кто сначала требует оплатить счёт, а потом ставит условия вразрез с политикой конфиденциальности). Тестировалось на модуле 4.28.1, БП 3.0.130.22.
Что умеют:
Автоматом прикреплять pdf по всем документам, которые считаны с сервера, с отбором (по умолчанию) по статусу "Подписан контрагентом", а дальше как сами захотите.
Используют процедуры модуля "Ядро", то есть надо послеживать за их синтаксисом.
Ориентируются на СписокДокументов в обработке, но можно и передать в функцию аналогичную таблицу.
Вызов: втыкаете ПроверитьОбновитьПрисоединенныеФайлы() туда, где вам нравится. Я воткнула после обновления списка документов. Всё можно сделать оптимальнее, особенно если вы узнаете, как достучаться до API Диадока таким образом, чтобы получать таблицу только свежеподписанных.
Желающие получить готовую доработку: выложить на ИС диадоковский модуль я всё равно не могу, ибо авторские права. Но воткнуть уже известное всяко дешевле!
Главная процедура (для затравки - а сапиенти и без прочего сат):
&НаСервере
Процедура ПроверитьОбновитьПрисоединенныеФайлы()
Для каждого стросп из Объект.СписокДокументов Цикл
Если не стросп.Статус="Подписан контрагентом" Тогда Продолжить; КонецЕсли;
Если не ЗначениеЗаполнено(стросп.Документ) Тогда Продолжить; КонецЕсли;
//Тут можно добавить условия - по виду объектов, ещё по чему-то
ИмяФайлаПечатнойФормы = стросп.ПредставлениеДокументаДиадок + " - " + стросп.DocumentId + ".pdf";
ВладелецФайла=стросп.Документ;
ПереопределитьВладельцаФайла(ВладелецФайла); //здесь мы можем изменить владельца как нам угодно
Если ПрикрепленныйФайлСуществует(ВладелецФайла,ИмяФайлаПечатнойФормы) Тогда Продолжить; КонецЕсли; //не обновляем
ОписаниеФайла="подписал документ и завершил документооборот";
Документ = ДокументИзДанныхСтрокиТЧ(стросп); //вызов процедуры модуля той же ФормаУправляемая
ДвоичныеДанныеПечатнойФормы = Модуль_ЯдроНаСервере().Документы_ПечатнаяФормаСервераДиадок(Документ.Идентификаторы);
ПрисоединитьФайлПДФ(ВладелецФайла,ДвоичныеДанныеПечатнойФормы,ИмяФайлаПечатнойФормы,ОписаниеФайла);
КонецЦикла;
КонецПроцедуры
P.S. Кусок кода прикрепления файла через БСП честно упёрт отсюда: https://bv-dev.ru/1c-software-attachment-of-a-file-to-document/ - у меня был свой вызов, но чуть длиннее.
P.P.S. Возможно, проверка наличия присоединённого файла тоже оптимизируется, но пользователей уже устраивает, а премию ещё не дали.
P.P.P.S. Полагаю, в расширение оно втыкается примерно с той же степенью сложности, но - см.выше.
P.P.P.P.S. О! десять дней спустя "ничего не будем делать без полного доступа к вашей базе" - "вы можете подписать у менеджера соглашение о неразглашении". С этого начинать надо было... а теперь - пользуйтесь на здоровье!