Как передать ссылку на документ в управляемую внешнюю печатную форму

Новая тема
Показывать по сообщений
Добрый день! Помогите пожалуйста со следующим вопросом.  <br>В УТ 11 редакция (управляемое приложение) мне нужно создать  внешнюю печатную  форму, которая могла бы вызываться из документов  некоторого типа и  выполнять какие-то действия (в частности, печатать  этикетки из  документов Поступление товаров услуг и Перемещение товаров).  Подключить  внешнюю обработку удалось, указала и вид и назначение, и все   остальное, что нужно - форма вызывается из нужных документов, НО: я   никак не могу понять, как передать в обработку ссылку на вызвавший ее   документ. В 10.3 это было реализовано через реквизит СсылкаНаОбъект, в   который автоматически передавалась ссылка. В 11 редакции такого нет.  Подскажите пожалуйста, как это  сделать!
[Промодерировано]
Ну так в этой обработке тоже СсылкаНаОбъект выбирается на форме. А мне нужно, чтобы при добавлении печатной формы в виде внешней Дополнительной обработки вызывающий ее документ передавал в нее ссылку на себя (т.е. обработка еще "не знает, кто ее вызовет")
>  "не знает, кто ее вызовет"<br>Понятно что не знает. Я не занимался еще управляемыми формами, но исследование найденного на просторах интернета "ТоварныйЧек" показало, что в процедуру Печать передается МассивОбъектовНазначения ...<br>Задайте в гугле СведенияОВнешнейОбработке и посмотрите темы на Мисте.
""Найденный на просторах интернета "ТоварныйЧек"""" я тоже смотрела. Только вот там МассивОбъектовНазначения формируется как: МассивОбъектовНазначения.Добавить(Объект.СсылкаНаОбъект);   а СсылкаНаОбъект задается на форме, как я уже писала. С этим вариантом все ясно.<br>СведенияОВнешнейОбработке  - это функция, которая возвращает РегистрационныеДанные об обработке, нужна чтобы подключить обработку в дополнительные, т.е. это совсем не то.<br> <br>Мне нужно, чтобы зарегистрированная как дополнительная внешняя обработка, вызываясь из любого документа, получала себе ссылку на этот документ. Как подключить обработку и как ее вызывать я знаю, мне нужен только момент передачи ссылки. Вот этот момент я никак не пойму(("
Я подключил эту обработку и из ЧекаККМ вызвал. Никакая форма кроме готового отчета у меня не открывалась. А Форма в обработке - это просто форма для тестирования. Из конфигурации идет прямое обращение к процедуре Печать.<br>Там даже в комментарии написано:<br>// Экспортная процедура печати, вызываемая из основной программы<br>Вот и обрабатывайте МассивОбъектовНазначения ...
А вы уверены, что открылся готовый отчет обработки, а не стандартная процедура печати? У меня открылась она...<br>>>Из конфигурации идет прямое обращение к процедуре Печать<br>++Поясните пожалуйста, не поняла, это как?<br> <br>>>Вот и обрабатывайте МассивОбъектовНазначения<br>++Вобщем-то как раз это я и спрашиваю - как ее обработать, чтобы ссылку с процедуру передать(((
"> А вы уверены, что открылся готовый отчет обработки<br>Абсолютно<br><br>> чтобы ссылку с процедуру передать<br>Ссылка в массиве!<br> <br>В модуле обработки написано:<br><br><pre>// Экспортная процедура печати, вызываемая из основной программы<br>//<br>// Параметры:<br>// ВХОДЯЩИЕ:<br>//  МассивОбъектовНазначения - Массив - список объектов ссылочного типа для печати документа<br>//                 Как правило, содержит один элемент с ссылкой на вызвавший форму объект (документ, справочник)<br>//<br>// ИСХОДЯЩИЕ:<br>//  КоллекцияПечатныхФорм - ТаблицаЗначений - таблица сформированных табличных документов.<br>//                 Как правило, содержит одну строку с именем текущей печатной формы<br>//  ОбъектыПечати - СписокЗначений - список объектов печати. <br>//  ПараметрыВывода - Структура - Параметры сформированных табличных документов. Содержит поля:<br>//   ДоступнаПечатьПоКомплектно - булево - по умолчанию Ложь<br>// ПолучательЭлектронногоПисьма<br>// ОтправительЭлектронногоПисьма<br>//<br>Процедура Печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт<br> <br> Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ТоварныйЧек") Тогда<br><br> ТабличныйДокумент = СформироватьПечатнуюФормуТоварногоЧека(МассивОбъектовНазначения, ОбъектыПечати);<br><br> УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(<br> КоллекцияПечатныхФорм,<br> "ТоварныйЧек",<br> "Товарный чек",<br> ТабличныйДокумент<br> );<br><br> КонецЕсли;<br><br>КонецПроцедуры<br><br> </pre><br><br>Скажите какое из слов: "МассивОбъектовНазначения - ... Как правило, содержит один элемент с ссылкой на вызвавший форму объект (документ, справочник)" было не понятно?<br> <br>Поясняю: стандартный код общих модулей конфигурации вызывает процедуру Печать из в МодулеОбработки. Попробуйте убрать слово Экспорт и не будет у вас работать! Для платформы 8.1 точно также была нужна экспортная процедура Печать, только вызывалась без параметров, и параметром считался реквизит СсылкаНаОбъект. Теперь, судя по всему, нафиг никому не нужен, разве что для совместимости с 8.1."
"В этой обработке для печати товарного чека МассивОбъектовНазначения заполняется в модуле формы обработки:<br> <br>Процедура ВыполнитьПечать()<br>    МассивОбъектовНазначения = Новый Массив;<br>    МассивОбъектовНазначения.Добавить(Объект.СсылкаНаОбъект);<br>    .....<br>КонецПроцедуры<br> <br>""""Как правило, содержит один элемент с ссылкой..."""" - ну да, что туда передадут, то и содержит.<br>Где мне сформировать этот МассивОбъектовНазначения перед вызовом печатной формы, ну никак я не пойму! =("
В конфигурациях этих унифицированы алгоритмы обращения к внешним печатным формам, поэтому если форма подготовлена в соответствии с придуманными правилами, то она и подключается "ровно" и в нее система по умолчанию передает сама этот МассивОбъектов, который формирует в каком то общем модуле конфигурации. Вот тут кусок кода я приводил, который полностью устроил конфигурацию и через МассивОбъектов как раз внешняя обработка получала сведения о документе, который обычно в самом деле один, из которого она вызывается, тем не менее, не возбраняется передать массив ссылок и алгоритм сформировал бы в моем случае набор печатных форм.<br>http://www.buh.ru/forum/thread.jsp?id=577053
Читают тему
(гостей: 1)

Быстрый переход