Добрый день, коллеги!
Возможно вопрос яйца выеденного не стоит, но уже всю голову сломал.
Задача передать файл, прикрепленный к документу в смарт-процесс.
Исходя из документации по REST и ответу техподдержки нужно передать в поле типа "Файл" структуру вида:
Код |
---|
"fields": {
"ufCrm_1722358110":
[
"myNewFile.pdf",
"...base64_encoded_file_content..."
]
} |
где первая часть - название файла, вторая - тело файла в base64.
Так вот - как ее передать, чтобы коннектор правильно ее отдал Б24? На данный момент, как не передавай строку в поле, Б24 ее всю воспринимает как тело файла и создает в поле "Файл" файл с названием вида "57zbxloyyglsn7euyzhmcdic8i08srzd".
Вот таким кодом файл передается:
Код |
---|
ПрисоединенныеФайлы = Новый Массив;
РаботаСФайлами.ЗаполнитьПрисоединенныеФайлыКОбъекту([Объект1С].Ссылка, ПрисоединенныеФайлы);
НомерФайла= 0;
Счетчик= 0;
СтрокаНазвание= "";
Вложение= "";
Если ПрисоединенныеФайлы.Количество() > 0 Тогда
Для Счетчик = 0 По ПрисоединенныеФайлы.Количество() Цикл
Если Счетчик = НомерФайла Тогда
Если ПрисоединенныеФайлы[НомерФайла].ПометкаУдаления=Ложь Тогда
ДвоичныеДанныеФайла = РаботаСФайлами.ДвоичныеДанныеФайла(ПрисоединенныеФайлы[НомерФайла]);
СтрокаBase64 = Base64Строка(ДвоичныеДанныеФайла);
СтрокаBase64 = СтрЗаменить(СтрокаBase64, Символы.ВК, "");
СтрокаBase64 = СтрЗаменить(СтрокаBase64, Символы.ПС, "");
СтрокаНазвание = ПрисоединенныеФайлы[НомерФайла].Наименование + "." + ПрисоединенныеФайлы[НомерФайла].Расширение;
Вложение = "[" + """" + СтрокаНазвание + """" + "," + """" + СтрокаBase64 + """" + "]";
Иначе
НомерФайла= НомерФайла + 1;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
[Результат] = Вложение;
|