// функция возвращает пустую таблицу значений под
// табличную часть документа основания.
//
функция ИнициализацияТаблицыСтрок()
 
	Товары = новый ТаблицаЗначений();
 
	Товары.Колонки.Добавить("Товар");
	Товары.Колонки.Добавить("ТоварНаименование");
	Товары.Колонки.Добавить("СтранаПроисхождения");
	Товары.Колонки.Добавить("ПредставлениеСтраны");
	Товары.Колонки.Добавить("НомерГТД");
	Товары.Колонки.Добавить("ПредставлениеГТД");
	Товары.Колонки.Добавить("Количество");
	Товары.Колонки.Добавить("ЕдиницаИзмерения");
	Товары.Колонки.Добавить("СуммаВключаетНДС");
	Товары.Колонки.Добавить("Цена");
	Товары.Колонки.Добавить("СтавкаНДС");
	Товары.Колонки.Добавить("СуммаНДС");
	Товары.Колонки.Добавить("Сумма");
 
	возврат Товары;
 
конецфункции
 
// Проверяет правильность заполнения шапки документа.
// Проставляет прочерки в незаполненных полях печатной формы счета-фактуры.
//
процедура ПроставитьПрочеркиВПустыеПоля(ОбластьМакета)
 
	для т = 0 по ОбластьМакета.Параметры.Количество() - 1 цикл
 
		ТекПараметр = ОбластьМакета.Параметры.Получить(т);
 
		если (Найти(ТекПараметр, "Продавец:") <> 0)
		    и (СокрЛП(ТекПараметр) = "Продавец:") тогда
			ОбластьМакета.Параметры.Установить(т, "Продавец: ----");
 
		иначеесли (Найти(ТекПараметр, "Адрес:") <> 0)
		    и (СокрЛП(ТекПараметр) = "Адрес:") тогда
			ОбластьМакета.Параметры.Установить(т, "Адрес: ----");
 
		иначеесли (Найти(ТекПараметр, "Идентификационный номер продавца (ИНН):") <> 0)
		    и (СокрЛП(ТекПараметр) = "Идентификационный номер продавца (ИНН):") тогда
			ОбластьМакета.Параметры.Установить(т, "Идентификационный номер продавца (ИНН): ----");
 
		иначеесли (Найти(ТекПараметр, "Грузоотправитель и его адрес:") <> 0)
		    и (СокрЛП(ТекПараметр) = "Грузоотправитель и его адрес:") тогда
			ОбластьМакета.Параметры.Установить(т, "Грузоотправитель и его адрес: ----");
 
		иначеесли (Найти(ТекПараметр, "Грузополучатель и его адрес:") <> 0)
		    и (СокрЛП(ТекПараметр) = "Грузополучатель и его адрес:") тогда
			ОбластьМакета.Параметры.Установить(т, "Грузополучатель и его адрес: ----");
 
		иначеесли (Найти(ТекПараметр, "К платежно-расчетному документу №") <> 0)
		    и (СокрЛП(ТекПараметр) = "К платежно-расчетному документу №  от") тогда
			ОбластьМакета.Параметры.Установить(т, "К платежно-расчетному документу № -- от --");
 
		иначеесли (Найти(ТекПараметр, "Покупатель:") <> 0)
		    и (СокрЛП(ТекПараметр) = "Покупатель:") тогда
			ОбластьМакета.Параметры.Установить(т, "Покупатель: ----");
 
		иначеесли (Найти(ТекПараметр, "Идентификационный номер покупателя (ИНН):") <> 0)
		    и (СокрЛП(ТекПараметр) = "Идентификационный номер покупателя (ИНН):") тогда
			ОбластьМакета.Параметры.Установить(т, "Идентификационный номер покупателя (ИНН): ----");
 
		иначеесли не ЗначениеЗаполнено(ТекПараметр) тогда
			ОбластьМакета.Параметры.Установить(т, "--");
 
		конецесли;
 
	конеццикла;
 
