# Форум 1С > Конфигурирование, программирование 1С - Предприятие > Помощь >  Друзья помогите разобраться в коде

## lekhaplaton

Друзья помогите разобраться в коде. в УПД убрал а в счет фактуре не поймал стопом. Нужно убрать из даты часы и просто оставить дату.
Процедура ВывестиСчетФактуруВТаблич  ныйДокумент(ТабДокумент, Макет, ВыборкаСФ, ЭтоУниверсальныйПередаточ  ныйДокумент = Ложь)

	ТаблицаДокумента = ВыборкаСФ.ТаблицаДокумент  ;

	// Вывод шапки

	ДанныеШапки   = ВыборкаСФ.ДанныеШапки;

	ДатаДляПолученияМакета  = ?(ДанныеШапки.Исправление, ДанныеШапки.ДатаИсправлен  я, ДанныеШапки.Дата);
	ВедетсяУчетНДСПоФЗ56    = ВедетсяУчетНДСПоФЗ56(ДатаД  яПолученияМакета);
	ВерсияПостановления1137 = УчетНДСПереопределяемый.В  рсияПостановленияНДС1137(Да  таДляПолученияМакета);
	// Переопределим версию для целей первого этапа поддержки постановления Правительства Российской Федерации
	// от 19 августа 2017 г. № 981.
	Если ДатаДляПолученияМакета >= '20171001' Тогда 
		ВерсияПостановления1137 = 4;
	КонецЕсли;

	Если ВерсияПостановления1137 >= 4
		ИЛИ НЕ ВедетсяУчетНДСПоФЗ56 Тогда
		ОбластьМакета = Макет.ПолучитьОбласть("Шап  а");
	Иначе
		Если НЕ ЗначениеЗаполнено(Макет.Об  ласти.Найти("Шапка625")) Тогда 
			ТекстИсключения = НСтр("ru = 'C 01.07.2017 г. изменился типовой макет печатной формы счета-фактуры. Для использования 
			|новой формы необходимо обновить отредактированный ранее макет. 
			|Вы можете отредактировать макет самостоятельно в разделе ""Администрирование - Печатные формы,
			|отчеты, обработки - Макеты печатных форм"" или обратиться к специалисту обслуживающей организации.'");
			ВызватьИсключение ТекстИсключения;
		КонецЕсли;
		ОбластьМакета = Макет.ПолучитьОбласть("Шап  а625");
	КонецЕсли;

	ОбластьМакета.Параметры.За  полнить(ДанныеШапки);

	Если ЭтоУниверсальныйПередаточ  ныйДокумент Тогда

		//НомерСчетаФактуры = "Универсальный передаточный документ № " + ДанныеШапки.Номер;
		НомерСчетаФактуры = "Универсальный передаточный документ № " + ДанныеШапки.Номер + " от " + Формат(ДанныеШапки.Дата, "ДЛФ='ДД'");


		ОбластьМакета.Параметры.Но  мер = ДанныеШапки.Номер;
		//ОбластьМакета.Параметры.Да  та  = Формат(ДанныеШапки.Дата, "ДЛФ='Д'");

		ОбластьМакета.Параметры.Но  мерИсправления = ДанныеШапки.НомерИсправле  ия;
		ОбластьМакета.Параметры.Да  таИсправления  = Формат(ДанныеШапки.ДатаИсп  равления, "ДЛФ='Д'");

		ОбластьМакета.Параметры.По  Документу = ДанныеШапки.ПоДокументу;
		ОбластьМакета.Параметры.Ва  люта = ДанныеШапки.ВалютаНаимено  ание;
		Если ДатаДляПолученияМакета >= '20210701' Тогда 

			ОбластьМакета.Параметры.До  кументыОбОтгрузке = "№ п/п 1-"+ВыборкаСФ.СчетФактура.Док  ументОснование.Товары.коли  чество()+", № "+
			ПрефиксацияОбъектовКлиент  Сервер.УдалитьЛидирующиеН  лиИзНомераОбъекта(Выборка  СФ.СчетФактура.ДокументОсн  ование.номер)+
			" от "+Формат(ВыборкаСФ.СчетФакт  ура.ДокументОснование.Дата  ,"ДЛФ='Д'");

		КонецЕсли;

		ОбластьМакета.Параметры.Пр  едставлениеПоставщика = ДанныеШапки.Представление  оставщика;
		ОбластьМакета.Параметры.ИН  НПоставщика = ?(ДанныеШапки.Свойство("ИНН  ПППоставщика"), 
			ДанныеШапки.ИННКПППоставщ  ка, 
			"" + ДанныеШапки.ИННПоставщика + ?(ЗначениеЗаполнено(Данные  апки.КПППоставщика), "/" + ДанныеШапки.КПППоставщика, ""));
		ОбластьМакета.Параметры.Ад  ресПоставщика = ДанныеШапки.АдресПоставщи  а;
		ОбластьМакета.Параметры.Пр  едставлениеГрузоотправите  ля = ДанныеШапки.Представление  рузоотправителя;

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

	Иначе

		НомерСчетаФактуры =  ДанныеШапки.Номер;
		//НомерСчетаФактуры =  " от " + Формат(ДанныеШапки.Дата, "ДЛФ='ДД'");
		 //НомерСчетаФактуры = "Счет-фактура № " + ДанныеШапки.Номер + " от " + Формат(ДанныеШапки.Дата, "ДЛФ='ДД'");
		Если ДатаДляПолученияМакета >= '20210701' Тогда 

			ОбластьМакета.Параметры.До  кументыОбОтгрузке = "№ п/п 1-"+ВыборкаСФ.СчетФактура.Док  ументОснование.Товары.коли  чество()+", № "+
			ПрефиксацияОбъектовКлиент  Сервер.УдалитьЛидирующиеН  лиИзНомераОбъекта(Выборка  СФ.СчетФактура.ДокументОсн  ование.номер)
			//" от " + Формат(ВыборкаСФ.СчетФакту  ра.ДокументОснование.Дата);
			+" от "+Формат(ВыборкаСФ.СчетФакт  ура.ДокументОснование.Дата  ,"ДЛФ=DD");

		КонецЕсли;
		///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////platon

		ОбластьМакета.Параметры.Но  мер = НомерСчетаФактуры;
		//ОбластьМакета.Параметры.Но  мерИсправления = "Исправление № " + ДанныеШапки.НомерИсправле  ия ;
		ОбластьМакета.Параметры.Пр  едставлениеПоставщика =   ДанныеШапки.Представление  оставщика;
		ОбластьМакета.Параметры.Ад  ресПоставщика =   ДанныеШапки.АдресПоставщи  а;
		ОбластьМакета.Параметры.ИН  НПоставщика = "" + ?(ДанныеШапки.Свойство("ИНН  ПППоставщика"), 
			ДанныеШапки.ИННКПППоставщ  ка, 
			"" + ДанныеШапки.ИННПоставщика + ?(ЗначениеЗаполнено(Данные  апки.КПППоставщика), "/" + ДанныеШапки.КПППоставщика, ""));
		ОбластьМакета.Параметры.Пр  едставлениеГрузоотправите  ля =  ДанныеШапки.Представление  рузоотправителя;
		ОбластьМакета.Параметры.Пр  едставлениеГрузополучател  я =  ДанныеШапки.Представление  рузополучателя;
		ОбластьМакета.Параметры.По  Документу = ДанныеШапки.ПоДокументу;
		ОбластьМакета.Параметры.Пр  едставлениеПокупателя =  ДанныеШапки.Представление  окупателя;
		ОбластьМакета.Параметры.Ад  ресПокупателя =  ДанныеШапки.АдресПокупате  я;
		ОбластьМакета.Параметры.ИН  НПокупателя = "" + ?(ДанныеШапки.Свойство("ИНН  ПППокупателя"), 
			ДанныеШапки.ИННКПППокупат  ля, 
			"" + ДанныеШапки.ИННПокупателя + ?(ЗначениеЗаполнено(Данные  апки.КПППокупателя), "/" + ДанныеШапки.КПППокупателя, ""));
		ОбластьМакета.Параметры.Ва  люта =  ДанныеШапки.ВалютаНаимено  ание;

	КонецЕсли;
	   /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////platon
	ТабДокумент.Вывести(Област  ьМакета);

	Если ВедетсяУчетНДСПоФЗ56 Тогда 
		Если не ДатаДляПолученияМакета >= '20210701' Тогда 	


		Если НЕ ЗначениеЗаполнено(Макет.Об  ласти.Найти("Идентификатор  осКонтракта")) Тогда 
			ТекстИсключения = НСтр("ru = 'C 01.07.2017 г. изменился типовой макет печатной формы счета-фактуры. Для использования 
			|новой формы необходимо обновить отредактированный ранее макет. 
			|Вы можете отредактировать макет самостоятельно в разделе ""Администрирование - Печатные формы,
			|отчеты, обработки - Макеты печатных форм"" или обратиться к специалисту обслуживающей организации.'");
			ВызватьИсключение ТекстИсключения;
		КонецЕсли;
		ОбластьМакета = Макет.ПолучитьОбласть("Иде  тификаторГосКонтракта");
		Если ЭтоУниверсальныйПередаточ  ныйДокумент Тогда 
			ОбластьМакета.Параметры.Ид  ентификаторГосКонтракта = ДанныеШапки.Идентификатор  осКонтракта;
		Иначе
			Если ВерсияПостановления1137 >= 4 Тогда
				ШаблонЗаголовкаГосконтрак  т = НСтр("ru = 'Идентификатор государственного контракта, договора (соглашения) (при наличии): %1'");
			Иначе
				ШаблонЗаголовкаГосконтрак  т = НСтр("ru = 'Идентификатор государственного контракта, договора (соглашения): %1'");
			КонецЕсли;
			ОбластьМакета.Параметры.Ид  ентификаторГосКонтракта = СтроковыеФункцииКлиентСер  вер.ПодставитьПараметрыВС  року(
				ШаблонЗаголовкаГосконтрак  т, ДанныеШапки.Идентификатор  осКонтракта);
		КонецЕсли;
		ТабДокумент.Вывести(Област  ьМакета);
		КонецЕсли;
	КонецЕсли;

	// Вывод заголовка таблицы

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

	// Вывод табличной части

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

	КоличествоСтраниц = 1;

	СчетФактураБезНДС = Истина;
	НДСНеВыставляетя  = Истина;

	НомерСтроки = 0;
	НомерЛиста = 1;
	КоличествоСтрок = ТаблицаДокумента.Количест  о();
	Для каждого СтрокаДокумента Из ТаблицаДокумента Цикл

		НомерСтроки = НомерСтроки + 1;
		СтрокаДокумента.НомерСтро  и = НомерСтроки;

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

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

		ДозаполнитьСтрокуСчетаФак  туры1137(ОбластьМакета, ВыборкаСФ.ВидСчетаФактуры)  ;

		Если НЕ ПроверитьВыводСчетаФактур  ыНаСтраницу(ТабДокумент, ОбластьМакета, (НомерСтроки = КоличествоСтрок), Макет, НомерЛиста, НомерСчетаФактуры, ЭтоУниверсальныйПередаточ  ныйДокумент) Тогда
			КоличествоСтраниц = КоличествоСтраниц + 1;
		КонецЕсли;

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

		СчетФактураБезНДС = СчетФактураБезНДС И СтрокаДокумента.СуммаНДС = 0
			И СтрокаДокумента.СтавкаНДС = Перечисления.СтавкиНДС.Без  НДС;

		НДСНеВыставляетя = НДСНеВыставляетя И СтрокаДокумента.СуммаНДС = 0
			И НЕ ЗначениеЗаполнено(СтрокаД  кумента.СтавкаНДС);

	КонецЦикла;

	ТабДокумент.Область(ТабДок  умент.ВысотаТаблицы,,ТабДо  умент.ВысотаТаблицы,).Вмес  еСоСледующим = Истина;

	// Вывод итоговых сумм

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

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

	ОбластьМакета.Параметры.Ит  огоВсего = ТаблицаДокумента.Итог("Все  о");
	ТабДокумент.Вывести(Област  ьМакета);

	// Вывод подвала
	КоличествоЛистов = СтроковыеФункцииКлиентСер  вер.ПодставитьПараметрыВС  року(
		НСтр("ru = 'Документ составлен на%1%2 %3'"), Символы.ПС, КоличествоСтраниц,
		ОбщегоНазначенияБПКлиентС  ервер.ФормаМножественного  исла(
			НСтр("ru = 'листе'"), НСтр("ru = 'листах'"), НСтр("ru = 'листах'"), КоличествоСтраниц));

	ДанныеШапки.Вставить("Коли  ествоЛистов", КоличествоЛистов);

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

	// Вывод информации о комиссионере по договорам комиссии на закупку

	Если НЕ ЭтоУниверсальныйПередаточ  ныйДокумент И ЗначениеЗаполнено(ДанныеШ  пки.ПредставлениеКомиссио  нера) Тогда

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

	КонецЕсли;

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

----------


## GTA33

Поставьте стоп и посмотрите в отладчике требуемые значения,
если стоп не срабатывает -
то скорее всего, процедура исполняется в фоновом режиме - установите в конфигураторе галочку "ловить фоновые задания" - будет останавливаться где скажите.

----------


## barabambler

Из какого параметра то убрать? 
Формат разве не помогает?
ОбластьМакета.Параметры.Да  та = Формат(ДанныеШапки.Дата, "ДЛФ='Д'");

----------

mcmurphy) (02.09.2021)

----------

