Pull to refresh

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

Level of difficultyEasy

Привет!

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

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

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

Открыть нужный Вид документа, открыть пункт Настройки обработки, выбрать нужный этап обработки и добавить в проверку заполнения код, который указан ниже
Открыть нужный Вид документа, открыть пункт Настройки обработки, выбрать нужный этап обработки и добавить в проверку заполнения код, который указан ниже

Сам код проверки, где, при необходимости, можно изменить проверяемое расширение файла:

Документ = Предмет.Ссылка;
Запрос = Новый Запрос;

Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Файлы.ВладелецФайла КАК ВладелецФайла,
| Файлы.ТекущаяВерсияРасширение КАК ТекущаяВерсияРасширение
|ИЗ
| Справочник.Файлы КАК Файлы
|ГДЕ
| Файлы.ТекущаяВерсияРасширение = &ТекущаяВерсияРасширение
| И Файлы.ВладелецФайла = &Документ";

Запрос.УстановитьПараметр("ТекущаяВерсияРасширение", "pdf");
Запрос.УстановитьПараметр("Документ", Документ);
РЗ = Запрос.Выполнить().Выгрузить();

Если РЗ.Количество() > 0 Тогда
	Результат = Истина;
Иначе
	Результат = Ложь;
КонецЕсли;

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.