Есть внешняя обработка которая подтягивает Услуги в табличную часть счет фактуры, в коде ссылка на общий макет, подскажите как добавить ссылку на свой макет для заполнения.Функция Печать() Экспорт
Если НЕ СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.Корректировочный Тогда
ОбщиеДанныеДляПечати = СсылкаНаОбъект.ПолучитьОбъект().ПодготовитьОбщиеДанныеДляПечатиСчетаФактуры();
Если ОбщиеДанныеДляПечати = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
Если ОбщиеДанныеДляПечати.Свойство("ТабличнаяЧасть") И ОбщиеДанныеДляПечати.ТабличнаяЧасть.Колонки.Найти("ТоварНаименование") <> Неопределено Тогда
Для Каждого Стр из ОбщиеДанныеДляПечати.ТабличнаяЧасть Цикл
//Стр.ТоварНаименование = Стр.ТоварНаименование+" по договору № "+СсылкаНаОбъект.договорКонтрагента.Номер+ " от "+формат(СсылкаНаОбъект.договорКонтрагента.дата,"ДФ=dd.MM.yyyy")+?(значениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента.комментарий)," и "+СсылкаНаОбъект.ДоговорКонтрагента.комментарий,"")+"("+ СсылкаНаОбъект.договорКонтрагента.наименование+")" ;
Стр.ТоварНаименование = Стр.ТоварНаименование+" по "+ СсылкаНаОбъект.договорКонтрагента.наименование +" от "+формат(СсылкаНаОбъект.договорКонтрагента.дата,"ДФ=dd.MM.yyyy")+?(значениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента.комментарий)," и "+СсылкаНаОбъект.ДоговорКонтрагента.комментарий,"") ;
КонецЦикла;
КонецЕсли;
Если УчетНДС.ПолучитьВерсиюПостановления(СсылкаНаОбъект.Дата) = 1 Тогда
ТабДокумент = СсылкаНаОбъект.ПолучитьОбъект().ПечатьСчетаФактуры(ОбщиеДанныеДляПечати);
Иначе
ТабДокумент = СсылкаНаОбъект.ПолучитьОбъект().ПечатьСчетаФактуры1137(ОбщиеДанныеДляПечати);
КонецЕсли;
Иначе // Корректировочный счет-фактура
ОбщиеДанныеДляПечати = СсылкаНаОбъект.ПолучитьОбъект().ПодготовитьОбщиеДанныеДляПечатиКорректировочногоСчетаФактуры();
Если ОбщиеДанныеДляПечати = Неопределено Тогда
ТабДокумент = Неопределено;
Иначе
//***МК \/
Если ОбщиеДанныеДляПечати.Свойство("ТабличнаяЧасть") И ОбщиеДанныеДляПечати.ТабличнаяЧасть.Колонки.Найти("НаименованиеТовара") <> Неопределено Тогда
Для Каждого Стр из ОбщиеДанныеДляПечати.ТабличнаяЧасть Цикл
Стр.НаименованиеТовара = Стр.НаименованиеТовара+" по договору № "+СсылкаНаОбъект.договорКонтрагента.Номер+ " от "+формат(СсылкаНаОбъект.договорКонтрагента.дата,"ДФ=dd.MM.yyyy")+?(значениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента.комментарий)," "+СсылкаНаОбъект.ДоговорКонтрагента.комментарий,"")+"("+ СсылкаНаОбъект.договорКонтрагента.ВидВзаиморасчетов+")" ;
//Стр.НаименованиеТовара = Стр.НаименованиеТовара+" по договору от "+формат(СсылкаНаОбъект.договорКонтрагента.дата,"ДФ=dd.MM.yyyy")+?(значениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента.комментарий)," "+СсылкаНаОбъект.ДоговорКонтрагента.комментарий,"")+" "+ СсылкаНаОбъект.договорКонтрагента.ВидВзаиморасчетов ;
КонецЦикла;
КонецЕсли;
//***МК /\
ТабДокумент = ПечатьКорректировочногоСчетаФактуры1137(ОбщиеДанныеДляПечати);
КонецЕсли;
КонецЕсли;
Возврат ТабДокумент;
КонецФункции
Функция ПечатьКорректировочногоСчетаФактуры1137(ДанныеДляПечати)
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ПолеСверху = 0;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Если УчетНДС.ВерсияПостановленияНДС1137(ДанныеДляПечати.Дата) > 1 Тогда
//Если ДанныеДляПечати.ДатаСчетФактуры < '20171001' Тогда
Если ДанныеДляПечати.Дата < '20171001' Тогда
Макет = ПолучитьОбщийМакет("КорректировочныйСчетФактура952");
Иначе
Макет = ПолучитьОбщийМакет("КорректировочныйСчетФактура981");
КонецЕсли;
Иначе
Макет = ПолучитьОбщийМакет("КорректировочныйСчетФактура1137");
КонецЕсли;
УчетНДС.ВывестиКорректировочныйСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ДанныеДляПечати);
Возврат ТабДокумент;
КонецФункции
Если НЕ СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.Корректировочный Тогда
ОбщиеДанныеДляПечати = СсылкаНаОбъект.ПолучитьОбъект().ПодготовитьОбщиеДанныеДляПечатиСчетаФактуры();
Если ОбщиеДанныеДляПечати = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
Если ОбщиеДанныеДляПечати.Свойство("ТабличнаяЧасть") И ОбщиеДанныеДляПечати.ТабличнаяЧасть.Колонки.Найти("ТоварНаименование") <> Неопределено Тогда
Для Каждого Стр из ОбщиеДанныеДляПечати.ТабличнаяЧасть Цикл
//Стр.ТоварНаименование = Стр.ТоварНаименование+" по договору № "+СсылкаНаОбъект.договорКонтрагента.Номер+ " от "+формат(СсылкаНаОбъект.договорКонтрагента.дата,"ДФ=dd.MM.yyyy")+?(значениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента.комментарий)," и "+СсылкаНаОбъект.ДоговорКонтрагента.комментарий,"")+"("+ СсылкаНаОбъект.договорКонтрагента.наименование+")" ;
Стр.ТоварНаименование = Стр.ТоварНаименование+" по "+ СсылкаНаОбъект.договорКонтрагента.наименование +" от "+формат(СсылкаНаОбъект.договорКонтрагента.дата,"ДФ=dd.MM.yyyy")+?(значениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента.комментарий)," и "+СсылкаНаОбъект.ДоговорКонтрагента.комментарий,"") ;
КонецЦикла;
КонецЕсли;
Если УчетНДС.ПолучитьВерсиюПостановления(СсылкаНаОбъект.Дата) = 1 Тогда
ТабДокумент = СсылкаНаОбъект.ПолучитьОбъект().ПечатьСчетаФактуры(ОбщиеДанныеДляПечати);
Иначе
ТабДокумент = СсылкаНаОбъект.ПолучитьОбъект().ПечатьСчетаФактуры1137(ОбщиеДанныеДляПечати);
КонецЕсли;
Иначе // Корректировочный счет-фактура
ОбщиеДанныеДляПечати = СсылкаНаОбъект.ПолучитьОбъект().ПодготовитьОбщиеДанныеДляПечатиКорректировочногоСчетаФактуры
Если ОбщиеДанныеДляПечати = Неопределено Тогда
ТабДокумент = Неопределено;
Иначе
//***МК \/
Если ОбщиеДанныеДляПечати.Свойство("ТабличнаяЧасть") И ОбщиеДанныеДляПечати.ТабличнаяЧасть.Колонки.Найти("НаименованиеТовара") <> Неопределено Тогда
Для Каждого Стр из ОбщиеДанныеДляПечати.ТабличнаяЧасть Цикл
Стр.НаименованиеТовара = Стр.НаименованиеТовара+" по договору № "+СсылкаНаОбъект.договорКонтрагента.Номер+ " от "+формат(СсылкаНаОбъект.договорКонтрагента.дата,"ДФ=dd.MM.yyyy")+?(значениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента.комментарий)," "+СсылкаНаОбъект.ДоговорКонтрагента.комментарий,"")+"("+ СсылкаНаОбъект.договорКонтрагента.ВидВзаиморасчетов+")" ;
//Стр.НаименованиеТовара = Стр.НаименованиеТовара+" по договору от "+формат(СсылкаНаОбъект.договорКонтрагента.дата,"ДФ=dd.MM.yyyy")+?(значениеЗаполнено(СсылкаНаОбъект.ДоговорКонтрагента.комментарий)," "+СсылкаНаОбъект.ДоговорКонтрагента.комментарий,"")+" "+ СсылкаНаОбъект.договорКонтрагента.ВидВзаиморасчетов ;
КонецЦикла;
КонецЕсли;
//***МК /\
ТабДокумент = ПечатьКорректировочногоСчетаФактуры1137(ОбщиеДанныеДляПечати);
КонецЕсли;
КонецЕсли;
Возврат ТабДокумент;
КонецФункции
Функция ПечатьКорректировочногоСчетаФактуры1137(ДанныеДляПечати)
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ПолеСверху = 0;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Если УчетНДС.ВерсияПостановленияНДС1137(ДанныеДляПечати.Дата) > 1 Тогда
//Если ДанныеДляПечати.ДатаСчетФактуры < '20171001' Тогда
Если ДанныеДляПечати.Дата < '20171001' Тогда
Макет = ПолучитьОбщийМакет("КорректировочныйСчетФактура952");
Иначе
Макет = ПолучитьОбщийМакет("КорректировочныйСчетФактура981");
КонецЕсли;
Иначе
Макет = ПолучитьОбщийМакет("КорректировочныйСчетФактура1137");
КонецЕсли;
УчетНДС.ВывестиКорректировочныйСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ДанныеДляПечати);
Возврат ТабДокумент;
КонецФункции
По теме из базы знаний
- Печать ценников с выбором макета ценника (УТ 10.3)
- [ТАКСИ] Шаблон внешней обработки...и не только
- Как вывести табличный документ на печать в управляемой форме внешней обработки
- Управляемая консоль запросов, отчетов 3.9.0 (расширение, внешняя обработка)
- Уведомление о предстоящем отпуске согласно графику отпусков (внешняя обработка по расписанию регламентного задания)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот