Answer the question
In order to leave comments, you need to log in
How to write json file to AttachedFiles?
How to generate a JSON file and place it in Customer Order Attached Files?
Answer the question
In order to leave comments, you need to log in
https://wonderland.v8.1c.ru/blog/sredstva-raboty-s...
I sent files like this. as an addition
#Если не ВебКлиент Тогда
ИмяКаталога = КаталогВременныхФайлов();
//
Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
ИмяФайлаОтправки = КаталогВременныхФайлов() + "post.txt";
КодироватьФайл = Ложь;
//Определяем массив для процедуры ОбъединитьФайлы
МассивФайловДляОбъединения = Новый Массив;
Для Каждого СтрокаПараметров Из СписокФайл Цикл
ИмяФайлаДляЗагрузки = СтрокаПараметров.Значение;
ИмяФайла = СтрЗаменить(ИмяФайлаДляЗагрузки,ИмяКаталога,"");
ФайлОтправкиНачало = Новый ЗаписьТекста(ИмяФайлаОтправкиНачало, КодировкаТекста.ANSI, Символы.ПС, Ложь);
//Определяем раздел двоичных данных
ФайлОтправкиНачало.ЗаписатьСтроку("--" + Boundary);
ФайлОтправкиНачало.ЗаписатьСтроку("Content-Disposition: form-data; name=""datafile""; filename="""+Строка(ИмяФайла)+"""");
ФайлОтправкиНачало.ЗаписатьСтроку("Content-Type: application/x-octet-stream");
ФайлОтправкиНачало.ЗаписатьСтроку("");
ФайлОтправкиНачало.Закрыть();
МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиНачало);
ИмяФайлаДляЗагрузкиВременный = ПолучитьИмяВременногоФайла("txt");
КопироватьФайл(ИмяФайлаДляЗагрузки, ИмяФайлаДляЗагрузкиВременный);
МассивФайловДляОбъединения.Добавить(ИмяФайлаДляЗагрузкиВременный);
//Формируем конечный фрагмент файла POST-запроса
ИмяФайлаОтправкиКонец = ПолучитьИмяВременногоФайла("txt");
ФайлОтправкиКонец = Новый ЗаписьТекста(ИмяФайлаОтправкиКонец, КодировкаТекста.ANSI, Символы.ПС, Ложь);
//Завершение раздела двоичных данных
ФайлОтправкиКонец.ЗаписатьСтроку("");
ФайлОтправкиКонец.ЗаписатьСтроку("--" + Boundary);
ФайлОтправкиКонец.ЗаписатьСтроку("--" + Boundary + "--");
ФайлОтправкиКонец.Закрыть();
МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец);
КонецЦикла;
Если МассивФайловДляОбъединения.Количество() Тогда
ОбъединитьФайлы(МассивФайловДляОбъединения, ИмяФайлаОтправки);
Сервер = СайтОтправки;
Ресурс = СайтРесурс; //"audit/api/plugin";
//Ресурс = "?utm_campaign=1с_reports";
ТипСоединения = Новый ЗащищенноеСоединениеOpenSSL(Неопределено,Неопределено);
HTTPConnect = Новый HTTPСоединение(Сервер,,,,,5,ТипСоединения);
HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
//HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary);
HTTPЗапрос.Заголовки.Вставить("Authorization", "Bearer "+ СокрЛП(ЭтотОбъект.Майл));
//Укажем длину POST-запроса Content-Length
ФайлОтправки = Новый Файл(ИмяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
HTTPЗапрос.Заголовки.Вставить("Content-Length", РазмерФайлаОтправки);
HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаОтправки);
Попытка
ОтветСервера = HTTPConnect.ОтправитьДляОбработки(HTTPЗапрос);
Philosophical question...
>>How to generate a JSON file...
JSON on the latest versions of the platform can be generated using the standard WriteJSON() function. In older versions, you need to add your own library.
>>How to generate a JSON file
There are many options. You can use the WriteJSON object, you can bend the text into a TextDocument object, you can generate and execute a system command to output the desired text with the direction of the standard output stream to the desired file. There are other options....
>>put it in the Customer's OrderAttachedFiles
Judging by the name of the object, this is a BSP-based configuration. This means that in addition to the elements Client Order Attached Files, there must also be a register of information in which data is stored in the context of this element. The data can be stored in a value storage attribute (immediately in the database) or as a link to an external storage. You need to analyze how files are stored on your system.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question