Как подключить команды печати? ERP 2.5

1. DirecTwiX 13.03.25 11:07 Сейчас в теме
В ММ:
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.МенеджерПечати = "Документ.ERPS_Перевозка";
	КомандаПечати.Идентификатор = "ERPS_Перевозка";
	КомандаПечати.Представление = НСтр("ru = 'Печать комплекта ""Заявок на перевозку""'");
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
		
КонецПроцедуры
Показать


В модуле формы команды не отображаются. В типовом документе в модуле формы не нашёл упоминаний "печат".
По теме из базы знаний
Найденные решения
2. Al3x 1 13.03.25 11:34 Сейчас в теме
(1) в модуле любого типового документа смотрите ПриСозданииНаСервере , ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);, поиском в этом же модуле процедуры с ПодключаемыеКоманды найдите, в своем документе создайте по аналогии, так же нужно добавить процедуры Подключаемый_ВыполнитьКоманду, Подключаемый_ПродолжитьВыполнениеКомандыНаСервере, ВыполнитьКомандуНаСервере, Подключаемый_ОбновитьКоманды, в общем модуле УправлениеПечатьюПереопределяемый добавить свой документ в СписокОбъектов, процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт. Возможно еще что-нибудь добавить нужно будет, как минимум в модуле менеджера процедуру формирования табличного документ. В целом любой типовой документ посмотрите, как работает печать, и сделайте по аналогии
VyacheslavShilov; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Al3x 1 13.03.25 11:34 Сейчас в теме
(1) в модуле любого типового документа смотрите ПриСозданииНаСервере , ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);, поиском в этом же модуле процедуры с ПодключаемыеКоманды найдите, в своем документе создайте по аналогии, так же нужно добавить процедуры Подключаемый_ВыполнитьКоманду, Подключаемый_ПродолжитьВыполнениеКомандыНаСервере, ВыполнитьКомандуНаСервере, Подключаемый_ОбновитьКоманды, в общем модуле УправлениеПечатьюПереопределяемый добавить свой документ в СписокОбъектов, процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт. Возможно еще что-нибудь добавить нужно будет, как минимум в модуле менеджера процедуру формирования табличного документ. В целом любой типовой документ посмотрите, как работает печать, и сделайте по аналогии
VyacheslavShilov; +1 Ответить
3. DirecTwiX 13.03.25 12:38 Сейчас в теме
(2) Более чем подробно, спасибо!

Не хватало еще ПодключаемыхКоманд. Помимо ПриОпределенииОбъектовСКомандамиПечати


Но теперь я не могу сформировать внешюю печатную форму для ЗаданияНаПеревозу:
Функция ПечатьКомплекта(МассивИсходный, ОбъектыПечати)   
	МассивОбъектов = Новый Массив;
	Для каждого Ссылка Из МассивИсходный Цикл
		МассивОбъектов.Добавить(Ссылка.Маршруты[0].ЗаданиеНаПеревозку);	
	КонецЦикла;
    ДопустимыеТипыОбъектовПечати = Неопределено;
    ПараметрыПечати = Новый Структура;
   
    ИмяМенеджераПечати = "Обработка.ПечатьОбщихФорм";
    ИменаМакетов = "Заявка на перевозку";

    ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, ПараметрыПечати, ДопустимыеТипыОбъектовПечати);
Показать

При формировании печатной формы "Заявка на перевозку" возникла ошибка. Обратитесь к администратору

Вот модуль объекта внешней печатной форму:
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Заявка на перевозку") Тогда 
		
		ЗаданиеНаПеревозку = МассивОбъектов[0];
		ЗначенияРеквизитов = ERPS_ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта(ЗаданиеНаПеревозку, "Номер,Дата");
4. Al3x 1 13.03.25 13:37 Сейчас в теме
(3)
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Заявка на перевозку") Тогда
вместо "Заявка на перевозку" должен быть идентификатор команды, в Вашем случае это "ERPS_Перевозка"
5. DirecTwiX 13.03.25 14:04 Сейчас в теме
(4)
ERPS_Перевозка
, нет, я хочу напечатать форму другого документа. Она является внешней для документа "Заявка на перевозку". В этой внешней в эспортной процедуре Печать проверяется так:
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Заявка на перевозку") Тогда
6. Al3x 1 13.03.25 14:44 Сейчас в теме
(5) вторым параметром передается имя проверяемого макета, которое не может содержать пробелы
7. DirecTwiX 13.03.25 17:16 Сейчас в теме
(6) так вон же содержит, даже работает
короче, переписал с ВНФ на встроенную, пробелы убрал, код по печати заработал

*думаю, с помощью БСП внешнюю нормально не напечатать

спасибо!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот