Добавил столбец в печатную форму, но при печати его не видно

1. FB_1673246522743408 20.05.18 21:39 Сейчас в теме
Добрый день.
Если не сложно, прошу помочь разобраться. В 1С не особо разбираюсь, но, срочно нужно доделать печатну форму.
Добавил колонку в измененный макет, но, в печатной форме она не появляется. Как быть ? Куда зайти где редактировать данный макет ? Спасибо.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user769014 21.05.18 05:03 Сейчас в теме
1) Тот ли это макет?
2) Если макет тот, нажата ли кнопка его использования?
5. FB_1673246522743408 21.05.18 12:15 Сейчас в теме
(1) Макет не тот, но нажал кнопку его использования. Все ка кположено.
3. user790607 21.05.18 07:33 Сейчас в теме
Используется макет по умолчанию, скорее всего вы просто не выбрали изменённый вариант...
6. FB_1673246522743408 21.05.18 12:16 Сейчас в теме
(3) Нет, не в этом проблема я выбрал измененный вариант
4. mickey.1cx 400 21.05.18 09:37 Сейчас в теме
Полагаю, для табличной части в макете используются еще и вертикальные области. Проверьте, входит ли добавленный столбец в нужную группу.
Прикрепленные файлы:
7. FB_1673246522743408 21.05.18 12:19 Сейчас в теме
(4)Да, входит область выбран правильно.
Прикрепленные файлы:
8. platon_ 10 21.05.18 12:20 Сейчас в теме
(7) это вы добавили область СтрокаПоставки?
9. FB_1673246522743408 21.05.18 12:22 Сейчас в теме
10. burni4 87 21.05.18 12:23 Сейчас в теме
область то вы добавили, но присоединили ли вы её в коде?

ищите где определяются области и пишите это:
ВашаНоваяШапка= МакетДокумента.ПолучитьОбласть("ШапкаТаблицы|СтрокаПоставки");
// после вывода шапки
ТабличныйДокумент.Присоединить(ВашаНоваяШапка);

ВашаНоваяКолонка= МакетДокумента.ПолучитьОбласть("Строка|СтрокаПоставки");
// после вывода строки
ТабличныйДокумент.Присоединить(ВашаНоваяКолонка);


по переменной МакетДокумента и ТабличныйДокумент, уже смотрите что у вас в коде
11. FB_1673246522743408 21.05.18 12:25 Сейчас в теме
(10) Артем, а куда добавить этот код ? В конфигурации ? Я там рылся не смог найти данный макет. Где в конфигурации код макета СчетЗаказ? Прошу подскажите.
12. burni4 87 21.05.18 12:28 Сейчас в теме
(11) вам нужно найти где заполняется макет, скорее всего в модуле менеджера, на ваш отчет 2 раза в конфигураторе, вкладка прочее, там ищите CTR+F (имя вашего макета) и там будут похожие строки определения и вывода макета, подробнее не скажу, т.к не вижу код
13. FB_1673246522743408 21.05.18 12:40 Сейчас в теме
(12) Артем спасибо Вам огромное. Я Макет там нашел но куда вводить код не вижу ((
14. burni4 87 21.05.18 12:42 Сейчас в теме
(13) скиньте модуль, где определяется ваш макет
16. FB_1673246522743408 21.05.18 12:44 Сейчас в теме
(14) модуль вот это ? Я открыл ее в конфигурации, как вы сказали CTR+F нашел. Но куда там код вводить.
Прикрепленные файлы:
19. burni4 87 21.05.18 12:46 Сейчас в теме
(16) ошибся, не модуль, а код из процедуры в которой вы нашли определение макета, не сам макет, а где определяется ваш макет, страка похожее на это

МакетДокумента = Отчеты.ВашОтчет.ПолучитьМакет("ПФ_MXL_СчетЗаказ");
21. FB_1673246522743408 21.05.18 12:50 Сейчас в теме
(19) Вот что выдает поиск, и все
Прикрепленные файлы:
22. burni4 87 21.05.18 12:57 Сейчас в теме
функция находится тут ОбщийМодуль.ПечатьТорговыхДокументов
Скиньте код вот этой функции "ПечатьСчетаНаОплату"
23. FB_1673246522743408 21.05.18 13:02 Сейчас в теме
(22) Нашел. Но код большой.
Функция ПечатьСчетаНаОплату(СведенияСчетаНаОплату, ОбъектыПечати, СПечатью = Ложь) Экспорт

	Перем ПодразделениеОтветственныхЛиц;
	
	УстановитьПривилегированныйРежим(Истина);
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.АвтоМасштаб			= Истина;
	ТабличныйДокумент.ОриентацияСтраницы	= ОриентацияСтраницы.Портрет;
	ТабличныйДокумент.ИмяПараметровПечати	= "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ";
	
	ДополнительнаяКолонкаПечатныхФормДокументов = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
	Если НЕ ЗначениеЗаполнено(ДополнительнаяКолонкаПечатныхФормДокументов) Тогда
		ДополнительнаяКолонкаПечатныхФормДокументов = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить;
	КонецЕсли;
	ВыводитьКоды = ДополнительнаяКолонкаПечатныхФормДокументов <> Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить;
	
	ПервыйДокумент = Истина;
	
	Для Каждого СведенияОДокументе Из СведенияСчетаНаОплату Цикл
		
		Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.ПФ_MXL_СчетЗаказ");

		Если НЕ ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		ЕстьСкидка = (СведенияОДокументе.ТаблицаДокумента.Итог("СуммаСкидки") <> 0) И ЗначениеЗаполнено(Макет.Области.Найти("Скидка"));
		
		// Запомним номер строки, с которой начали выводить текущий документ.
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		// Выводим шапку счета
		ВывестиЗаголовокПредупреждение(СведенияОДокументе.Получатель, ТабличныйДокумент, Макет);
		
		СведенияОПолучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДляПолученияСведений);
		
		// Получим логотип организации
		Если ТипЗнч(СведенияОДокументе.Получатель) = Тип("СправочникСсылка.Организации") Тогда
			ДанныеКартинки = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлЛоготип);
		Иначе
			ДанныеКартинки = Неопределено;
		КонецЕсли;
		
		Если ЗначениеЗаполнено(ДанныеКартинки) 
			И ЗначениеЗаполнено(ДанныеКартинки.ДвоичныеДанные) 
			И ЗначениеЗаполнено(Макет.Области.Найти("ЗаголовокСчетаСЛоготипом")) Тогда
			ОбластьМакета       = Макет.ПолучитьОбласть("ЗаголовокСчетаСЛоготипом");
			Попытка
				ОбластьМакета.Рисунки.ЛоготипСчета.Картинка = Новый Картинка(ДанныеКартинки.ДвоичныеДанные);
			Исключение
			КонецПопытки;
		Иначе
			ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
		КонецЕсли;

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

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

		ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
		
		ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Счет на оплату № %1 от %2 г.'"), 
				СведенияОДокументе.НомерДокумента, Формат(СведенияОДокументе.ДатаДокумента, "ДФ='дд ММММ гггг'"));
		
		ОбластьМакета.Параметры.Заполнить(Новый Структура("ТекстЗаголовка", ТекстЗаголовка));
		
		ТабличныйДокумент.Вывести(ОбластьМакета);

		ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
		ОбластьМакета.Параметры.Заполнить(СведенияОДокументе);
		СведенияОбОрганизации    = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Поставщик, СведенияОДокументе.ДатаДляПолученияСведений);
		ПредставлениеПоставщика  = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(
			СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
		
		ОбластьМакета.Параметры.Заполнить(Новый Структура("ПредставлениеПоставщика", ПредставлениеПоставщика));
		ТабличныйДокумент.Вывести(ОбластьМакета);

		ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
		ОбластьМакета.Параметры.Заполнить(СведенияОДокументе);
		СведенияОПокупателе     = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Покупатель, СведенияОДокументе.ДатаДляПолученияСведений);
		ПредставлениеПокупателя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(
			СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
		Основание = СокрЛП(Строка(СведенияОДокументе.ДоговорКонтрагента));
		ДанныеПечатиПокупатель = Новый Структура;
		ДанныеПечатиПокупатель.Вставить("ПредставлениеПокупателя", ПредставлениеПокупателя);
		ДанныеПечатиПокупатель.Вставить("Основание", Основание);
		
		ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПокупатель);
		ТабличныйДокумент.Вывести(ОбластьМакета);

		ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
		ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
		ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
		ОбластьСуммы  = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");

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

		ОбластьКолонкаТовар = Макет.Область("Товар");
		Если Не ВыводитьКоды Тогда
			ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки;
		КонецЕсли;
		Если Не ЕстьСкидка И ЗначениеЗаполнено(Макет.Области.Найти("Скидка")) Тогда
			ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("Скидка").ШиринаКолонки;
		КонецЕсли;

		ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
		ОбластьКодов  = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
		ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
		ОбластьСуммы  = Макет.ПолучитьОбласть("Строка|Сумма");

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

			ТабличныйДокумент.Вывести(ОбластьНомера);

			Если ВыводитьКоды Тогда
				ОбластьКодов.Параметры.Заполнить(Новый Структура("Артикул", Строка.НоменклатураАртикул));
				ТабличныйДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			ДанныеПечатиСтрокаОбластьДанных = Новый Структура;
			ДанныеПечатиСтрокаОбластьДанных.Вставить("Товар",			 СокрЛП(Строка.НоменклатураНаименование));
			ДанныеПечатиСтрокаОбластьДанных.Вставить("Количество",		 Строка.Количество);
			ДанныеПечатиСтрокаОбластьДанных.Вставить("ЕдиницаИзмерения", Строка.ЕдиницаИзмеренияНаименование);
			ДанныеПечатиСтрокаОбластьДанных.Вставить("Цена",			 ОбщегоНазначенияБПВызовСервера.ФорматСумм(Строка.Цена));
			ОбластьДанных.Параметры.Заполнить(ДанныеПечатиСтрокаОбластьДанных);
			ТабличныйДокумент.Присоединить(ОбластьДанных);
			
			Если ЕстьСкидка Тогда
				ОбластьСкидки = Макет.ПолучитьОбласть("Строка|Скидка");
				ОбластьСкидки.Параметры.Заполнить(Новый Структура("СуммаСкидки", ОбщегоНазначенияБПВызовСервера.ФорматСумм(Строка.СуммаСкидки)));
				ТабличныйДокумент.Присоединить(ОбластьСкидки);
			КонецЕсли;
			
			
			ОбластьСуммы.Параметры.Заполнить(Новый Структура("Сумма", ОбщегоНазначенияБПВызовСервера.ФорматСумм(Строка.Сумма - Строка.СуммаСкидки)));
			
			ТабличныйДокумент.Присоединить(ОбластьСуммы);
			Сумма    = Сумма    + Строка.Сумма;
			СуммаНДС = СуммаНДС + Строка.СуммаНДС;
			ВсегоСкидок = ВсегоСкидок + Строка.СуммаСкидки;
			
		КонецЦикла;
		
		Если ЗначениеЗаполнено(Макет.Области.Найти("Подвал")) Тогда
		
			ОбластьПодвал  = Макет.ПолучитьОбласть("Подвал");
			ТабличныйДокумент.Вывести(ОбластьПодвал);
		
		КонецЕсли; 
		
		Если СведенияОДокументе.СуммаСкидки <> 0 Тогда
			
			Всего = Сумма + ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС);
			СуммаНДС = СуммаНДС*(Всего - СведенияОДокументе.СуммаСкидки)/Всего;
			Сумма = Всего - СведенияОДокументе.СуммаСкидки - ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС);
			
			Если ЗначениеЗаполнено(Макет.Области.Найти("СкидкаПоДокументу")) Тогда
			
				ОбластьСуммы  = Макет.ПолучитьОбласть("СкидкаПоДокументу");
				
				ОбластьСуммы.Параметры.Заполнить(Новый Структура("СуммаСкидки", ОбщегоНазначенияБПВызовСервера.ФорматСумм(СведенияОДокументе.СуммаСкидки)));
				ТабличныйДокумент.Вывести(ОбластьСуммы);
			
			КонецЕсли; 
			
		ИначеЕсли ВсегоСкидок <> 0 Тогда
			
			Сумма = Сумма - ВсегоСкидок;
			
		КонецЕсли; 
		
		ДанныеЗаполненияИтого = Новый Структура("Всего", ОбщегоНазначенияБПВызовСервера.ФорматСумм(Сумма));
		
		Если СуммаНДС <> 0 Тогда
			НДС      = ?(СведенияОДокументе.СуммаВключаетНДС, НСтр("ru='В том числе НДС:'"), НСтр("ru='Сумма НДС:'"));
			ВсегоНДС = ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаНДС);
		Иначе
			НДС      = НСтр("ru='Без налога (НДС)'");
			ВсегоНДС = НСтр("ru='-'");
		КонецЕсли;
		
		ДанныеЗаполненияНДС = Новый Структура("НДС, ВсегоНДС", НДС, ВсегоНДС);
		
		СуммаКОплате = Сумма + ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС);
		ИтогоКОплате = ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаКОплате);
		ДанныеЗаполненияИтогоКОплате = Новый Структура("ИтогоКОплате", ИтогоКОплате);
		
		Если ЗначениеЗаполнено(Макет.Области.Найти("Скидка")) Тогда
			
			ОбластьИтого  = Макет.ПолучитьОбласть("Итого");
			ОбластьИтого.Параметры.Заполнить(ДанныеЗаполненияИтого);
			
			ТабличныйДокумент.Вывести(ОбластьИтого);
			
			// Вывести ИтогоНДС
			ОбластьИтогоНДС  = Макет.ПолучитьОбласть("ИтогоНДС");
			ОбластьИтогоНДС.Параметры.Заполнить(ДанныеЗаполненияНДС);
			
			ТабличныйДокумент.Вывести(ОбластьИтогоНДС);
			
			// Вывести ИтогоКОплате
			ОбластьИтогоКОплате  = Макет.ПолучитьОбласть("ИтогоКОплате");
			ОбластьИтогоКОплате.Параметры.Заполнить(ДанныеЗаполненияИтогоКОплате);
			
			ТабличныйДокумент.Вывести(ОбластьИтогоКОплате);
			
		Иначе
			// В случае если используется пользовательский макет - используем вертикальные названия областей.
			ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки");
			ОбластьКодов  = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
			ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные");
			ОбластьСумма  = Макет.ПолучитьОбласть("Итого|Сумма");

			ТабличныйДокумент.Вывести(ОбластьНомера);
			Если ВыводитьКоды Тогда
				ТабличныйДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			ТабличныйДокумент.Присоединить(ОбластьДанных);
			ОбластьСумма.Параметры.Заполнить(ДанныеЗаполненияИтого);
			ТабличныйДокумент.Присоединить(ОбластьСумма);
			
			// Вывести ИтогоНДС
			ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки");
			ОбластьКодов  = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов");
			ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|Данные");
			ОбластьСуммы  = Макет.ПолучитьОбласть("ИтогоНДС|Сумма");
			
			ТабличныйДокумент.Вывести(ОбластьНомера);
			Если ВыводитьКоды Тогда
				ТабличныйДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			ОбластьДанных.Параметры.Заполнить(ДанныеЗаполненияНДС);
			ОбластьСуммы.Параметры.Заполнить(ДанныеЗаполненияНДС);
			
			ТабличныйДокумент.Присоединить(ОбластьДанных);
			ТабличныйДокумент.Присоединить(ОбластьСуммы);
			
			// Вывести ИтогоКОплате
			ОбластьНомера = Макет.ПолучитьОбласть("ИтогоКОплате|НомерСтроки");
			ОбластьКодов  = Макет.ПолучитьОбласть("ИтогоКОплате|КолонкаКодов");
			ОбластьДанных = Макет.ПолучитьОбласть("ИтогоКОплате|Данные");
			ОбластьСуммы  = Макет.ПолучитьОбласть("ИтогоКОплате|Сумма");
			ТабличныйДокумент.Вывести(ОбластьНомера);
			Если ВыводитьКоды Тогда
				ТабличныйДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			ТабличныйДокумент.Присоединить(ОбластьДанных);
			ОбластьСуммы.Параметры.Заполнить(ДанныеЗаполненияИтогоКОплате);
			
			ТабличныйДокумент.Присоединить(ОбластьСуммы);
			
		КонецЕсли; 
		
		// Вывести Сумму прописью
		ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
		ДанныеПечатиСуммаПрописью = Новый Структура("ИтоговаяСтрока, СуммаПрописью");
		СуммаКПрописи = Сумма + ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС);
		ДанныеПечатиСуммаПрописью.ИтоговаяСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Всего наименований %1, на сумму %2'"),
			НомерСтроки, ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаКПрописи, СведенияОДокументе.Валюта));
		ДанныеПечатиСуммаПрописью.СуммаПрописью = ОбщегоНазначенияБПВызовСервера.СформироватьСуммуПрописью(СуммаКПрописи, СведенияОДокументе.Валюта);
		ОбластьМакета.Параметры.Заполнить(ДанныеПечатиСуммаПрописью);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		ДвоичныеДанныеКартинки = Неопределено;
		
		ДобавленОтступПередДопУсловиями = Ложь;
		
		// Срок оплаты
		Если СведенияОДокументе.СрокОплаты <> Дата(1,1,1) И
			ЗначениеЗаполнено(Макет.Области.Найти("СрокОплаты")) Тогда
			
			// Добавим отступ перед текстом
			Если ЗначениеЗаполнено(Макет.Области.Найти("ДополнительныеУсловияОтступ")) Тогда
				ОбластьМакетаОтступ = Макет.ПолучитьОбласть("ДополнительныеУсловияОтступ");
				ТабличныйДокумент.Вывести(ОбластьМакетаОтступ);
				ДобавленОтступПередДопУсловиями = Истина;
			КонецЕсли;
			
			ОбластьМакета = Макет.ПолучитьОбласть("СрокОплаты");
			СтруктураПараметров = Новый Структура("СрокОплаты", Формат(СведенияОДокументе.СрокОплаты, "ДФ=dd.MM.yyyy"));
			ОбластьМакета.Параметры.Заполнить(СтруктураПараметров);
			ТабличныйДокумент.Вывести(ОбластьМакета);
			
		КонецЕсли;
		
		// Дополнительные условия
		Если НЕ ПустаяСтрока(СведенияОДокументе.ТекстДополнительныхУсловий)
			И ЗначениеЗаполнено(Макет.Области.Найти("ДополнительныеУсловия")) Тогда
			
			// Добавим отступ перед текстом
			Если НЕ ДобавленОтступПередДопУсловиями И
				ЗначениеЗаполнено(Макет.Области.Найти("ДополнительныеУсловияОтступ")) Тогда
				ОбластьМакетаОтступ = Макет.ПолучитьОбласть("ДополнительныеУсловияОтступ");
				ТабличныйДокумент.Вывести(ОбластьМакетаОтступ);
			КонецЕсли;
			
			// Выводим построчно многострочный текст
			// для того, чтобы корректно печатались длинные тексты
			ОбластьМакета = Макет.ПолучитьОбласть("ДополнительныеУсловия");
			ТекстДополнительныхУсловий = СведенияОДокументе.ТекстДополнительныхУсловий;
			ЧислоСтрокТекста = СтрЧислоСтрок(ТекстДополнительныхУсловий);
			Для СчетчикСтрок = 1 По ЧислоСтрокТекста Цикл
				СтруктураПараметров = Новый Структура("ТекстДополнительныхУсловий", СтрПолучитьСтроку(ТекстДополнительныхУсловий, СчетчикСтрок));
				ОбластьМакета.Параметры.Заполнить(СтруктураПараметров);
				ТабличныйДокумент.Вывести(ОбластьМакета);
			КонецЦикла;
		КонецЕсли;
		
		// Вывести подписи
		Если СПечатью Тогда 
			ДанныеФаксимиле = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлФаксимильнаяПечать);
			Если ЗначениеЗаполнено(ДанныеФаксимиле.ДвоичныеДанные) Тогда 
				ДвоичныеДанныеФаксимиле = ДанныеФаксимиле.ДвоичныеДанные;
			КонецЕсли;
			ДанныеПечать = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлПечать);
			Если ЗначениеЗаполнено(ДанныеПечать.ДвоичныеДанные) Тогда 
				ДвоичныеДанныеПечати = ДанныеПечать.ДвоичныеДанные;
			КонецЕсли;
			ДанныеПодписьРуководителя = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлПодписьРуководителя);
			Если ЗначениеЗаполнено(ДанныеПодписьРуководителя.ДвоичныеДанные) Тогда 
				ДвоичныеДанныеПодписьРуководителя = ДанныеПодписьРуководителя.ДвоичныеДанные;
			КонецЕсли;
			ДанныеПодписьГлавногоБухгалтера = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлПодписьГлавногоБухгалтера);
			Если ЗначениеЗаполнено(ДанныеПодписьГлавногоБухгалтера.ДвоичныеДанные) Тогда 
				ДвоичныеДанныеПодписьГлавногоБухгалтера = ДанныеПодписьГлавногоБухгалтера.ДвоичныеДанные;
			КонецЕсли;
		КонецЕсли;
		
		Если ЗначениеЗаполнено(ДвоичныеДанныеПечати)
			ИЛИ ЗначениеЗаполнено(ДвоичныеДанныеПодписьРуководителя) 
			ИЛИ ЗначениеЗаполнено(ДвоичныеДанныеПодписьГлавногоБухгалтера) Тогда
			
			// Подставляем подписи только ответственных лиц
			ОтветственныеЛицаОрганизации = ОтветственныеЛицаБП.ОтветственныеЛица(СведенияОДокументе.Организация, СведенияОДокументе.ДатаДокумента);
			
			// В случае если счет выставляет предприниматель, который свои полномочия никому не делегировал - выводим специальный подвал документа
			Если СведенияОПолучателе.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо
				И (НЕ ЗначениеЗаполнено(СведенияОДокументе.РуководительФИО) 
				ИЛИ СведенияОДокументе.Руководитель = СведенияОПолучателе.ИндивидуальныйПредприниматель
				ИЛИ ЗначениеЗаполнено(ДвоичныеДанныеПодписьРуководителя)) Тогда
				
				Если ЗначениеЗаполнено(Макет.Области.Найти("ПодвалСчетаПредпринимательСПодписьюИПечатью")) Тогда
					ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредпринимательСПодписьюИПечатью");
					ОбластьМакета.Рисунки.ПечатьПредпринимателя.Картинка  = Новый Картинка(ДвоичныеДанныеПечати);
					ОбластьМакета.Рисунки.ПодписьПредпринимателя.Картинка = Новый Картинка(ДвоичныеДанныеПодписьРуководителя);
				Иначе
					ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредприниматель");
				КонецЕсли;
				
				ОбластьМакета.Параметры.Заполнить(Новый Структура("ФИОПредпринимателя", СведенияОПолучателе.ФамилияИнициалыФизлица));
			Иначе
				Если ЗначениеЗаполнено(Макет.Области.Найти("ПодвалСчетаСПодписьюИПечатью")) Тогда
					ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаСПодписьюИПечатью");
					ОбластьМакета.Рисунки.Печать.Картинка                    = Новый Картинка(ДвоичныеДанныеПечати);
					// В случае если используется факсимильная подпись выводим данные ответственных лиц
					Если ЗначениеЗаполнено(ДвоичныеДанныеПодписьРуководителя) Тогда
						СведенияОДокументе.Руководитель                    = ОтветственныеЛицаОрганизации.Руководитель;
						СведенияОДокументе.РуководительФИО                 = ОтветственныеЛицаОрганизации.РуководительПредставление;
						ОбластьМакета.Рисунки.ПодписьРуководителя.Картинка = Новый Картинка(ДвоичныеДанныеПодписьРуководителя);
					КонецЕсли;
					Если ЗначениеЗаполнено(ДвоичныеДанныеПодписьГлавногоБухгалтера) Тогда
						СведенияОДокументе.ГлавныйБухгалтер                      = ОтветственныеЛицаОрганизации.ГлавныйБухгалтер;
						СведенияОДокументе.ГлавныйБухгалтерФИО                   = ОтветственныеЛицаОрганизации.ГлавныйБухгалтерПредставление;
						ОбластьМакета.Рисунки.ПодписьГлавногоБухгалтера.Картинка = Новый Картинка(ДвоичныеДанныеПодписьГлавногоБухгалтера);
					КонецЕсли;
				Иначе
					ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");
				КонецЕсли;
				ДанныеПечатиПодвалСчета = Новый Структура;
				ДанныеПечатиПодвалСчета.Вставить("ФИОРуководителя", СведенияОДокументе.РуководительФИО);
				ДанныеПечатиПодвалСчета.Вставить("ФИОБухгалтера",   СведенияОДокументе.ГлавныйБухгалтерФИО);
				ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПодвалСчета);
			КонецЕсли;
		ИначеЕсли ЗначениеЗаполнено(ДвоичныеДанныеФаксимиле) 
			И ЗначениеЗаполнено(Макет.Области.Найти("ПодвалСчетаСФаксимильнойПечатью")) Тогда 
			ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаСФаксимильнойПечатью");
			ОбластьМакета.Рисунки.ФаксимильнаяПечать.Картинка = Новый Картинка(ДвоичныеДанныеФаксимиле);
		Иначе 
			
			// В случае если счет выставляет предприниматель, который свои полномочия никому не делегировал - выводим специальный подвал документа
			Если СведенияОПолучателе.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо
				И (НЕ ЗначениеЗаполнено(СведенияОДокументе.РуководительФИО)
				ИЛИ СведенияОДокументе.Руководитель = СведенияОПолучателе.ИндивидуальныйПредприниматель) Тогда
				ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредприниматель");
				ОбластьМакета.Параметры.Заполнить(Новый Структура("ФИОПредпринимателя", СведенияОПолучателе.ФамилияИнициалыФизлица));
			Иначе
				ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");
				ДанныеПечатиПодвалСчета = Новый Структура("ФИОРуководителя, ФИОБухгалтера", СведенияОДокументе.РуководительФИО, СведенияОДокументе.ГлавныйБухгалтерФИО);
				ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПодвалСчета);
			КонецЕсли;
			
			ДанныеПечатиПодвалСчета = Новый Структура();
			ДанныеПечатиПодвалСчета.Вставить("ЗаРуководителяПоПриказу", СведенияОДокументе.ЗаРуководителяНаОснованииНаименование);
			ДанныеПечатиПодвалСчета.Вставить("ЗаГлавногоБухгалтераПоПриказу", СведенияОДокументе.ЗаГлавногоБухгалтераНаОснованииНаименование);
			ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПодвалСчета);
		КонецЕсли;
		
		ОбластьМакета.Параметры.Заполнить(СведенияОДокументе);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		// В табличном документе зададим имя области, в которую был 
		// выведен объект. Нужно для возможности печати покомплектно.
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 
			НомерСтрокиНачало, ОбъектыПечати, СведенияОДокументе.Документ);

	КонецЦикла;

	Возврат ТабличныйДокумент;

КонецФункции
Показать
25. burni4 87 21.05.18 13:12 Сейчас в теме
(23)

Перем ПодразделениеОтветственныхЛиц; 

УстановитьПривилегированныйРежим(Истина); 

ТабличныйДокумент = Новый ТабличныйДокумент; 
ТабличныйДокумент.АвтоМасштаб	= Истина; 
ТабличныйДокумент.ОриентацияСтраницы	= ОриентацияСтраницы.Портрет; 
ТабличныйДокумент.ИмяПараметровПечати	= "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ"; 

ДополнительнаяКолонкаПечатныхФормДокументов = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); 
Если НЕ ЗначениеЗаполнено(ДополнительнаяКолонкаПечатныхФормДокументов) Тогда 
ДополнительнаяКолонкаПечатныхФормДокументов = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить; 
КонецЕсли; 
ВыводитьКоды = ДополнительнаяКолонкаПечатныхФормДокументов <> Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить; 

ПервыйДокумент = Истина; 

Для Каждого СведенияОДокументе Из СведенияСчетаНаОплату Цикл 

Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.ПФ_MXL_СчетЗаказ"); 

Если НЕ ПервыйДокумент Тогда 
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); 
КонецЕсли; 

ПервыйДокумент = Ложь; 
ЕстьСкидка = (СведенияОДокументе.ТаблицаДокумента.Итог("СуммаСкидки") <> 0) И ЗначениеЗаполнено(Макет.Области.Найти("Скидка")); 

// Запомним номер строки, с которой начали выводить текущий документ. 
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1; 

// Выводим шапку счета 
ВывестиЗаголовокПредупреждение(СведенияОДокументе.Получатель, ТабличныйДокумент, Макет); 

СведенияОПолучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДляПолученияСведений); 

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

Если ЗначениеЗаполнено(ДанныеКартинки) 
И ЗначениеЗаполнено(ДанныеКартинки.ДвоичныеДанные) 
И ЗначениеЗаполнено(Макет.Области.Найти("ЗаголовокСчетаСЛоготипом")) Тогда 
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчетаСЛоготипом"); 
Попытка 
ОбластьМакета.Рисунки.ЛоготипСчета.Картинка = Новый Картинка(ДанныеКартинки.ДвоичныеДанные); 
Исключение 
КонецПопытки; 
Иначе 
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета"); 
КонецЕсли; 

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

Если ТипЗнч(СведенияОДокументе.БанковскийСчетПродавца) = Тип("СправочникСсылка.БанковскиеСчета") Тогда 
ДанныеПечатиЗаголовокСчета.Вставить("БИКБанкаПолучателя",СведенияОДокументе.БикБанкаПолучателя); 
ДанныеПечатиЗаголовокСчета.Вставить("БанкПолучателя",СведенияОДокументе.БанкПолучателя); 
ДанныеПечатиЗаголовокСчета.Вставить("БанкПолучателяПредставление",СокрЛП(СведенияОДокументе.НаименованиеБанкаПолучателя));
ДанныеПечатиЗаголовокСчета.Вставить("СчетБанкаПолучателя",СведенияОДокументе.СчетБанкаПолучателя); 
ДанныеПечатиЗаголовокСчета.Вставить("СчетБанкаПолучателяПредставление",СведенияОДокументе.СчетБанкаПолучателя);
ДанныеПечатиЗаголовокСчета.Вставить("СчетПолучателяПредставление", СведенияОДокументе.НомерСчетаПолучателя);
ДанныеПечатиЗаголовокСчета.Вставить("СчетПолучателя", СведенияОДокументе.НомерСчетаПолучателя); 
КонецЕсли; 

ПредставлениеПолучателя = УчетДенежныхСредствБП.СформироватьТекстНаименованияПлательщикаПолучателя(, СведенияОДокументе.Получатель, СведенияОДокументе.БанковскийСчетПродавца); 
ДанныеПечатиЗаголовокСчета.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя); 
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиЗаголовокСчета); 

ТабличныйДокумент.Вывести(ОбластьМакета); 

ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); 

ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Счет на оплату № %1 от %2 г.'"), 
СведенияОДокументе.НомерДокумента, Формат(СведенияОДокументе.ДатаДокумента, "ДФ='дд ММММ гггг'")); 

ОбластьМакета.Параметры.Заполнить(Новый Структура("ТекстЗаголовка", ТекстЗаголовка)); 

ТабличныйДокумент.Вывести(ОбластьМакета); 

ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); 
ОбластьМакета.Параметры.Заполнить(СведенияОДокументе); 
СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Поставщик, СведенияОДокументе.ДатаДляПолученияСведений); 
ПредставлениеПоставщика = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( 
СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); 

ОбластьМакета.Параметры.Заполнить(Новый Структура("ПредставлениеПоставщика", ПредставлениеПоставщика)); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); 
ОбластьМакета.Параметры.Заполнить(СведенияОДокументе); 
СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Покупатель, СведенияОДокументе.ДатаДляПолученияСведений); 
ПредставлениеПокупателя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( 
СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); 
Основание = СокрЛП(Строка(СведенияОДокументе.ДоговорКонтрагента)); 
ДанныеПечатиПокупатель = Новый Структура; 
ДанныеПечатиПокупатель.Вставить("ПредставлениеПокупателя", ПредставлениеПокупателя); 
ДанныеПечатиПокупатель.Вставить("Основание", Основание); 

ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПокупатель); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки"); 
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов"); 
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные"); 
ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма"); 
ОбластьСтрокаПоставки= Макет.ПолучитьОбласть("ШапкаТаблицы|СтрокаПоставки"); 

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

ОбластьКолонкаТовар = Макет.Область("Товар"); 
Если Не ВыводитьКоды Тогда 
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; 
КонецЕсли; 
Если Не ЕстьСкидка И ЗначениеЗаполнено(Макет.Области.Найти("Скидка")) Тогда 
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("Скидка").ШиринаКолонки; 
КонецЕсли; 

ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки"); 
ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов"); 
ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные"); 
ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма");  
ОбластьСтрокаПоставки= Макет.ПолучитьОбласть("Строка|СтрокаПоставки");

Сумма = 0; 
СуммаНДС = 0; 
ВсегоСкидок = 0; 
ВсегоБезСкидок = 0; 
НомерСтроки = 0; 

Для Каждого Строка Из СведенияОДокументе.ТаблицаДокумента Цикл 

НомерСтроки = НомерСтроки + 1; 
ОбластьНомера.Параметры.Заполнить(Новый Структура("НомерСтроки", НомерСтроки)); 

ТабличныйДокумент.Вывести(ОбластьНомера); 

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

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


ОбластьСуммы.Параметры.Заполнить(Новый Структура("Сумма", ОбщегоНазначенияБПВызовСервера.ФорматСумм(Строка.Сумма - Строка.СуммаСкидки))); 

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

КонецЦикла; 

Если ЗначениеЗаполнено(Макет.Области.Найти("Подвал")) Тогда 

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); 
ТабличныйДокумент.Вывести(ОбластьПодвал); 

КонецЕсли; 

Если СведенияОДокументе.СуммаСкидки <> 0 Тогда 

Всего = Сумма + ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС); 
СуммаНДС = СуммаНДС*(Всего - СведенияОДокументе.СуммаСкидки)/Всего; 
Сумма = Всего - СведенияОДокументе.СуммаСкидки - ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС); 

Если ЗначениеЗаполнено(Макет.Области.Найти("СкидкаПоДокументу")) Тогда 

ОбластьСуммы = Макет.ПолучитьОбласть("СкидкаПоДокументу"); 

ОбластьСуммы.Параметры.Заполнить(Новый Структура("СуммаСкидки", ОбщегоНазначенияБПВызовСервера.ФорматСумм(СведенияОДокументе.СуммаСкидки))); 
ТабличныйДокумент.Вывести(ОбластьСуммы); 

КонецЕсли; 

ИначеЕсли ВсегоСкидок <> 0 Тогда 

Сумма = Сумма - ВсегоСкидок; 

КонецЕсли; 

ДанныеЗаполненияИтого = Новый Структура("Всего", ОбщегоНазначенияБПВызовСервера.ФорматСумм(Сумма)); 

Если СуммаНДС <> 0 Тогда 
НДС = ?(СведенияОДокументе.СуммаВключаетНДС, НСтр("ru='В том числе НДС:'"), НСтр("ru='Сумма НДС:'")); 
ВсегоНДС = ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаНДС); 
Иначе 
НДС = НСтр("ru='Без налога (НДС)'"); 
ВсегоНДС = НСтр("ru='-'"); 
КонецЕсли; 

ДанныеЗаполненияНДС = Новый Структура("НДС, ВсегоНДС", НДС, ВсегоНДС); 

СуммаКОплате = Сумма + ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС); 
ИтогоКОплате = ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаКОплате); 
ДанныеЗаполненияИтогоКОплате = Новый Структура("ИтогоКОплате", ИтогоКОплате); 

Если ЗначениеЗаполнено(Макет.Области.Найти("Скидка")) Тогда 

ОбластьИтого = Макет.ПолучитьОбласть("Итого"); 
ОбластьИтого.Параметры.Заполнить(ДанныеЗаполненияИтого); 

ТабличныйДокумент.Вывести(ОбластьИтого); 

// Вывести ИтогоНДС 
ОбластьИтогоНДС = Макет.ПолучитьОбласть("ИтогоНДС"); 
ОбластьИтогоНДС.Параметры.Заполнить(ДанныеЗаполненияНДС); 

ТабличныйДокумент.Вывести(ОбластьИтогоНДС); 

// Вывести ИтогоКОплате 
ОбластьИтогоКОплате = Макет.ПолучитьОбласть("ИтогоКОплате"); 
ОбластьИтогоКОплате.Параметры.Заполнить(ДанныеЗаполненияИтогоКОплате); 

ТабличныйДокумент.Вывести(ОбластьИтогоКОплате); 

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

ТабличныйДокумент.Вывести(ОбластьНомера); 
Если ВыводитьКоды Тогда 
ТабличныйДокумент.Присоединить(ОбластьКодов); 
КонецЕсли; 
ТабличныйДокумент.Присоединить(ОбластьДанных); 
ОбластьСумма.Параметры.Заполнить(ДанныеЗаполненияИтого); 
ТабличныйДокумент.Присоединить(ОбластьСумма); 

// Вывести ИтогоНДС 
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки"); 
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов"); 
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|Данные"); 
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоНДС|Сумма"); 

ТабличныйДокумент.Вывести(ОбластьНомера); 
Если ВыводитьКоды Тогда 
ТабличныйДокумент.Присоединить(ОбластьКодов); 
КонецЕсли; 
ОбластьДанных.Параметры.Заполнить(ДанныеЗаполненияНДС); 
ОбластьСуммы.Параметры.Заполнить(ДанныеЗаполненияНДС); 

ТабличныйДокумент.Присоединить(ОбластьДанных); 
ТабличныйДокумент.Присоединить(ОбластьСуммы); 

// Вывести ИтогоКОплате 
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоКОплате|НомерСтроки"); 
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоКОплате|КолонкаКодов"); 
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоКОплате|Данные"); 
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоКОплате|Сумма"); 
ТабличныйДокумент.Вывести(ОбластьНомера); 
Если ВыводитьКоды Тогда 
ТабличныйДокумент.Присоединить(ОбластьКодов); 
КонецЕсли; 
ТабличныйДокумент.Присоединить(ОбластьДанных); 
ОбластьСуммы.Параметры.Заполнить(ДанныеЗаполненияИтогоКОплате); 

ТабличныйДокумент.Присоединить(ОбластьСуммы); 

КонецЕсли; 

// Вывести Сумму прописью 
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); 
ДанныеПечатиСуммаПрописью = Новый Структура("ИтоговаяСтрока, СуммаПрописью"); 
СуммаКПрописи = Сумма + ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС); 
ДанныеПечатиСуммаПрописью.ИтоговаяСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Всего наименований %1, на сумму %2'"), 
НомерСтроки, ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаКПрописи, СведенияОДокументе.Валюта)); 
ДанныеПечатиСуммаПрописью.СуммаПрописью = ОбщегоНазначенияБПВызовСервера.СформироватьСуммуПрописью(СуммаКПрописи, СведенияОДокументе.Валюта); 
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиСуммаПрописью); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

ДвоичныеДанныеКартинки = Неопределено; 

ДобавленОтступПередДопУсловиями = Ложь; 

// Срок оплаты 
Если СведенияОДокументе.СрокОплаты <> Дата(1,1,1) И 
ЗначениеЗаполнено(Макет.Области.Найти("СрокОплаты")) Тогда 

// Добавим отступ перед текстом 
Если ЗначениеЗаполнено(Макет.Области.Найти("ДополнительныеУсловияОтступ")) Тогда 
ОбластьМакетаОтступ = Макет.ПолучитьОбласть("ДополнительныеУсловияОтступ"); 
ТабличныйДокумент.Вывести(ОбластьМакетаОтступ); 
ДобавленОтступПередДопУсловиями = Истина; 
КонецЕсли; 

ОбластьМакета = Макет.ПолучитьОбласть("СрокОплаты"); 
СтруктураПараметров = Новый Структура("СрокОплаты", Формат(СведенияОДокументе.СрокОплаты, "ДФ=dd.MM.yyyy"));
ОбластьМакета.Параметры.Заполнить(СтруктураПараметров); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

КонецЕсли; 

// Дополнительные условия 
Если НЕ ПустаяСтрока(СведенияОДокументе.ТекстДополнительныхУсловий) 
И ЗначениеЗаполнено(Макет.Области.Найти("ДополнительныеУсловия")) Тогда 

// Добавим отступ перед текстом 
Если НЕ ДобавленОтступПередДопУсловиями И 
ЗначениеЗаполнено(Макет.Области.Найти("ДополнительныеУсловияОтступ")) Тогда 
ОбластьМакетаОтступ = Макет.ПолучитьОбласть("ДополнительныеУсловияОтступ"); 
ТабличныйДокумент.Вывести(ОбластьМакетаОтступ); 
КонецЕсли; 

// Выводим построчно многострочный текст 
// для того, чтобы корректно печатались длинные тексты 
ОбластьМакета = Макет.ПолучитьОбласть("ДополнительныеУсловия"); 
ТекстДополнительныхУсловий = СведенияОДокументе.ТекстДополнительныхУсловий; 
ЧислоСтрокТекста = СтрЧислоСтрок(ТекстДополнительныхУсловий); 
Для СчетчикСтрок = 1 По ЧислоСтрокТекста Цикл 
СтруктураПараметров = Новый Структура("ТекстДополнительныхУсловий", СтрПолучитьСтроку(ТекстДополнительныхУсловий, СчетчикСтрок)); 
ОбластьМакета.Параметры.Заполнить(СтруктураПараметров); 
ТабличныйДокумент.Вывести(ОбластьМакета); 
КонецЦикла; 
КонецЕсли; 

// Вывести подписи 
Если СПечатью Тогда 
ДанныеФаксимиле = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлФаксимильнаяПечать);
Если ЗначениеЗаполнено(ДанныеФаксимиле.ДвоичныеДанные) Тогда 
ДвоичныеДанныеФаксимиле = ДанныеФаксимиле.ДвоичныеДанные; 
КонецЕсли; 
ДанныеПечать = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлПечать);
Если ЗначениеЗаполнено(ДанныеПечать.ДвоичныеДанные) Тогда 
ДвоичныеДанныеПечати = ДанныеПечать.ДвоичныеДанные; 
КонецЕсли; 
ДанныеПодписьРуководителя = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлПодписьРуководителя);
Если ЗначениеЗаполнено(ДанныеПодписьРуководителя.ДвоичныеДанные) Тогда 
ДвоичныеДанныеПодписьРуководителя = ДанныеПодписьРуководителя.ДвоичныеДанные; 
КонецЕсли; 
ДанныеПодписьГлавногоБухгалтера = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлПодписьГлавногоБухгалтера);
Если ЗначениеЗаполнено(ДанныеПодписьГлавногоБухгалтера.ДвоичныеДанные) Тогда 
ДвоичныеДанныеПодписьГлавногоБухгалтера = ДанныеПодписьГлавногоБухгалтера.ДвоичныеДанные; 
КонецЕсли; 
КонецЕсли; 

Если ЗначениеЗаполнено(ДвоичныеДанныеПечати) 
ИЛИ ЗначениеЗаполнено(ДвоичныеДанныеПодписьРуководителя) 
ИЛИ ЗначениеЗаполнено(ДвоичныеДанныеПодписьГлавногоБухгалтера) Тогда 

// Подставляем подписи только ответственных лиц 
ОтветственныеЛицаОрганизации = ОтветственныеЛицаБП.ОтветственныеЛица(СведенияОДокументе.Организация, СведенияОДокументе.ДатаДокумента); 

// В случае если счет выставляет предприниматель, который свои полномочия никому не делегировал - выводим специальный подвал документа 
Если СведенияОПолучателе.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо 
И (НЕ ЗначениеЗаполнено(СведенияОДокументе.РуководительФИО) 
ИЛИ СведенияОДокументе.Руководитель = СведенияОПолучателе.ИндивидуальныйПредприниматель 
ИЛИ ЗначениеЗаполнено(ДвоичныеДанныеПодписьРуководителя)) Тогда 

Если ЗначениеЗаполнено(Макет.Области.Найти("ПодвалСчетаПредпринимательСПодписьюИПечатью")) Тогда 
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредпринимательСПодписьюИПечатью"); 
ОбластьМакета.Рисунки.ПечатьПредпринимателя.Картинка = Новый Картинка(ДвоичныеДанныеПечати); 
ОбластьМакета.Рисунки.ПодписьПредпринимателя.Картинка = Новый Картинка(ДвоичныеДанныеПодписьРуководителя); 
Иначе 
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредприниматель"); 
КонецЕсли; 

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

// В случае если счет выставляет предприниматель, который свои полномочия никому не делегировал - выводим специальный подвал документа 
Если СведенияОПолучателе.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо 
И (НЕ ЗначениеЗаполнено(СведенияОДокументе.РуководительФИО) 
ИЛИ СведенияОДокументе.Руководитель = СведенияОПолучателе.ИндивидуальныйПредприниматель) Тогда 
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредприниматель"); 
ОбластьМакета.Параметры.Заполнить(Новый Структура("ФИОПредпринимателя", СведенияОПолучателе.ФамилияИнициалыФизлица)); 
Иначе 
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета"); 
ДанныеПечатиПодвалСчета = Новый Структура("ФИОРуководителя, ФИОБухгалтера", СведенияОДокументе.РуководительФИО, СведенияОДокументе.ГлавныйБухгалтерФИО); 
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПодвалСчета); 
КонецЕсли; 

ДанныеПечатиПодвалСчета = Новый Структура(); 
ДанныеПечатиПодвалСчета.Вставить("ЗаРуководителяПоПриказу", СведенияОДокументе.ЗаРуководителяНаОснованииНаименование); 
ДанныеПечатиПодвалСчета.Вставить("ЗаГлавногоБухгалтераПоПриказу", СведенияОДокументе.ЗаГлавногоБухгалтераНаОснованииНаименование); 
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПодвалСчета); 
КонецЕсли; 

ОбластьМакета.Параметры.Заполнить(СведенияОДокументе); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

// В табличном документе зададим имя области, в которую был 
// выведен объект. Нужно для возможности печати покомплектно. 
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 
НомерСтрокиНачало, ОбъектыПечати, СведенияОДокументе.Документ); 

КонецЦикла; 

Возврат ТабличныйДокумент; 
Показать


попробуйте заменить этот код в той функции, только все равно значения "СтрокаПоставки" будут пустые
26. FB_1673246522743408 21.05.18 13:38 Сейчас в теме
(25) Спасибо. А как сделать так что оно заполнилось ? Как на изображение я ввожу данные в поле оно должна появляться же.
Прикрепленные файлы:
27. burni4 87 21.05.18 13:49 Сейчас в теме
(26)
Перем ПодразделениеОтветственныхЛиц; 

УстановитьПривилегированныйРежим(Истина); 

ТабличныйДокумент = Новый ТабличныйДокумент; 
ТабличныйДокумент.АвтоМасштаб    = Истина; 
ТабличныйДокумент.ОриентацияСтраницы    = ОриентацияСтраницы.Портрет; 
ТабличныйДокумент.ИмяПараметровПечати    = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ"; 

ДополнительнаяКолонкаПечатныхФормДокументов = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); 
Если НЕ ЗначениеЗаполнено(ДополнительнаяКолонкаПечатныхФормДокументов) Тогда 
ДополнительнаяКолонкаПечатныхФормДокументов = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить; 
КонецЕсли; 
ВыводитьКоды = ДополнительнаяКолонкаПечатныхФормДокументов <> Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить; 

ПервыйДокумент = Истина; 

Для Каждого СведенияОДокументе Из СведенияСчетаНаОплату Цикл 

Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.ПФ_MXL_СчетЗаказ"); 

Если НЕ ПервыйДокумент Тогда 
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); 
КонецЕсли; 

ПервыйДокумент = Ложь; 
ЕстьСкидка = (СведенияОДокументе.ТаблицаДокумента.Итог("СуммаСкидки") <> 0) И ЗначениеЗаполнено(Макет.Области.Найти("Скидка")); 

// Запомним номер строки, с которой начали выводить текущий документ. 
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1; 

// Выводим шапку счета 
ВывестиЗаголовокПредупреждение(СведенияОДокументе.Получатель, ТабличныйДокумент, Макет); 

СведенияОПолучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДляПолученияСведений); 

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

Если ЗначениеЗаполнено(ДанныеКартинки) 
И ЗначениеЗаполнено(ДанныеКартинки.ДвоичныеДанные) 
И ЗначениеЗаполнено(Макет.Области.Найти("ЗаголовокСчетаСЛоготипом")) Тогда 
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчетаСЛоготипом"); 
Попытка 
ОбластьМакета.Рисунки.ЛоготипСчета.Картинка = Новый Картинка(ДанныеКартинки.ДвоичныеДанные); 
Исключение 
КонецПопытки; 
Иначе 
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета"); 
КонецЕсли; 

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

Если ТипЗнч(СведенияОДокументе.БанковскийСчетПродавца) = Тип("СправочникСсылка.БанковскиеСчета") Тогда 
ДанныеПечатиЗаголовокСчета.Вставить("БИКБанкаПолучателя",СведенияОДокументе.БикБанкаПолучателя); 
ДанныеПечатиЗаголовокСчета.Вставить("БанкПолучателя",СведенияОДокументе.БанкПолучателя); 
ДанныеПечатиЗаголовокСчета.Вставить("БанкПолучателяПредставление",СокрЛП(СведенияОДокументе.НаименованиеБанкаПолучателя));
ДанныеПечатиЗаголовокСчета.Вставить("СчетБанкаПолучателя",СведенияОДокументе.СчетБанкаПолучателя); 
ДанныеПечатиЗаголовокСчета.Вставить("СчетБанкаПолучателяПредставление",СведенияОДокументе.СчетБанкаПолучателя);
ДанныеПечатиЗаголовокСчета.Вставить("СчетПолучателяПредставление", СведенияОДокументе.НомерСчетаПолучателя);
ДанныеПечатиЗаголовокСчета.Вставить("СчетПолучателя", СведенияОДокументе.НомерСчетаПолучателя); 
КонецЕсли; 

ПредставлениеПолучателя = УчетДенежныхСредствБП.СформироватьТекстНаименованияПлательщикаПолучателя(, СведенияОДокументе.Получатель, СведенияОДокументе.БанковскийСчетПродавца); 
ДанныеПечатиЗаголовокСчета.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя); 
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиЗаголовокСчета); 

ТабличныйДокумент.Вывести(ОбластьМакета); 

ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); 

ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Счет на оплату № %1 от %2 г.'"), 
СведенияОДокументе.НомерДокумента, Формат(СведенияОДокументе.ДатаДокумента, "ДФ='дд ММММ гггг'")); 

ОбластьМакета.Параметры.Заполнить(Новый Структура("ТекстЗаголовка", ТекстЗаголовка)); 

ТабличныйДокумент.Вывести(ОбластьМакета); 

ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); 
ОбластьМакета.Параметры.Заполнить(СведенияОДокументе); 
СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Поставщик, СведенияОДокументе.ДатаДляПолученияСведений); 
ПредставлениеПоставщика = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( 
СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); 

ОбластьМакета.Параметры.Заполнить(Новый Структура("ПредставлениеПоставщика", ПредставлениеПоставщика)); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); 
ОбластьМакета.Параметры.Заполнить(СведенияОДокументе); 
СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Покупатель, СведенияОДокументе.ДатаДляПолученияСведений); 
ПредставлениеПокупателя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации( 
СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); 
Основание = СокрЛП(Строка(СведенияОДокументе.ДоговорКонтрагента)); 
ДанныеПечатиПокупатель = Новый Структура; 
ДанныеПечатиПокупатель.Вставить("ПредставлениеПокупателя", ПредставлениеПокупателя); 
ДанныеПечатиПокупатель.Вставить("Основание", Основание); 

ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПокупатель); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки"); 
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов"); 
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные"); 
ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма"); 
ОбластьСтрокаПоставки= Макет.ПолучитьОбласть("ШапкаТаблицы|СтрокаПоставки"); 

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

ОбластьКолонкаТовар = Макет.Область("Товар"); 
Если Не ВыводитьКоды Тогда 
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; 
КонецЕсли; 
Если Не ЕстьСкидка И ЗначениеЗаполнено(Макет.Области.Найти("Скидка")) Тогда 
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("Скидка").ШиринаКолонки; 
КонецЕсли; 

ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки"); 
ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов"); 
ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные"); 
ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма");  
ОбластьСтрокаПоставки= Макет.ПолучитьОбласть("Строка|СтрокаПоставки");

Сумма = 0; 
СуммаНДС = 0; 
ВсегоСкидок = 0; 
ВсегоБезСкидок = 0; 
НомерСтроки = 0; 

Для Каждого Строка Из СведенияОДокументе.ТаблицаДокумента Цикл 

НомерСтроки = НомерСтроки + 1; 
ОбластьНомера.Параметры.Заполнить(Новый Структура("НомерСтроки", НомерСтроки)); 

ТабличныйДокумент.Вывести(ОбластьНомера); 

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

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


ОбластьСуммы.Параметры.Заполнить(Новый Структура("Сумма,", ОбщегоНазначенияБПВызовСервера.ФорматСумм(Строка.Сумма - Строка.СуммаСкидки))); 

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

КонецЦикла; 

Если ЗначениеЗаполнено(Макет.Области.Найти("Подвал")) Тогда 

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); 
ТабличныйДокумент.Вывести(ОбластьПодвал); 

КонецЕсли; 

Если СведенияОДокументе.СуммаСкидки <> 0 Тогда 

Всего = Сумма + ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС); 
СуммаНДС = СуммаНДС*(Всего - СведенияОДокументе.СуммаСкидки)/Всего; 
Сумма = Всего - СведенияОДокументе.СуммаСкидки - ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС); 

Если ЗначениеЗаполнено(Макет.Области.Найти("СкидкаПоДокументу")) Тогда 

ОбластьСуммы = Макет.ПолучитьОбласть("СкидкаПоДокументу"); 

ОбластьСуммы.Параметры.Заполнить(Новый Структура("СуммаСкидки", ОбщегоНазначенияБПВызовСервера.ФорматСумм(СведенияОДокументе.СуммаСкидки))); 
ТабличныйДокумент.Вывести(ОбластьСуммы); 

КонецЕсли; 

ИначеЕсли ВсегоСкидок <> 0 Тогда 

Сумма = Сумма - ВсегоСкидок; 

КонецЕсли; 

ДанныеЗаполненияИтого = Новый Структура("Всего", ОбщегоНазначенияБПВызовСервера.ФорматСумм(Сумма)); 

Если СуммаНДС <> 0 Тогда 
НДС = ?(СведенияОДокументе.СуммаВключаетНДС, НСтр("ru='В том числе НДС:'"), НСтр("ru='Сумма НДС:'")); 
ВсегоНДС = ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаНДС); 
Иначе 
НДС = НСтр("ru='Без налога (НДС)'"); 
ВсегоНДС = НСтр("ru='-'"); 
КонецЕсли; 

ДанныеЗаполненияНДС = Новый Структура("НДС, ВсегоНДС", НДС, ВсегоНДС); 

СуммаКОплате = Сумма + ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС); 
ИтогоКОплате = ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаКОплате); 
ДанныеЗаполненияИтогоКОплате = Новый Структура("ИтогоКОплате", ИтогоКОплате); 

Если ЗначениеЗаполнено(Макет.Области.Найти("Скидка")) Тогда 

ОбластьИтого = Макет.ПолучитьОбласть("Итого"); 
ОбластьИтого.Параметры.Заполнить(ДанныеЗаполненияИтого); 

ТабличныйДокумент.Вывести(ОбластьИтого); 

// Вывести ИтогоНДС 
ОбластьИтогоНДС = Макет.ПолучитьОбласть("ИтогоНДС"); 
ОбластьИтогоНДС.Параметры.Заполнить(ДанныеЗаполненияНДС); 

ТабличныйДокумент.Вывести(ОбластьИтогоНДС); 

// Вывести ИтогоКОплате 
ОбластьИтогоКОплате = Макет.ПолучитьОбласть("ИтогоКОплате"); 
ОбластьИтогоКОплате.Параметры.Заполнить(ДанныеЗаполненияИтогоКОплате); 

ТабличныйДокумент.Вывести(ОбластьИтогоКОплате); 

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

ТабличныйДокумент.Вывести(ОбластьНомера); 
Если ВыводитьКоды Тогда 
ТабличныйДокумент.Присоединить(ОбластьКодов); 
КонецЕсли; 
ТабличныйДокумент.Присоединить(ОбластьДанных); 
ОбластьСумма.Параметры.Заполнить(ДанныеЗаполненияИтого); 
ТабличныйДокумент.Присоединить(ОбластьСумма); 

// Вывести ИтогоНДС 
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки"); 
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов"); 
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|Данные"); 
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоНДС|Сумма"); 

ТабличныйДокумент.Вывести(ОбластьНомера); 
Если ВыводитьКоды Тогда 
ТабличныйДокумент.Присоединить(ОбластьКодов); 
КонецЕсли; 
ОбластьДанных.Параметры.Заполнить(ДанныеЗаполненияНДС); 
ОбластьСуммы.Параметры.Заполнить(ДанныеЗаполненияНДС); 

ТабличныйДокумент.Присоединить(ОбластьДанных); 
ТабличныйДокумент.Присоединить(ОбластьСуммы); 

// Вывести ИтогоКОплате 
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоКОплате|НомерСтроки"); 
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоКОплате|КолонкаКодов"); 
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоКОплате|Данные"); 
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоКОплате|Сумма"); 
ТабличныйДокумент.Вывести(ОбластьНомера); 
Если ВыводитьКоды Тогда 
ТабличныйДокумент.Присоединить(ОбластьКодов); 
КонецЕсли; 
ТабличныйДокумент.Присоединить(ОбластьДанных); 
ОбластьСуммы.Параметры.Заполнить(ДанныеЗаполненияИтогоКОплате); 

ТабличныйДокумент.Присоединить(ОбластьСуммы); 

КонецЕсли; 

// Вывести Сумму прописью 
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); 
ДанныеПечатиСуммаПрописью = Новый Структура("ИтоговаяСтрока, СуммаПрописью"); 
СуммаКПрописи = Сумма + ?(СведенияОДокументе.СуммаВключаетНДС, 0, СуммаНДС); 
ДанныеПечатиСуммаПрописью.ИтоговаяСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Всего наименований %1, на сумму %2'"), 
НомерСтроки, ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаКПрописи, СведенияОДокументе.Валюта)); 
ДанныеПечатиСуммаПрописью.СуммаПрописью = ОбщегоНазначенияБПВызовСервера.СформироватьСуммуПрописью(СуммаКПрописи, СведенияОДокументе.Валюта); 
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиСуммаПрописью); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

ДвоичныеДанныеКартинки = Неопределено; 

ДобавленОтступПередДопУсловиями = Ложь; 

// Срок оплаты 
Если СведенияОДокументе.СрокОплаты <> Дата(1,1,1) И 
ЗначениеЗаполнено(Макет.Области.Найти("СрокОплаты")) Тогда 

