Загрузка данных


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

	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	Шапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьСписокИзделийШапка = Макет.ПолучитьОбласть("СписокИзд");
	ОбластьСписокИзделий = Макет.ПолучитьОбласть("СписокИзд");
	ОбластьВсего = Макет.ПолучитьОбласть("Всего");
	ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
	
	ТабДок.Очистить();

	ВставлятьРазделительСтраниц = Ложь;
	Пока Выборка.Следующий() Цикл
		
		Если ВставлятьРазделительСтраниц Тогда
			ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;

		ТабДок.Вывести(ОбластьЗаголовок);

		Шапка.Параметры.Заполнить(Выборка);
		ТабДок.Вывести(Шапка, Выборка.Уровень());

		ТабДок.Вывести(ОбластьСписокИзделийШапка);
		
		ВыборкаСписокИзделий = Выборка.СписокИзделий.Выбрать();
		ИтогСумма = 0;
		
		Пока ВыборкаСписокИзделий.Следующий() Цикл
			ОбластьСписокИзделий.Параметры.Заполнить(ВыборкаСписокИзделий);
			ТабДок.Вывести(ОбластьСписокИзделий, ВыборкаСписокИзделий.Уровень());
			ИтогСумма = ИтогСумма + ВыборкаСписокИзделий.Сумма;
		КонецЦикла;

		ОбластьВсего.Параметры.ИтогСумма = ИтогСумма;
		ОбластьВсего.Параметры.НДС = ИтогСумма * 22 / 100;

		ВсегоНаимен = ВыборкаСписокИзделий.Количество();
		ОбластьПодвал.Параметры.ВсегоНаимен = ВсегоНаимен;
		ОбластьПодвал.Параметры.ИтогСумма = ИтогСумма;

		ФорматСтроки = "Л=ru_RU;ДП=Ложь";
		ПараметрПредмета = "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2";
		СуммаПрописью = ЧислоПрописью(ИтогСумма, ФорматСтроки, ПараметрПредмета);
		ОбластьПодвал.Параметры.СуммаПрописью = СуммаПрописью;

		ТабДок.Вывести(ОбластьВсего, Выборка.Уровень());
		ТабДок.Вывести(ОбластьПодвал, Выборка.Уровень());

		ВставлятьРазделительСтраниц = Истина;
		
	КонецЦикла;

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