Имя: Пароль:
1C
1С v8
Как добавить шаблон и напечатать из внешней печатной формы
0 ComradeKite
 
12.04.16
15:06
Всем доброго времени суток!
Возникла у меня интересная задача, в решении которой продвигаюсь медленно.
Мне необходимо в БП 3.0 к справочнику "ДоговорыКонтрагентов" добавить внешнюю печатную форму. Эта форма должна брать какие то данные из дополнительных реквизитов, выдавать окошко с выбором типа шаблона договора и печатать.

Честно сказать уже мозги набекрень от отладчика. Так как пытаюсь понять, что же там происходит при запуске печати....
В типовой идет вот такой вызов

УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект);

Получилось сделать внешнюю печатную форму и заставить ее запускать этот вызов.

Дальше заткнулся на параметре "Команда". Не знаю как получить эту команду в обработке. При реальном вызове, идет вызов реальной формы ДоговорыКонтрагентов.ФормаЭлемента, а при моем идет вызов пустой формы, созданной для вызова метода клиента.

Да и появились сомнения в правильности моего пути, как то сильно я в код лезть стал, так можно и до C++ залезть)))))

Цель у меня сделать печать альтернативного договора, чтобы в договоре подставлялись параметры типа список или массив, так же при необходимости можно отредактировать шаблон договора.

Ну и конечно же очередной 100 500 -й новый релиз не потер все.

Может кто сталкивался с такой задачей и подскажет как по "феншую 1С" это сделать?



PS: Как внешнюю печатную форму добавлять знаю))
1 Радим1987
 
12.04.16
15:22
А если в СКД сделать и добавить как печатная форма
2 ComradeKite
 
12.04.16
15:30
В таком случае не получится стандартно использовать шаблоны печати. Плюс мне надо обработку делать, процедуру, которая будет обрабатывать "Дополнительные реквизиты".
Думаю надо рыть в сторону БСП "Печать"))
3 ComradeKite
 
13.04.16
10:46
Апну
4 ComradeKite
 
13.04.16
11:36
А если вот так спрошу:
Первый шаг в этой кухне, запуск Процедуры Печать()

&НаКлиенте
Процедура Печать(ИдентификаторКоманды,ОбъектыНазначения) Экспорт    

УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект);
КонецПроцедуры

Так вот, кто формирует параметры и как сюда в эту процедуру передать команду и форму от куда вызвали команду печати?
Закон Брукера: Даже маленькая практика стоит большой теории.