PDA

Просмотр полной версии : Друзья помогите разобраться в коде



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

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

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

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

ДатаДляПолученияМакета = ?(ДанныеШапки.Исправление, ДанныеШапки.ДатаИсправлен� �я, ДанныеШапки.Дата);
ВедетсяУчетНДСПоФЗ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
08.08.2021, 21:38
Поставьте стоп и посмотрите в отладчике требуемые значения,
если стоп не срабатывает -
то скорее всего, процедура исполняется в фоновом режиме - установите в конфигураторе галочку "ловить фоновые задания" - будет останавливаться где скажите.

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