Как стать автором
Обновить

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

Уровень сложностиПростой

Привет!

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

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

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

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

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

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

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

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

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

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.