September 9, 2023

1С Документооборот: Проверка вложений на расширение файлов

Привет!
Один из моих клиентов использует документооборот в процессах согласования договоров, где на определенном этапе инициатор договора должен организовать подписание договора с контрагентом, а скан подписанного с двух сторон документа приложить в 1С Документооборот. При этом корпоративным регламентом было определено, что скан документа должен быть строго в pdf. Когда договор подписывается ЭЦП, то проблем не было, так как при сохранении подписанного документа из используемой моим клиентом системы Диадок файл и так сохранялся в pdf, а вот когда подписание осуществлялось на бумажном носителе, то с вложениями была вакханалия - прикладывали всё: исходный Word, несколько jpg, tiff, Word со сканом страниц внутри.

Задача с проверкой на расширение вложения решается легко, без доработки системы, но с написанием небольшого кода и вставки кода на этап проверки документа. Подробности как это сделать я изложил в видео -

Тут продублирую место привязки кода и сам код.

Проверка задается для Вида документа, в настройки обработки на нужном этапе:

1С Документооборот: Проверка вложений на расширение файлов

Алгоритм проверки:

Документ = Предмет.Ссылка;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Файлы.ВладелецФайла КАК ВладелецФайла,
| Файлы.ТекущаяВерсияРасширение КАК ТекущаяВерсияРасширение
|ИЗ
| Справочник.Файлы КАК Файлы
|ГДЕ
| Файлы.ТекущаяВерсияРасширение = &ТекущаяВерсияРасширение
| И Файлы.ВладелецФайла = &Документ";
Запрос.УстановитьПараметр("ТекущаяВерсияРасширение", "pdf");
Запрос.УстановитьПараметр("Документ", Документ);
РЗ = Запрос.Выполнить().Выгрузить();
Если РЗ.Количество() > 0 Тогда
	Результат = Истина;
Иначе
	Результат = Ложь;
КонецЕсли;