Добрый вечер!
Пишу ВПФ для УПД возникла проблема с выводом макета для документов РеализацияТоваровУслуг. При печати из Счет фактуры макет выводится.
Код прилагаю.
При попытки печати формы из Реализации выводится ошибка : универсальный передаточный документ не применяется'
Пишу ВПФ для УПД возникла проблема с выводом макета для документов РеализацияТоваровУслуг. При печати из Счет фактуры макет выводится.
Код прилагаю.
Процедура Печать(МассивОбъектов,КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПараметрыПечати = новый Структура();
ЕстьСчетаФактурыВыданные = Ложь;
ЕстьСчетаФактурыПолученные = Ложь;
Для каждого Объект Из МассивОбъектов Цикл
Если ТипЗнч(Объект) = Тип("ДокументСсылка.СчетФактураВыданный") Тогда
ЕстьСчетаФактурыВыданные = Истина;
Прервать;
ИначеЕсли ТипЗнч(Объект) = Тип("ДокументСсылка.СчетФактураПолученный") Тогда
ЕстьСчетаФактурыПолученные = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
//
////Если ЕстьСчетаФактурыВыданные И УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_УПД") Тогда
// Макет = ПолучитьМакет("ПФ_MXL_УПД")
// Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм,
// "ПФ_MXL_УПД") Тогда
// КонецЕсли;
// //УчетНДС.ПечатьУниверсальныхПередаточныхДокументов(МассивОбъектов, ОбъектыПечати,
// //Документы.СчетФактураВыданный.ТекстЗапросаПечатьСчетовФактур(Истина, Истина, Ложь),,, ПараметрыПечати),,
// //"ПФ_MXL_УПД");
//КонецЕсли;
//Если ЕстьСчетаФактурыВыданные И УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_УПД") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПФ_MXL_УПД", "УПД(внешняя)",
ПечатьУниверсальныхПередаточныхДокументов(МассивОбъектов, ОбъектыПечати,
Документы.СчетФактураПолученный.ТекстЗапросаПечатьСчетовФактур(Истина, Ложь),,, ПараметрыПечати),,
"ПФ_MXL_УПД");
//КонецЕсли;
//
//Если ЕстьСчетаФактурыВыданные И УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДСтатус1_981") Тогда
//
// УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УПДСтатус1_981", "УПД (статус 1)",
// УчетНДС.ПечатьУниверсальныхПередаточныхДокументов981(МассивОбъектов, ОбъектыПечати,
// Документы.СчетФактураВыданный.ТекстЗапросаПечатьСчетовФактур(Истина, Истина, Истина),,, ПараметрыПечати),,
// "Обработка.ПечатьУПД.ПФ_MXL_УниверсальныйПередаточныйДокумент981");
//
//КонецЕсли;
//
//Если ЕстьСчетаФактурыПолученные И УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДСтатус1_981") Тогда
//
// УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УПДСтатус1_981", "УПД (статус 1)",
// УчетНДС.ПечатьУниверсальныхПередаточныхДокументов981(МассивОбъектов, ОбъектыПечати,
// Документы.СчетФактураПолученный.ТекстЗапросаПечатьСчетовФактур(Истина, Истина),,, ПараметрыПечати),,
// "Обработка.ПечатьУПД.ПФ_MXL_УниверсальныйПередаточныйДокумент981");
//
//КонецЕсли;
//
//Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДСтатус2") Тогда
// ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = "";
// Для каждого Объект Из МассивОбъектов Цикл
// Если ТипЗнч(Объект) <> Тип("ДокументСсылка.СчетФактураВыданный")
// И ТипЗнч(Объект) <> Тип("ДокументСсылка.СчетФактураПолученный") Тогда
// ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов =
// Документы[Объект.Метаданные().Имя].ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов(Ложь);
// Прервать;
// КонецЕсли;
// КонецЦикла;
// Если НЕ ПустаяСтрока(ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов) Тогда
// УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УПДСтатус2", "УПД (статус 2)",
// УчетНДС.ПечатьУниверсальныхПередаточныхДокументов(МассивОбъектов, ОбъектыПечати,
// ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов, Истина,, ПараметрыПечати),,
// "Обработка.ПечатьУПД.ПФ_MXL_УниверсальныйПередаточныйДокумент");
// КонецЕсли;
//КонецЕсли;
//
//Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДСтатус2_981") Тогда
// ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = "";
// Для каждого Объект Из МассивОбъектов Цикл
// Если ТипЗнч(Объект) <> Тип("ДокументСсылка.СчетФактураВыданный")
// И ТипЗнч(Объект) <> Тип("ДокументСсылка.СчетФактураПолученный") Тогда
// ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов =
// Документы[Объект.Метаданные().Имя].ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов(Истина);
// Прервать;
// КонецЕсли;
// КонецЦикла;
// Если НЕ ПустаяСтрока(ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов) Тогда
// УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УПДСтатус2_981", "УПД (статус 2)",
// УчетНДС.ПечатьУниверсальныхПередаточныхДокументов981(МассивОбъектов, ОбъектыПечати,
// ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов, Истина,, ПараметрыПечати),,
// "Обработка.ПечатьУПД.ПФ_MXL_УниверсальныйПередаточныйДокумент981");
// КонецЕсли;
//КонецЕсли;
//
//ОбщегоНазначенияБП.ЗаполнитьДополнительныеПараметрыПечати(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
КонецПроцедуры
Функция ПечатьУниверсальныхПередаточныхДокументов(МассивОбъектов, ОбъектыПечати, ТекстЗапросаДокументам, ТолькоПередаточныйДокумент = Ложь, ТабДокумент = Неопределено, ПараметрыПечати) Экспорт
Если ТабДокумент = Неопределено Тогда
ТабДокумент = Новый ТабличныйДокумент;
Иначе
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДокумент.ЭкземпляровНаСтранице = 1;
ТабДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УниверсальныйПередаточныйДокумент";
УстановкаМинимальныхПолейДляПечати(ТабДокумент);
Макет = ПолучитьМакет("ПФ_MXL_УПД");
Возврат ТабличныйДокументУПД(
Макет, МассивОбъектов, ОбъектыПечати, ТабДокумент, ТекстЗапросаДокументам, ТолькоПередаточныйДокумент, ПараметрыПечати);
КонецФункции
Функция ТабличныйДокументУПД(Макет, МассивОбъектов, ОбъектыПечати, ТабДокумент, ТекстЗапросаДокументам, ТолькоПередаточныйДокумент, ПараметрыПечати)
// Исключим из массива документы на чтение которых у пользователя нет прав
УправлениеДоступомБП.УдалитьНедоступныеЭлементыИзМассива(МассивОбъектов);
УстановитьПривилегированныйРежим(Истина);
Если МассивОбъектов.Количество() = 0 Тогда
ДанныеУниверсальныхПередаточныхДокументов = НовыйТаблицаСчетовФактур();
ИначеЕсли ТолькоПередаточныйДокумент Тогда
ДанныеУниверсальныхПередаточныхДокументов = ПолучитьДанныеДляПечатиУниверсальногоПередаточногоДокумента(
МассивОбъектов, ТекстЗапросаДокументам);
Иначе
ДанныеУниверсальныхПередаточныхДокументов = ПолучитьДанныеДляПечатиСчетаФактуры1137(
МассивОбъектов, ТекстЗапросаДокументам, Истина);
КонецЕсли;
ПервыйДокумент = Истина;
СтрокиПечати = Новый СписокЗначений;
Для Каждого ВыборкаУПД ИЗ ДанныеУниверсальныхПередаточныхДокументов Цикл
ОбъектыПечати.Добавить(ВыборкаУПД.Ссылка);
Если ЗначениеЗаполнено(ВыборкаУПД.Дата)
И ВыборкаУПД.Дата < '20130101'
И ТипЗнч(ВыборкаУПД.СчетФактура) <> Тип("ДокументСсылка.СчетФактураПолученный") Тогда
Продолжить;
КонецЕсли;
ТаблицаДокумента = ВыборкаУПД.ТаблицаДокумента;
Если ТаблицаДокумента = Неопределено Тогда
Продолжить;
КонецЕсли;
Если НЕ ПервыйДокумент Тогда
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
// Запомним номер строки, с которой начали выводить текущий документ.
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
ВывестиСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ВыборкаУПД, Истина);
// Вывод подвала накладной
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
ТабДокумент.Вывести(ОбластьМакета);
// В табличном документе зададим имя области, в которую был выведен объект.
// Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент,
НомерСтрокиНачало,СтрокиПечати, СтрШаблон("%1#%2", ВыборкаУПД.Ссылка.УникальныйИдентификатор(), Строка(ВыборкаУПД.НомерСтроки)));
ЭлементСписка = ОбъектыПечати.НайтиПоЗначению(ВыборкаУПД.Ссылка);
ЭлементСписка.Представление = СтрокиПечати[СтрокиПечати.Количество()-1].Представление;
УправлениеПечатьюБП.ДополнитьДокументПодписьюИПечатью(ТабДокумент, ВыборкаУПД, ОбъектыПечати, ПараметрыПечати);
КонецЦикла;
Если МассивОбъектов.Количество() = 1 И ПервыйДокумент Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Для %1 универсальный передаточный документ не применяется'"), Строка(МассивОбъектов[0]));
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеОбОшибке);
КонецЕсли;
Возврат ТабДокумент;
ПоказатьПри попытки печати формы из Реализации выводится ошибка : универсальный передаточный документ не применяется'
По теме из базы знаний
- УПД для документа "Поступление товаров и услуг" (БП 3.0) за поставщика
- Акт сверки без префиксов документов. БП 3.0
- УПД со штрих-кодом номенклатуры. 1С: Бухгалтерия 3.0 пост. пост №1096 2024
- Cчет-фактура и УПД № 534 по Постановлению Правительства РФ от 02.04.2021г. (БП 3.0, ВПФ)
- Универсальный передаточный документ (УПД) для Бухгалтерии 3.0
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Это вот этот код:
А правильный он или нет, разбирайтесь.
При попытки печати формы из Реализации выводится ошибка : универсальный передаточный документ не применяется'
Это вот этот код:
Если МассивОбъектов.Количество() = 1 И ПервыйДокумент Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Для %1 универсальный передаточный документ не применяется'"), Строка(МассивОбъектов[0]));
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеОбОшибке);
КонецЕсли;
А правильный он или нет, разбирайтесь.
Пишу ВПФ для УПД возникла проблема с выводом макета для документов РеализацияТоваровУслуг. При печати из Счет фактуры макет выводится.
Это происходит из-за того, что в документе Реализация не передается параметр «Статус», а в счет-фактуре он есть.
(5) УПД можно сформировать из накладной только в случае, если организация не является плательщиком НДС (т.е. если сч-ф не используется). Если же организация работает с НДС и использует сч-ф, то УПД можно напечатать только из сч-ф.
Ищите в коде где установлен запрет на вывод печатной формы.
Ищите в коде где установлен запрет на вывод печатной формы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот