Имя: Пароль:
1C
 
КД 3.0 какие типы можно передавать через AdditionalInfo ?
0 Бешеный заяц
 
29.08.24
10:05
Пытаюсь массив передать - ругается. Может массив перед помещением в AdditionalInfo преобразовать надо? но во что? В голову приходит только base64, но думаю это изврат. Или сам по себе подход "передача массива структур" не верен?

	ДополнительныеДанные = Новый Структура;
	МассивУпаковок = Новый Массив;   
	
	ПКО_УпаковкиЕдиницыИзмерения = ОбменДаннымиXDTOСервер.ПКОПоИмени(КомпонентыОбмена,"Справочник_Упаковки");
	
	Пока Выборка.Следующий() Цикл
		ДанныеПоПравилам =	ОбменДаннымиXDTOСервер.ДанныеXDTOИзДанныхИБ(КомпонентыОбмена, Выборка.Ссылка, ПКО_УпаковкиЕдиницыИзмерения); 
		МассивУпаковок.Добавить(ДанныеПоПравилам);
	КонецЦикла;	
	
	ДополнительныеДанные.Вставить("УпаковкиНоменклатуры",МассивУпаковок);
	ДанныеXDTO.Вставить("AdditionalInfo", ДополнительныеДанные);


Прокоментирую код, создаю массив, далее в цикле получаю нужные ссылки и преобразую их по правилу (ДанныеXDTOИзДанныхИБ), после чего помещаю в массив, далее этот массив помещаю в структуру и передаю в AdditionalInfo
1 CepeLLlka
 
29.08.24
09:11
(0)Ну а тип то какой у AdditionalInfo?
2 Бешеный заяц
 
29.08.24
09:32
(1) через AdditionalInfo структуру передают, а вот что внутри с труктуры может быть загадка, думал точно примитивы и массивы можно поместить
3 dmt
 
29.08.24
09:34
(0) в json
4 Бешеный заяц
 
29.08.24
09:36
(3) тоже вариант, еще вариант ЗначениеВСтрокуВнутр или в base64 но может есть более правильный штатный способ?
5 CepeLLlka
 
29.08.24
10:02
(4)Да какой штатный способ то? Если автоматом пакетХДТО не сериализует твой массив структур, то сериализуй его сам любым удобным тебе способом. По итогу то всё равно в ХМЛ будет строка записана. Чё париться то? :) Или там массив из 10000 строк?

Мне так вот думается
6 Бешеный заяц
 
29.08.24
10:15
(5) ок понял спасибо:-) думал есть более кошерный варианты предусмотренные кд3