|
Помогите написать печатную форму к самописному документу к ерп 2.4 | ☑ | ||
---|---|---|---|---|
0
Обфускация
17.07.18
✎
07:33
|
Был сделан документ, к нему была написана печатная форма. Код написан в форме документа, кнопка работает, форма печатается, но выводится как таблица при формировании, а не в типовой рамочке, как типовые формы. У меня требуют, чтобы форма была в этой типовой рамочке.
Я пишу такой код в модуль менеджера, пытаюсь вывести хотя бы пустую форму для начала Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Идентификатор = "ПФ_MXP_АктДопуска"; КомандаПечати.Представление = "Акт допуска приборов учета в эксплуатацию"; КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати"; КомандаПечати.СписокФорм = "ФормаСписка,ФормаДокумента"; КомандаПечати.ПроверкаПроведенияПередПечатью = Истина; КонецПроцедуры Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXP_АктДопуска") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПФ_MXP_АктДопуска", "ПФ_MXP_АктДопуска", СформироватьПечатнуюФормуАКТАДопуска(МассивОбъектов),"Документ.ОКЭ_АктДопускаПрибораУчётаВЭксплуатацию.ПФ_MXP_АктДопуска"); КонецЕсли; ОбъектыПечати = Новый СписокЗначений; ОбъектыПечати.Добавить(МассивОбъектов[0].ДокументОснование.ДокументОснование.ДокументОснование, "Документ_1"); КонецПроцедуры Функция СформироватьПечатнуюФормуАКТАДопуска(МассивОбъектов) Экспорт //сообщить("тест"); ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.АвтоМасштаб = Истина; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПФ_АктДопуска"; ТабличныйДокумент.ПолеСверху = 10; ТабличныйДокумент.ПолеСлева = 10; ТабличныйДокумент.ПолеСправа = 10; ТабличныйДокумент.ПолеСнизу = 10; Макет = документы.ОКЭ_АктДопускаПрибораУчётаВЭксплуатацию.ПолучитьМакет("ПФ_MXP_АктДопуска"); Область = Макет.ПолучитьОбласть("Шапка"); ТабличныйДокумент.Вывести(Область); Возврат ТабличныйДокумент; КонецФункции Но возникает ошибка {ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(86)}: Команда не может быть выполнена для указанного объекта. ВызватьИсключение НСтр("ru = 'Команда не может быть выполнена для указанного объекта.'"); Чего может не хватать для типовой печати печатной формы? |
|||
1
famnam
17.07.18
✎
07:56
|
Общий модуль УправлениеПечатьюПереопределяемый. Добавить свой документ нужно
|
|||
2
Обфускация
17.07.18
✎
08:12
|
(1)
это есть, вот так по аналогии написано СписокОбъектов.Добавить(Документы.ОКЭ_АктДопускаПрибораУчётаВЭксплуатацию); |
|||
3
Обфускация
17.07.18
✎
11:07
|
?
|
|||
4
Пес Барбос
17.07.18
✎
11:48
|
&НаКлиенте
Процедура Команда1(Команда) ИдентификаторПечатнойФормы = "ПФ_MXL_тратата"; НазваниеПечатнойФормы = НСтр("ru = 'Этикетка тратата'"); ТабДок = СформироватьПечФормуНаСервере(); Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда ТабДок.Показать(НазваниеПечатнойФормы); ДокументыПечатались = Истина; Возврат; КонецЕсли; МодульУправлениеПечатьюКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеПечатьюКлиент"); КоллекцияПечатныхФорм = МодульУправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм(ИдентификаторПечатнойФормы); ПечатнаяФорма = МодульУправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, ИдентификаторПечатнойФормы); ПечатнаяФорма.СинонимМакета = НазваниеПечатнойФормы; ПечатнаяФорма.ТабличныйДокумент = ТабДок; ПечатнаяФорма.ИмяФайлаПечатнойФормы = НазваниеПечатнойФормы; ОбластиОбъектов = Новый СписокЗначений; МодульУправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ОбластиОбъектов); ДокументыПечатались = Истина; КонецПроцедуры |
|||
5
Alexandr_U1982
17.07.18
✎
11:50
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |