Создать и прикрепить файл из кода base64
У нас есть присланный файл в формате base64. Наша задача загрузить его в 1С Документооборот к документу в качестве вложения
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
&НаСервере Процедура СоздатьPDFизBase64(СтрокаBase64, Док) // Проверка входящих параметров Если ЗначениеЗаполнено(СтрокаBase64) И ЗначениеЗаполнено(Док) Тогда // Преобразование Base64 в двоичные данные ДвоичныеДанные = Base64Значение(СтрокаBase64); // Формирование пути сохранения файла ПутьСохранения = "\\server\Docum\" + Формат(ТекущаяДата(), "ДФ=ггггММдд") + "\"; // Проверка существования каталога, при необходимости создание Если Не КаталогСуществует(ПутьСохранения) Тогда Попытка СоздатьКаталог(ПутьСохранения); Исключение // Обработка ошибки создания каталога Сообщить("Ошибка создания каталога: " + ОписаниеОшибки()); Возврат; // Завершаем процедуру, если не удалось создать каталог КонецПопытки; КонецЕсли; // Формирование полного имени файла ПолноеИмяФайла = ПутьСохранения + "ПУ-" + Док.РегистрационныйНомер + ".pdf"; // Запись двоичных данных в файл Попытка ДвоичныеДанные.Записать(ПолноеИмяФайла); Исключение // Обработка ошибки записи файла Сообщить("Ошибка записи файла: " + ОписаниеОшибки()); Возврат; // Завершаем процедуру, если не удалось записать файл КонецПопытки; // Создание записи в справочнике "Файлы" и регистрах (используем типовую функцию) Попытка РаботаСФайламиВнешнийВызов.СоздатьФайлНаОсновеФайлаНаДиске(Док.Ссылка, ПолноеИмяФайла); Исключение // Обработка ошибки создания файла в 1С Сообщить("Ошибка создания файла в 1С: " + ОписаниеОшибки()); // Можно здесь предусмотреть удаление файла с диска, если он был успешно создан, но не удалось добавить в 1С // УдалитьФайлы(ПолноеИмяФайла); КонецПопытки; Иначе // Обработка некорректных входных параметров Сообщить("Ошибка: Не передана строка Base64 или ссылка на документ."); КонецЕсли; КонецПроцедуры |


Комментарии закрыты