Передача данных контекста через массив объектов

Понадобилось передавать заданные пользователем параметры вглубь обработки «Печать ценников».

К сожалению, болезнь 1С — обрезание контекста. Часто нужные данные сложно передать.

Вот и тут, стек выглядел так:

И вставить дополнительные данные можно было только в МассивОбъектов.

Процедура УстановитьДанныеПлощадки(МассивОбъектов, ВыбПлощадка, ВыбКонтрагент) Экспорт
	//Только не на первое место вставляем, там основной документ!!!!
	//Осипов 25.08.1901
	

	//Преобразовываем к произвольному типу
	//МассивОбъектов.ТипЗначения  = Новый ОписаниеТипов("Неопределено"); //Произвольный тип 
	
	//Очищаем старое
	Всего = МассивОбъектов.Количество();
	Для Инд = 1 По Всего Цикл
		Эл = МассивОбъектов[Всего - Инд];
		
		Если Эл.Представление = "ЭтоПлощадка" ИЛИ Эл.Представление = "ЭтоКонтрагент" Тогда
			МассивОбъектов.Удалить(Эл);
		КонецЕсли;
	КонецЦикла;      
	
	
	//Заполняем новое
	МассивОбъектов.Добавить(ВыбПлощадка, "ЭтоПлощадка");
	
	МассивОбъектов.Добавить(ВыбКонтрагент, "ЭтоКонтрагент");
	
КонецПроцедуры

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

Можно было использовать один элемент списка с типом «Структура», но я как-то в одном месте запутался и использовал Вставить вместо Добавить в список значений. Получал ошибку типов и подумал, что структуру нельзя помещать в список. Потом разобрался, но код уже оставил такой.

В общем, 1С надо что-то делать с этим обрезанием контекста, иначе доработки становятся сложными…

Среда: УНФ 3.0.12.114 Объем: 1 час.