0

Как создать массив структур?

Массив в 1С:Предприятие 8 позволяет хранить данные произвольного типа, а структуры — хранить и получать значения по именованным полям. Сочетание этих коллекций облегчает передачу массивов однотипных данных с клиента на сервер и обратно. Например, можно создать массив структур — массив,  элементами которого является объект типа Структура.

Давайте подробнее рассмотрим пример работы с такой структурой хранения данных.

Предположим, стоит задача получить реквизиты некоторых объектов с сервера. Для этого нужно передать на сервер массив ссылок на эти объекты, а с сервера получить  массив структур.

&НаСервереБезКонтекста
Функция ПолучитьПоляОбъектов(МассивСсылок)
	
	ВыходнойМассив = Новый Массив;
	Запрос = Новый Запрос("ВЫБРАТЬ Код,Наименование,ПометкаУдаления ИЗ Справочник.Контрагенты ГДЕ Ссылка В (&МассивСсылок)");
	Запрос.Параметры.Вставить("МассивСсылок", МассивСсылок);
	РезЗапроса = Запрос.Выполнить();
	Если НЕ РезЗапроса.Пустой() Тогда
		ВыборкаЗапр = РезЗапроса.Выбрать();
		Пока ВыборкаЗапр.Следующий() Цикл
			Элт = Новый Структура("Код,Наименование,ПометкаУдаления");
			Элт.Код = ВыборкаЗапр.Код;	
			Элт.Наименование = ВыборкаЗапр.Наименование;
			Элт.ПометкаУдаления = ВыборкаЗапр.ПометкаУдаления;
			ВыходнойМассив.Добавить(Элт);
		КонецЦикла; 
	КонецЕсли;
	
	Возврат ВыходнойМассив;
	
КонецФункции//ПолучитьПоляОбъектов()

&НаКлиенте
Процедура ПоказатьДанные()
	...
	МассивСтруктур = ПолучитьПоляОбъектов(МассивСсылок);
	Для Каждого Элт Из МассивСтруктур Цикл
		Сообщить(Элт.Код + " " + Элт.Наименование + " " + ?(Элт.ПометкаУдаления, "помечен на удаление", ""));
	КонецЦикла;

КонецПроцедуры

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *