Каталог решений - Автоприкрепление документов в ДИАДОК

Автоприкрепление документов в ДИАДОК

Автоприкрепление документов в ДИАДОК

В наличии

«А можно, чтоб подписанные контрагентом документы сами в присоединённые файлы добавлялись?»
Ответ сотрудников Диадок: можно. С вас 53 000 (с год назад) или ну хотя бы 30 000 (на днях) … ага, деньги вы заплатили … и полная база со всеми доступами, иначе мы пальцем не пошевелим!»
Мой ответ: можно. Забирайте.

Категория:

Описание

Процедуры предназначены для добавления в модуль ФормаУправляемая того модуля Диадок, который внешняя обработка (и для лишения дохода тех, кто сначала требует оплатить счёт, а потом ставит условия вразрез с политикой конфиденциальности). Тестировалось на модуле 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. О! десять дней спустя "ничего не будем делать без полного доступа к вашей базе" — "вы можете подписать у менеджера соглашение о неразглашении". С этого начинать надо было… а теперь — пользуйтесь на здоровье!

has been added to your cart:
Оформление заказа