конецпроцедуры // ПроставитьПрочеркиВПустыеПоля()
 
// Функция собирает данные по документу основанию реализации и возвращает
// типизированную структуру с данными.
//
функция СобратьДанныеПоРеализацияТоваровУслуг(ДокОснование)
 
	Запрос = новый Запрос;
	Запрос.УстановитьПараметр("ДокументОснование", ДокОснование);
	Запрос.УстановитьПараметр("ПустойКонтрагент",  Справочники.Контрагенты.ПустаяСсылка());
 
	Запрос.Текст = "
	|ВЫБРАТЬ
	|	Организация,
	|	Организация                       КАК Поставщик,
	|	ВЫБОР
	|		КОГДА ЕСТЬNULL(Грузоотправитель, &ПустойКонтрагент) = &ПустойКонтрагент
	|			ТОГДА ""он же""
	|		ИНАЧЕ Грузоотправитель
	|	КОНЕЦ КАК Грузоотправитель,
	|	Подразделение                     КАК Подразделение,
	|	Контрагент                        КАК Покупатель,
	|	ВЫБОР
	|		КОГДА ЕСТЬNULL(Грузополучатель, &ПустойКонтрагент) = &ПустойКонтрагент
	|			ТОГДА Контрагент
	|		ИНАЧЕ Грузополучатель
	|	КОНЕЦ КАК Грузополучатель,
	|	СуммаДокумента                    КАК Сумма,
	|	ВалютаДокумента                   КАК Валюта,
	|	УчитыватьНДС                      КАК УчитыватьНДС,
	|	СуммаВключаетНДС                  КАК СуммаВключаетНДС
	|ИЗ
	|	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
	|
	|ГДЕ
	|	РеализацияТоваровУслуг.Ссылка = &ДокументОснование";
 
	Шапка = Запрос.Выполнить().Выбрать();
	Шапка.Следующий();
 
	Запрос = новый Запрос;
	Запрос.УстановитьПараметр("ДокументОснование", ДокОснование);
	Запрос.УстановитьПараметр("ПустаяЕдиница", Справочники.ЕдиницыИзмерения.ПустаяСсылка());
	Запрос.Текст = "
	|ВЫБРАТЬ
	|	Номенклатура КАК Товар,
	|	ВЫРАЗИТЬ (Номенклатура.НаименованиеПолное КАК СТРОКА(200)) КАК ТоварНаименование,
	|	СерияНоменклатуры.СтранаПроисхождения                    КАК СтранаПроисхождения,
	|	СерияНоменклатуры.СтранаПроисхождения.НаименованиеПолное КАК ПредставлениеСтраны,
	|	СерияНоменклатуры.НомерГТД                               КАК НомерГТД,
	|	СерияНоменклатуры.НомерГТД.Представление                 КАК ПредставлениеГТД,
	|	ЕдиницаИзмерения.Представление         КАК ЕдиницаИзмерения,
	|	Количество                             КАК Количество,
	|	Цена                                   КАК Цена,
	|	СтавкаНДС                              КАК СтавкаНДС,
	|	СуммаНДС                               КАК СуммаНДС,
	|	Сумма                                  КАК Сумма,
	|	ХарактеристикаНоменклатуры             КАК Характеристика,
	|	СерияНоменклатуры                      КАК Серия,
	|	НомерСтроки                            КАК НомерСтроки,
	|	1                                      КАК НомерТЧ
	|ИЗ
	|	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
	|
	|ГДЕ
	|	РеализацияТоваровУслугТовары.Ссылка = &ДокументОснование
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Номенклатура                           КАК Товар,
	|	Содержание                             КАК ТоварНаименование,
	|	""""                                   КАК СтранаПроисхождения,
	|	NULL                                   КАК ПредставлениеСтраны,
	|	NULL                                   КАК НомерГТД,
	|	""""                                   КАК ПредставлениеГТД,
	|	Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
	|	ВЫБОР КОГДА Номенклатура.ЕдиницаХраненияОстатков = &ПустаяЕдиница
	|	ТОГДА 0 ИНАЧЕ Количество
	|	КОНЕЦ КАК Количество,
	|	Цена                                   КАК Цена,
	|	СтавкаНДС                              КАК СтавкаНДС,
	|	СуммаНДС                               КАК СуммаНДС,
	|	Сумма                                  КАК Сумма,
	|	NULL                                   КАК Характеристика,
	|	NULL                                   КАК Серия,
	|	НомерСтроки                            КАК НомерСтроки,
	|	2                                      КАК НомерТЧ
	|ИЗ
	|	Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
	|
	|ГДЕ
	|	РеализацияТоваровУслугУслуги.Ссылка = &ДокументОснование
	|
	|УПОРЯДОЧИТЬ ПО
	|	НомерТЧ,
	|	НомерСтроки
	|";
 
 
	ВыборкаСтрокТовары = Запрос.Выполнить().Выбрать();
 
	ДанныеДляПечати = новый Структура();
	ДанныеДляПечати.Вставить("Организация",      Шапка.Организация);
	ДанныеДляПечати.Вставить("Номер",            СсылкаНаОбъект.Номер);
	ДанныеДляПечати.Вставить("Дата",             СсылкаНаОбъект.Дата);
	ДанныеДляПечати.Вставить("НомерПРД",         СсылкаНаОбъект.НомерПлатежноРасчетногоДокумента);
	ДанныеДляПечати.Вставить("ДатаПРД",          СсылкаНаОбъект.ДатаПлатежноРасчетногоДокумента);
	ДанныеДляПечати.Вставить("Поставщик",        Шапка.Поставщик);
	ДанныеДляПечати.Вставить("Грузоотправитель", Шапка.Грузоотправитель);
	ДанныеДляПечати.Вставить("Подразделение",    Шапка.Подразделение);
	ДанныеДляПечати.Вставить("Покупатель",       Шапка.Покупатель);
	ДанныеДляПечати.Вставить("Грузополучатель",  Шапка.Грузополучатель);
	ДанныеДляПечати.Вставить("Сумма",            Шапка.Сумма);
	ДанныеДляПечати.Вставить("Валюта",           Шапка.Валюта);
	ДанныеДляПечати.Вставить("УчитыватьНДС",     Шапка.УчитыватьНДС);
 
	Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Шапка.Организация, СсылкаНаОбъект.Дата,);
	ДанныеДляПечати.Вставить(?(РегламентированнаяОтчетность.ЭтоПБОЮЛ(Шапка.Поставщик), "ФИОПБОЮЛ", "ФИОРуководителя"), Руководители.Руководитель);
	ДанныеДляПечати.Вставить("ФИОГлавногоБухгалтера", Руководители.ГлавныйБухгалтер);
 
	Товары = ИнициализацияТаблицыСтрок();
 
	пока ВыборкаСтрокТовары.Следующий() = 1 цикл
		Строчка = Товары.Добавить();
		Строчка.Товар               = ВыборкаСтрокТовары.Товар;
		Строчка.ТоварНаименование   = СокрЛП(ВыборкаСтрокТовары.ТоварНаименование) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары);
		Строчка.СтранаПроисхождения = ВыборкаСтрокТовары.СтранаПроисхождения;
		Строчка.ПредставлениеСтраны = ?(не ЗначениеЗаполнено(ВыборкаСтрокТовары.ПредставлениеСтраны), ВыборкаСтрокТовары.СтранаПроисхождения, ВыборкаСтрокТовары.ПредставлениеСтраны);
		Строчка.НомерГТД            = ВыборкаСтрокТовары.НомерГТД;
		Строчка.ПредставлениеГТД    = ВыборкаСтрокТовары.ПредставлениеГТД;
		Строчка.Количество          = ВыборкаСтрокТовары.Количество;
		Строчка.ЕдиницаИзмерения    = ВыборкаСтрокТовары.ЕдиницаИзмерения;
		Строчка.СуммаВключаетНДС    = Шапка.СуммаВключаетНДС;
		Строчка.Цена                = ?(ВыборкаСтрокТовары.Количество = 0, 0, (ВыборкаСтрокТовары.Сумма - ?(Шапка.СуммаВключаетНДС,ВыборкаСтрокТовары.СуммаНДС,0)) / ВыборкаСтрокТовары.Количество);
		Строчка.СтавкаНДС           = ?(Шапка.УчитыватьНДС, ВыборкаСтрокТовары.СтавкаНДС, Перечисления.СтавкиНДС.БезНДС);
		Строчка.СуммаНДС            = ВыборкаСтрокТовары.СуммаНДС;
		Строчка.Сумма               = ВыборкаСтрокТовары.Сумма;
	конеццикла;
 
	ДанныеДляПечати.Вставить("ТабличнаяЧасть", Товары);
 
	возврат ДанныеДляПечати;
 
конецфункции // СобратьДанныеПоРеализацияТоваровУслуг()
 
// Функция создает табличный документ формы счета-фактуры.
//
функция ПечатьСчетаФактуры(ДанныеДляПечати)
	ТабДокумент = новый ТабличныйДокумент;
 
	если СсылкаНаОбъект.Дата < '20040216' тогда
		ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СчетФактураВыданный_СчетФактура575";
		Макет = ПолучитьОбщийМакет("СчетФактура575");
	иначеесли СсылкаНаОбъект.Дата < '20060530' тогда
		ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СчетФактураВыданный_СчетФактура84";
		Макет = ПолучитьОбщийМакет("СчетФактура84");
	иначе
		ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СчетФактураВыданный_СчетФактура283";
		Макет = ПолучитьОбщийМакет("СчетФактура283");
	конецесли;
 
	СведенияОбПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(ДанныеДляПечати.Покупатель, СсылкаНаОбъект.Дата);
	СведенияОПоставщике  = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(ДанныеДляПечати.Поставщик, СсылкаНаОбъект.Дата);
	СведенияОГрузоотправителе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(?(ДанныеДляПечати.Грузоотправитель = "он же", Неопределено, ДанныеДляПечати.Грузоотправитель), СсылкаНаОбъект.Дата);
	СведенияОГрузополучателе  = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(ДанныеДляПечати.Грузополучатель, СсылкаНаОбъект.Дата);
 
	ВыборкаПоТоварам = ДанныеДляПечати.ТабличнаяЧасть.Скопировать();
	ВыборкаПоТоварам.Свернуть("Товар");
 
	если ВыборкаПоТоварам.Количество() > 0 тогда
		ТолькоУслуги = Истина;
		для каждого СтрокаТовар из ВыборкаПоТоварам цикл
			если (ТипЗнч(СтрокаТовар.Товар) = Тип("СправочникСсылка.Номенклатура")
			   и не СтрокаТовар.Товар.Услуга)
			   или ТипЗнч(СтрокаТовар.Товар) = Тип("СправочникСсылка.ОсновныеСредства") тогда
				ТолькоУслуги = Ложь;
				прервать;
			конецесли;
		конеццикла;
	иначе
		ТолькоУслуги = Ложь;
	конецесли;
 
	// Выводим шапку накладной
	ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
	ОбластьМакета.Параметры.Заполнить(ДанныеДляПечати);
	ОбластьМакета.Параметры.Номер = ОбщегоНазначения.СформироватьЗаголовокДокумента(ДанныеДляПечати, "Счет-фактура") + " г.";
	ОбластьМакета.Параметры.ПредставлениеПоставщика       = "Продавец: "                         + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,");
	ОбластьМакета.Параметры.АдресПоставщика               = "Адрес: "                            + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ЮридическийАдрес,");
	ОбластьМакета.Параметры.ПоДокументу                   = "К платежно-расчетному документу № " + СсылкаНаОбъект.НомерПлатежноРасчетногоДокумента + " от " + Формат(СсылкаНаОбъект.ДатаПлатежноРасчетногоДокумента, "ДФ=dd.MM.yyyy");
	ОбластьМакета.Параметры.ПредставлениеПокупателя       = "Покупатель: "                       + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "ПолноеНаименование,");
	ОбластьМакета.Параметры.АдресПокупателя               = "Адрес: "                            + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "ЮридическийАдрес,");
 
	если СсылкаНаОбъект.Дата < '20040216' и ТолькоУслуги тогда
		ОбластьМакета.Параметры.ПредставлениеГрузоотправителя = "Грузоотправитель и его адрес: " + "-";
		ОбластьМакета.Параметры.ПредставлениеГрузополучателя  = "Грузополучатель и его адрес: "  + "-";
	иначе
		ОбластьМакета.Параметры.ПредставлениеГрузоотправителя = "Грузоотправитель и его адрес: " + ?(не ЗначениеЗаполнено(ДанныеДляПечати.Грузоотправитель), "", ?(ДанныеДляПечати.Грузоотправитель = "он же", ДанныеДляПечати.Грузоотправитель, ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправителе,  "ПолноеНаименование,ФактическийАдрес,")));
		ОбластьМакета.Параметры.ПредставлениеГрузополучателя  = "Грузополучатель и его адрес: "  + ?(не ЗначениеЗаполнено(ДанныеДляПечати.Грузополучатель), "", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование,ФактическийАдрес,"));
	конецесли;
 
	если СсылкаНаОбъект.Дата < '20040216' тогда
		ОбластьМакета.Параметры.ИННпоставщика                 = "Идентификационный номер продавца (ИНН): "   + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике,  "ИНН,", Ложь);
		ОбластьМакета.Параметры.ИННПокупателя                 = "Идентификационный номер покупателя (ИНН): " + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "ИНН,", Ложь);
	иначе
		КПП = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "КПП,", Ложь);
		если ЗначениеЗаполнено(КПП) тогда
			КПП = "/" + КПП;
		конецесли;
		ОбластьМакета.Параметры.ИННпоставщика                 = "ИНН/КПП продавца: "                 + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ИНН,", Ложь) + КПП;
 
		если не ТолькоУслуги
			и ЗначениеЗаполнено(ДанныеДляПечати.Грузополучатель)
			и не ДанныеДляПечати.Грузополучатель = ДанныеДляПечати.Покупатель
			и ДанныеДляПечати.Грузополучатель.ГоловнойКонтрагент = ДанныеДляПечати.Покупатель
			тогда
			КПП = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "КПП,", Ложь);
			если не ЗначениеЗаполнено(КПП) тогда
				КПП = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "КПП,", Ложь);
			конецесли;
		иначе
			КПП = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "КПП,", Ложь);
		конецесли;
 
		если ЗначениеЗаполнено(КПП) тогда
			КПП = "/" + КПП;
		конецесли;
		ОбластьМакета.Параметры.ИННПокупателя                 = "ИНН/КПП покупателя: "               + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "ИНН,", Ложь) + КПП;
	конецесли;
 
	ПроставитьПрочеркиВПустыеПоля(ОбластьМакета);
	ТабДокумент.Вывести(ОбластьМакета);
 
	ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
	ОбластьМакета.Параметры.Заполнить(ДанныеДляПечати);
	ТабДокумент.Вывести(ОбластьМакета);
 
	ОбластьМакета = Макет.ПолучитьОбласть("Строка");
 
	ИтогоСуммаНДС = 0;
	ИтогоВсего    = 0;
 
	ВыборкаСтрокТовары = ДанныеДляПечати.ТабличнаяЧасть;
	ВыборкаСтрокТовары.Колонки.Добавить("СуммаБезНДС");
	ВыборкаСтрокТовары.Колонки.Добавить("СуммаСНДС");
	для каждого Строчка из ВыборкаСтрокТовары цикл
		Строчка.СуммаСНДС = Строчка.Сумма + ?(Строчка.СуммаВключаетНДС, 0, Строчка.СуммаНДС);
		если (Строчка.СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120)
		 или (Строчка.СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118)
		 или (Строчка.СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110) тогда
			Строчка.СуммаБезНДС = Строчка.СуммаСНДС;
		иначе
			Строчка.СуммаБезНДС = Строчка.СуммаСНДС - Строчка.СуммаНДС;
		конецесли;
	конеццикла;
 
	ВыборкаСтрокТовары.Свернуть("Товар, ТоварНаименование, СтранаПроисхождения, ПредставлениеСтраны, НомерГТД, ПредставлениеГТД, ЕдиницаИзмерения, Цена, СтавкаНДС", "Количество, Сумма, СуммаНДС, СуммаСНДС, СуммаБезНДС");
 
	для каждого Строчка из ВыборкаСтрокТовары цикл
		ОбластьМакета.Параметры.Заполнить(Строчка);
 
		если Строка(Строчка.ПредставлениеСтраны) = "Россия" тогда
			ОбластьМакета.Параметры.ПредставлениеСтраны  = "----";
		конецесли;
 
		Количество  = Строчка.Количество;
 
		ОбластьМакета.Параметры.Количество = Количество;
		если Строчка.Цена <> 0 тогда
			ОбластьМакета.Параметры.Цена   = ?(Количество = 0, 0, Строчка.СуммаБезНДС / Количество);
		иначе
			ОбластьМакета.Параметры.Цена   = Строчка.Цена;
		конецесли;
		ОбластьМакета.Параметры.Стоимость  = Строчка.СуммаБезНДС;
 
		ОбластьМакета.Параметры.Всего      = Строчка.СуммаСНДС;
		ОбластьМакета.Параметры.СтавкаНДС  = Строчка.СтавкаНДС;
 
		ИтогоСуммаНДС = ИтогоСуммаНДС + Строчка.СуммаНДС;
		ИтогоВсего    = ИтогоВсего    + Строчка.СуммаСНДС;
 
		ПроставитьПрочеркиВПустыеПоля(ОбластьМакета);
		ТабДокумент.Вывести(ОбластьМакета);
 
	конеццикла;
 
	ОбластьМакета = Макет.ПолучитьОбласть("Итого");
	ОбластьМакета.Параметры.ИтогоСуммаНДС = ИтогоСуммаНДС;
	ОбластьМакета.Параметры.ИтогоВсего    = ИтогоВСего;
 
	ПроставитьПрочеркиВПустыеПоля(ОбластьМакета);
	ТабДокумент.Вывести(ОбластьМакета);
 
	ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
	ОбластьМакета.Параметры.Заполнить(ДанныеДляПечати);
	если не СсылкаНаОбъект.Дата < '20040216' тогда
		ОбластьМакета.Параметры.Свидетельство = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "Свидетельство,");
	конецесли;
	ПроставитьПрочеркиВПустыеПоля(ОбластьМакета);
	ТабДокумент.Вывести(ОбластьМакета);
 
	ТабДокумент.ПолеСверху = 0;
	ТабДокумент.ПолеСлева  = 0;
	ТабДокумент.ПолеСнизу  = 0;
	ТабДокумент.ПолеСправа = 0;
	ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
 
	возврат ТабДокумент;
 
конецфункции // ПечатьСчетаФактуры()
 
// Процедура осуществляет печать документа.
//
функция Печать() экспорт
	для каждого док из СсылкаНаОбъект.ДокументыОснования цикл
		если ТипЗнч (док.ДокументОснование) = Тип ("ДокументСсылка.РеализацияТоваровУслуг")
		тогда
			возврат ПечатьСчетаФактуры (СобратьДанныеПоРеализацияТоваровУслуг (док.ДокументОснование));
		конецесли;
	конеццикла;
	возврат неопределено;
конецфункции