// Добавим отступ перед текстом 
Если ЗначениеЗаполнено(Макет.Области.Найти("ДополнительныеУсловияОтступ")) Тогда 
ОбластьМакетаОтступ = Макет.ПолучитьОбласть("ДополнительныеУсловияОтступ"); 
ТабличныйДокумент.Вывести(ОбластьМакетаОтступ); 
ДобавленОтступПередДопУсловиями = Истина; 
КонецЕсли; 

ОбластьМакета = Макет.ПолучитьОбласть("СрокОплаты"); 
СтруктураПараметров = Новый Структура("СрокОплаты", Формат(СведенияОДокументе.СрокОплаты, "ДФ=dd.MM.yyyy"));
ОбластьМакета.Параметры.Заполнить(СтруктураПараметров); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

КонецЕсли; 

// Дополнительные условия 
Если НЕ ПустаяСтрока(СведенияОДокументе.ТекстДополнительныхУсловий) 
И ЗначениеЗаполнено(Макет.Области.Найти("ДополнительныеУсловия")) Тогда 

// Добавим отступ перед текстом 
Если НЕ ДобавленОтступПередДопУсловиями И 
ЗначениеЗаполнено(Макет.Области.Найти("ДополнительныеУсловияОтступ")) Тогда 
ОбластьМакетаОтступ = Макет.ПолучитьОбласть("ДополнительныеУсловияОтступ"); 
ТабличныйДокумент.Вывести(ОбластьМакетаОтступ); 
КонецЕсли; 

// Выводим построчно многострочный текст 
// для того, чтобы корректно печатались длинные тексты 
ОбластьМакета = Макет.ПолучитьОбласть("ДополнительныеУсловия"); 
ТекстДополнительныхУсловий = СведенияОДокументе.ТекстДополнительныхУсловий; 
ЧислоСтрокТекста = СтрЧислоСтрок(ТекстДополнительныхУсловий); 
Для СчетчикСтрок = 1 По ЧислоСтрокТекста Цикл 
СтруктураПараметров = Новый Структура("ТекстДополнительныхУсловий", СтрПолучитьСтроку(ТекстДополнительныхУсловий, СчетчикСтрок)); 
ОбластьМакета.Параметры.Заполнить(СтруктураПараметров); 
ТабличныйДокумент.Вывести(ОбластьМакета); 
КонецЦикла; 
КонецЕсли; 

// Вывести подписи 
Если СПечатью Тогда 
ДанныеФаксимиле = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлФаксимильнаяПечать);
Если ЗначениеЗаполнено(ДанныеФаксимиле.ДвоичныеДанные) Тогда 
ДвоичныеДанныеФаксимиле = ДанныеФаксимиле.ДвоичныеДанные; 
КонецЕсли; 
ДанныеПечать = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлПечать);
Если ЗначениеЗаполнено(ДанныеПечать.ДвоичныеДанные) Тогда 
ДвоичныеДанныеПечати = ДанныеПечать.ДвоичныеДанные; 
КонецЕсли; 
ДанныеПодписьРуководителя = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлПодписьРуководителя);
Если ЗначениеЗаполнено(ДанныеПодписьРуководителя.ДвоичныеДанные) Тогда 
ДвоичныеДанныеПодписьРуководителя = ДанныеПодписьРуководителя.ДвоичныеДанные; 
КонецЕсли; 
ДанныеПодписьГлавногоБухгалтера = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаИДвоичныеДанные(СведенияОДокументе.Получатель.ФайлПодписьГлавногоБухгалтера);
Если ЗначениеЗаполнено(ДанныеПодписьГлавногоБухгалтера.ДвоичныеДанные) Тогда 
ДвоичныеДанныеПодписьГлавногоБухгалтера = ДанныеПодписьГлавногоБухгалтера.ДвоичныеДанные; 
КонецЕсли; 
КонецЕсли; 

Если ЗначениеЗаполнено(ДвоичныеДанныеПечати) 
ИЛИ ЗначениеЗаполнено(ДвоичныеДанныеПодписьРуководителя) 
ИЛИ ЗначениеЗаполнено(ДвоичныеДанныеПодписьГлавногоБухгалтера) Тогда 

// Подставляем подписи только ответственных лиц 
ОтветственныеЛицаОрганизации = ОтветственныеЛицаБП.ОтветственныеЛица(СведенияОДокументе.Организация, СведенияОДокументе.ДатаДокумента); 

// В случае если счет выставляет предприниматель, который свои полномочия никому не делегировал - выводим специальный подвал документа 
Если СведенияОПолучателе.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо 
И (НЕ ЗначениеЗаполнено(СведенияОДокументе.РуководительФИО) 
ИЛИ СведенияОДокументе.Руководитель = СведенияОПолучателе.ИндивидуальныйПредприниматель 
ИЛИ ЗначениеЗаполнено(ДвоичныеДанныеПодписьРуководителя)) Тогда 

Если ЗначениеЗаполнено(Макет.Области.Найти("ПодвалСчетаПредпринимательСПодписьюИПечатью")) Тогда 
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредпринимательСПодписьюИПечатью"); 
ОбластьМакета.Рисунки.ПечатьПредпринимателя.Картинка = Новый Картинка(ДвоичныеДанныеПечати); 
ОбластьМакета.Рисунки.ПодписьПредпринимателя.Картинка = Новый Картинка(ДвоичныеДанныеПодписьРуководителя); 
Иначе 
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредприниматель"); 
КонецЕсли; 

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

// В случае если счет выставляет предприниматель, который свои полномочия никому не делегировал - выводим специальный подвал документа 
Если СведенияОПолучателе.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо 
И (НЕ ЗначениеЗаполнено(СведенияОДокументе.РуководительФИО) 
ИЛИ СведенияОДокументе.Руководитель = СведенияОПолучателе.ИндивидуальныйПредприниматель) Тогда 
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредприниматель"); 
ОбластьМакета.Параметры.Заполнить(Новый Структура("ФИОПредпринимателя", СведенияОПолучателе.ФамилияИнициалыФизлица)); 
Иначе 
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета"); 
ДанныеПечатиПодвалСчета = Новый Структура("ФИОРуководителя, ФИОБухгалтера", СведенияОДокументе.РуководительФИО, СведенияОДокументе.ГлавныйБухгалтерФИО); 
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПодвалСчета); 
КонецЕсли; 

ДанныеПечатиПодвалСчета = Новый Структура(); 
ДанныеПечатиПодвалСчета.Вставить("ЗаРуководителяПоПриказу", СведенияОДокументе.ЗаРуководителяНаОснованииНаименование); 
ДанныеПечатиПодвалСчета.Вставить("ЗаГлавногоБухгалтераПоПриказу", СведенияОДокументе.ЗаГлавногоБухгалтераНаОснованииНаименование); 
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиПодвалСчета); 
КонецЕсли; 

ОбластьМакета.Параметры.Заполнить(СведенияОДокументе); 
ТабличныйДокумент.Вывести(ОбластьМакета); 

// В табличном документе зададим имя области, в которую был 
// выведен объект. Нужно для возможности печати покомплектно. 
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 
НомерСтрокиНачало, ОбъектыПечати, СведенияОДокументе.Документ); 

КонецЦикла; 

Возврат ТабличныйДокумент; 
Показать

без отладчика не гарантирую правильность написания переменных, + просто наугад догадывался какие переменные указывали вы, можете заменить код на этот
FB_1673246522743408; +1 Ответить
28. FB_1673246522743408 21.05.18 14:05 Сейчас в теме
(27) Артем, огромное Вам человеческое спасибо. Благодарю Вас.Вы мне очень помогли.
29. burni4 87 21.05.18 14:06 Сейчас в теме
(28) не за что)
FB_1673246522743408; +1 Ответить
15. user769014 21.05.18 12:43 Сейчас в теме
(13) Если совсем сложно с поиском, можно попробовать воткнуть вашу колонку в уже созданную область
17. burni4 87 21.05.18 12:44 Сейчас в теме
(15) кстати, вариант хороший, и код не нужн оправить
20. FB_1673246522743408 21.05.18 12:46 Сейчас в теме
(17) Она не появляется, в область я ка кпонимаю допустим в место сумму вводить ? Так я пробовал. Не получается. Не выводится срок поставки.
24. bad_wag 48 21.05.18 13:08 Сейчас в теме
(17) Как это не нужно, а заполняться она чем будет?
18. FB_1673246522743408 21.05.18 12:45 Сейчас в теме
(15) пробовал не катит, там огранченное колонки нужно что то удалить. А удалить не получится все нужные области.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот