|
Ошибка при загрузке внешней печатной формы, бух 3.0 | ☑ | ||
---|---|---|---|---|
0
scorp364
26.02.16
✎
12:56
|
Помогите пожалуйста
Ошибка: {ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(238)}: В обработчике печати не был сформирован табличный документ для: Акт взаимозачета (ВПФ) ВызватьИсключение(ТекстСообщенияОбОшибке); Код: роцедура Печать(МассивОбъектов,КоллекцияПечатныхФорм,ОбъектыПечати, ПараметрыВывода) Экспорт // Проверяем, нужно ли для макета ОтчетККМ формировать табличный документ. Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "КорректировкаДолга") Тогда // Формируем табличный документ и добавляем его в коллекцию печатных форм. УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "КорректировкаДолга", "Акт взаимозачета", ПечатьАктаВзаимозачета(МассивОбъектов, ОбъектыПечати)); КонецЕсли; КонецПроцедуры Функция ПечатьАктаВзаимозачета(МассивОбъектов, ОбъектыПечати) УстановитьПривилегированныйРежим(Истина); ВалютаРеглУчета = ОбщегоНазначенияБПВызовСервераПовтИсп.ПолучитьВалютуРегламентированногоУчета(); ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.РазмерКолонтитулаСверху = 0; ТабличныйДокумент.РазмерКолонтитулаСнизу = 0; ТабличныйДокумент.АвтоМасштаб = Истина; ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КорректировкаДолга_Акт"; Запрос = Новый Запрос(); Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов); Запрос.Текст = "ВЫБРАТЬ | КорректировкаДолга.Ссылка, | КорректировкаДолга.Номер, | КорректировкаДолга.Дата КАК Дата, | КорректировкаДолга.КонтрагентДебитор КАК Дебитор, | КорректировкаДолга.КонтрагентКредитор КАК Кредитор, | КорректировкаДолга.Организация, | КорректировкаДолга.ВалютаДокумента, | КорректировкаДолга.ДебиторскаяЗадолженность.( | ДоговорКонтрагента, | ДоговорКонтрагента.Наименование КАК ДоговорПредставление, | Сумма, | СуммаВзаиморасчетов | ), | КорректировкаДолга.КредиторскаяЗадолженность.( | ДоговорКонтрагента, | ДоговорКонтрагента.Наименование КАК ДоговорПредставление, | Сумма, | СуммаВзаиморасчетов | ) |ИЗ | Документ.КорректировкаДолга КАК КорректировкаДолга |ГДЕ | КорректировкаДолга.Ссылка В(&МассивОбъектов) | |УПОРЯДОЧИТЬ ПО | Дата, | КорректировкаДолга.Ссылка, | КорректировкаДолга.ДебиторскаяЗадолженность.НомерСтроки, | КорректировкаДолга.КредиторскаяЗадолженность.НомерСтроки"; Шапка = Запрос.Выполнить().Выбрать(); ПервыйДокумент = Истина; Пока Шапка.Следующий() Цикл Если Не ПервыйДокумент Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ПервыйДокумент = Ложь; // Запомним номер строки, с которой начали выводить текущий документ. НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1; //Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.КорректировкаДолга.ПФ_MXL_Взаимозачет"); Макет = ПолучитьМакет("ПФ_MXL_Взаимозачет"); ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.Заполнить(Шапка); СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата); ПредставлениеОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,"); СведенияОКонтрагенте = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Кредитор, Шапка.Дата); ПредставлениеКредитора = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,"); СтрокаКредиторки = НСтр("ru = '1. Задолженность %ПредставлениеОрганизации% перед %ПредставлениеКредитора% составляет'")+ " "; СтрокаКредиторки = СтрЗаменить(СтрокаКредиторки,"%ПредставлениеОрганизации%",ПредставлениеОрганизации); СтрокаКредиторки = СтрЗаменить(СтрокаКредиторки,"%ПредставлениеКредитора%",ПредставлениеКредитора); Если Шапка.ВалютаДокумента = ВалютаРеглУчета или НЕ ЗначениеЗаполнено(Шапка.ВалютаДокумента) Тогда КолонкаСуммы = "Сумма"; ПредставлениеВалюты = строка(ВалютаРеглУчета); Иначе КолонкаСуммы = "СуммаВзаиморасчетов"; ПредставлениеВалюты = строка(Шапка.ВалютаДокумента); КонецЕсли; ДебиторскаяЗадолженность = Шапка.ДебиторскаяЗадолженность.Выгрузить(); КредиторскаяЗадолженность = Шапка.КредиторскаяЗадолженность.Выгрузить(); ДебиторскаяЗадолженность.Свернуть("ДоговорКонтрагента,ДоговорПредставление","Сумма,СуммаВзаиморасчетов"); ДебиторскаяЗадолженность.Сортировать("ДоговорПредставление,Сумма"); КредиторскаяЗадолженность.Свернуть("ДоговорКонтрагента,ДоговорПредставление","Сумма,СуммаВзаиморасчетов"); КредиторскаяЗадолженность.Сортировать("ДоговорПредставление,Сумма"); СтрокаШапки = НСтр("ru = 'Акт взаимозачета № %Номер% от %Дата%'"); СтрокаШапки = СтрЗаменить(СтрокаШапки,"%Номер%", ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Шапка.Номер, Истина, Ложь)); СтрокаШапки = СтрЗаменить(СтрокаШапки,"%Дата%", Формат(Шапка.Дата, "ДЛФ=DD")); СтрокаКредиторки = СтрокаКредиторки + Формат(КредиторскаяЗадолженность.Итог(КолонкаСуммы), "ЧЦ=15; ЧДЦ=2; ЧН=Ноль") + " " + ПредставлениеВалюты + " " +НСтр("ru = 'по следующим договорам:'"); ОбластьМакета.Параметры.СтрокаШапки = СтрокаШапки; ОбластьМакета.Параметры.СтрокаКредиторки = СтрокаКредиторки; ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("СтрокаКредиторки"); Для каждого СтрокаЗадолженности Из КредиторскаяЗадолженность Цикл ОбластьМакета.Параметры.СтрокаДокументовКред = сокрЛП(СтрокаЗадолженности.ДоговорПредставление) + " :"+ символы.Таб + Формат(СтрокаЗадолженности[КолонкаСуммы], "ЧЦ=15; ЧДЦ=2; ЧН=Ноль") + " " + ПредставлениеВалюты; ТабличныйДокумент.Вывести(ОбластьМакета); КонецЦикла; ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокДебиторки"); СведенияОКонтрагенте = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Дебитор, Шапка.Дата); ПредставлениеДебитора = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,"); СтрокаДебиторки = НСтр("ru = '2. Задолженность %ПредставлениеДебитора% перед %ПредставлениеОрганизации% составляет " + "%Сумма% %ПредставлениеВалюты% по следующим договорам:'"); СтрокаДебиторки = СтрЗаменить(СтрокаДебиторки,"%ПредставлениеДебитора%", ПредставлениеДебитора); СтрокаДебиторки = СтрЗаменить(СтрокаДебиторки,"%ПредставлениеОрганизации%", ПредставлениеОрганизации); СтрокаДебиторки = СтрЗаменить(СтрокаДебиторки,"%ПредставлениеВалюты%", ПредставлениеВалюты); СтрокаДебиторки = СтрЗаменить(СтрокаДебиторки,"%Сумма%", Формат(ДебиторскаяЗадолженность.Итог(КолонкаСуммы), "ЧЦ=15; ЧДЦ=2; ЧН=Ноль")); ОбластьМакета.Параметры.СтрокаДебиторки = СтрокаДебиторки; ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("СтрокаДебиторки"); Для каждого СтрокаЗадолженности Из ДебиторскаяЗадолженность Цикл ОбластьМакета.Параметры.СтрокаДокументовДеб = сокрЛП(СтрокаЗадолженности.ДоговорПредставление) + " :" + Символы.Таб + Формат(СтрокаЗадолженности[КолонкаСуммы], "ЧЦ=15; ЧДЦ=2; ЧН=Ноль") + " " + ПредставлениеВалюты; ТабличныйДокумент.Вывести(ОбластьМакета); КонецЦикла; ОбластьПодвала = Макет.ПолучитьОбласть("Подвал"); СтрокаВзаимозачета = НСтр("ru = '3. Взаимозачет производится на сумму'")+ " " + Формат(ДебиторскаяЗадолженность.Итог(КолонкаСуммы), "ЧЦ=15; ЧДЦ=2; ЧН=Ноль") + " " + ПредставлениеВалюты; ОбластьПодвала.Параметры.СтрокаВзаимозачета = СтрокаВзаимозачета; ОбластьПодвала.Параметры.ПредставлениеОрганизации = ПредставлениеОрганизации; ОбластьПодвала.Параметры.ПредставлениеКредитора = ПредставлениеКредитора; ТабличныйДокумент.Вывести(ОбластьПодвала); // В табличном документе зададим имя области, в которую был // выведен объект. Нужно для возможности печати покомплектно. УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка); КонецЦикла; Возврат ТабличныйДокумент; КонецФункции |
|||
1
Качели
26.02.16
✎
13:07
|
У тебя это условие не формирует макет и проверка в ОМ ругается
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "КорректировкаДолга") Тогда Я так думаю. |
|||
2
Сильф
26.02.16
✎
14:44
|
(0) Открой модуль объекта, там есть процедура СведенияОВнешнейОбработке. Её код сюда.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |