![]() |
![]() |
|
УФ: как во внешнюю печ.форму добавить пару реквизитов для выбора перед печатью? | ☑ | ||
---|---|---|---|---|
0
Shved_72
29.05.13
✎
15:00
|
чото умучался весь...
надо перед печать спросить пару данных у юзера и передать их на печать. открыть я уже смог и даже смог вызвать из команды клиенты, процедуры модуля обьъекта: Как выполнить экспортируемую процедуру объекта, находясь в его форме? &НаСервере Процедура ПересчитатьЦеныНаСервере() ОбъектОтчет = РеквизитФормыВЗначение("Объект", Тип("ОбъектОтчет .Накладная")); ОбъектДокумента.Печать(); ЗначениеВРеквизитФормы(ОбъектОтчет , "Объект"); КонецПроцедуры но в вызываемую процедуру надо передать Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт чо это и кого сувать? отлидчик не ловит ничо, при добавлении они наверно в хранилище в битовом виде чтоли... |
|||
1
Shved_72
29.05.13
✎
15:04
|
прочитал и это
// Тут задается, как должна вызваться команда обработки // Возможные варианты: // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); |
|||
2
Shved_72
29.05.13
✎
15:05
|
передаю ОткрытиеФормы
форма открывается и все. печати нет |
|||
3
Shved_72
29.05.13
✎
15:06
|
из этой же серии: почему то доп.отчеты добавленные также через стандартные подсистемы не появились как заявлено в БСП в доп.отчетах подсистем
БП 3.0 |
|||
4
Shved_72
29.05.13
✎
15:24
|
как сложно стало делать простые вещи
|
|||
5
Shved_72
29.05.13
✎
16:25
|
нашел как ловить отладку через зад:
в начале обработки ставишь РаботаСДиалогами.ВывестиПредупреждение("ААААА"); в момент пока предупреждение висит, идешь в отладчик, жмешь остановить, возвращаешься в Предприятие, Ок, шифт-F11 - и ты у себя в ВПФ. |
|||
6
Новиков
29.05.13
✎
16:34
|
а какой вид обработки ты указал?
|
|||
7
Shved_72
29.05.13
✎
16:37
|
(6) это где?
|
|||
8
Новиков
29.05.13
✎
16:46
|
ПараметрыРегистрации.Вид или как там у тебя называется эта структура?
|
|||
9
Shved_72
29.05.13
✎
16:49
|
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
|
|||
10
Новиков
29.05.13
✎
16:59
|
ну коли ты пошел через открытие формы, то - логику работы в самой форме за тебя вряд ли кто-то нарисует. Процедуру, которую нужно дергать, ты уже отыскал. Осталось подготовить нужные тебе параметры, и туда их передать. В чем проблема, прочитать хелп по параметрам процедуры? :)
|
|||
11
Новиков
29.05.13
✎
17:01
|
Кстати, с отладкой ты тоже что-то перемудрил совсем. Ты либо через внешнюю обработку свою открывай, и там уже отлаживай свой код, либо форму отладочную накидал быстро - и оттуда дернул печать (что тебе и нужно). А остановки по ошибки (работают от платформы к платформе), да по предупреждениям - это какие-то квадрокоперы :)
|
|||
12
Shved_72
29.05.13
✎
17:09
|
(10) хелп только в БСП, а там
... КоллекцияПечатныхФорм Служебная таблица значений. Через нее передаются имена макетов, для которых должны быть сформированы табличные документы. Возвращаются синонимы макетов (представление), сформированные табличные документы с указанием количества экземпляров, картинка для отображения на закладке соответствующего табличного документа в форме печати документов... а структура тз нигде не описывается. перехватил отладчиком: Индекс Значение элемента Тип элемента ИмяМакета ИмяВРЕГ СинонимМакета ТабличныйДокумент Экземпляров Картинка ПолныйПутьКМакету 0 СтрокаТаблицыЗначений СтрокаТаблицыЗначений "Акт приемки" "АКТ ПРИЕМКИ" 1 |
|||
13
Shved_72
29.05.13
✎
17:10
|
ну я вроде кончаю. сменил вызываемую процедуру. получается в обход БСП. низнаю чем ущербней. хотя одно знаю - пакетная печать комплектов уже не сработает...
|
|||
14
Shved_72
29.05.13
✎
17:10
|
не люблю через зад, но пока этому рад
|
|||
15
Новиков
29.05.13
✎
17:11
|
но коле кончел, тогда, пожалуй, я свои советы, приберегу для более сдержанного товарисча :)
|
|||
16
Shved_72
29.05.13
✎
17:17
|
почему то стандартный метод БСП перестает больше работать после открытия формы. по идее я бы закрыл и он обратно вернулся на свой путь. или надо запрос реквизитов делать в другой форме другой обработки, чтобы эту не трогать...
|
|||
17
Новиков
29.05.13
✎
17:19
|
он перестал работать токма потому, что ты в параметру херь передал, если передал вообще...
Открой демо-пример из БСП, да погляди, мученник. А то так можно и приступ получить сердечный. Ты уже все расколупал до потрохов, осталось только сформировать параметры и! и? и ты сгородил какую-то свою шнягу. Печаль. |
|||
18
Shved_72
29.05.13
✎
17:23
|
(17) я передал параметры - копию тех что поймал отладичком при печати без диалога:
МассивОбъектов = Новый Массив(1); МассивОбъектов[0] = Объект.Док; КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("Акт приемки"); ОбъектыПечати = ""; ПараметрыВывода = ""; ПечатьНаСервере(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); но вывода формы не произошло |
|||
19
Shved_72
29.05.13
✎
17:25
|
последней вызывается
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Акт приемки") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Акт приемки", "Акт приемки", СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)); КонецЕсли; КонецПроцедуры // Печать() |
|||
20
Shved_72
29.05.13
✎
17:26
|
где:
Процедура ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент, Картинка = Неопределено, ПолныйПутьКМакету = "") Экспорт Стр = КоллекцияПечатныхФорм.Найти(ВРег(ИмяМакета), "ИмяВРЕГ"); Если Стр <> Неопределено Тогда Стр.ТабличныйДокумент = ТабличныйДокумент; Стр.СинонимМакета = СинонимМакета; Стр.Картинка = Картинка; Стр.ПолныйПутьКМакету = ПолныйПутьКМакету; КонецЕсли; КонецПроцедуры |
|||
21
Shved_72
29.05.13
✎
17:26
|
что и где делает ТабличныйДокумент.Вывести() ?
|
|||
22
Shved_72
29.05.13
✎
17:27
|
т.е. Показать()
|
|||
23
Shved_72
29.05.13
✎
17:48
|
поставил последнюю БСП. в ней нет пример печатной формы с диалогом.
|
|||
24
Shved_72
29.05.13
✎
17:52
|
зато посмотрел что такое печать комплекта. красиво. но как раз моя формы бы в это не вписалась, т.к. ей надо спросить чтонить в диалоге у юзера. поэтому реализовывать в контексте БСП не представляется возможным. наверно
|
|||
25
Новиков
29.05.13
✎
19:18
|
(24) ты ошибаешься, возможно и в бсп даже показано - как
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |