Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Другие решения на платформе "1С:Предприятие 8"]

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

Khnatik
читатель
офлайн
Дата регистрации: 06.05.2011
Сообщений: 14
Пост №1
 
06.05.2011 12:17

Добрый день! Помогите пожалуйста со следующим вопросом. <br>В УТ 11 редакция (управляемое приложение) мне нужно создать внешнюю печатную форму, которая могла бы вызываться из документов некоторого типа и выполнять какие-то действия (в частности, печатать этикетки из документов Поступление товаров услуг и Перемещение товаров). Подключить внешнюю обработку удалось, указала и вид и назначение, и все остальное, что нужно - форма вызывается из нужных документов, НО: я никак не могу понять, как передать в обработку ссылку на вызвавший ее документ. В 10.3 это было реализовано через реквизит СсылкаНаОбъект, в который автоматически передавалась ссылка. В 11 редакции такого нет. Подскажите пожалуйста, как это сделать!

Shwed
читатель
офлайн
Дата регистрации: 26.07.2006
Сообщений: 87
Пост №2
 
06.05.2011 14:54

[Промодерировано]

Khnatik
читатель
офлайн
Дата регистрации: 06.05.2011
Сообщений: 14
Пост №3
 
06.05.2011 15:16

Ну так в этой обработке тоже СсылкаНаОбъект выбирается на форме. А мне нужно, чтобы при добавлении печатной формы в виде внешней Дополнительной обработки вызывающий ее документ передавал в нее ссылку на себя (т.е. обработка еще "не знает, кто ее вызовет")

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №4
 
06.05.2011 16:03

> "не знает, кто ее вызовет"<br>Понятно что не знает. Я не занимался еще управляемыми формами, но исследование найденного на просторах интернета "ТоварныйЧек" показало, что в процедуру Печать передается МассивОбъектовНазначения ...<br>Задайте в гугле СведенияОВнешнейОбработке и посмотрите темы на Мисте.

Khnatik
читатель
офлайн
Дата регистрации: 06.05.2011
Сообщений: 14
Пост №5
 
06.05.2011 16:49

""Найденный на просторах интернета "ТоварныйЧек"""" я тоже смотрела. Только вот там МассивОбъектовНазначения формируется как: МассивОбъектовНазначения.Добавить(Объект.СсылкаНаОбъект); а СсылкаНаОбъект задается на форме, как я уже писала. С этим вариантом все ясно.<br>СведенияОВнешнейОбработке - это функция, которая возвращает РегистрационныеДанные об обработке, нужна чтобы подключить обработку в дополнительные, т.е. это совсем не то.<br> <br>Мне нужно, чтобы зарегистрированная как дополнительная внешняя обработка, вызываясь из любого документа, получала себе ссылку на этот документ. Как подключить обработку и как ее вызывать я знаю, мне нужен только момент передачи ссылки. Вот этот момент я никак не пойму(("

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №6
 
06.05.2011 16:57

Я подключил эту обработку и из ЧекаККМ вызвал. Никакая форма кроме готового отчета у меня не открывалась. А Форма в обработке - это просто форма для тестирования. Из конфигурации идет прямое обращение к процедуре Печать.<br>Там даже в комментарии написано:<br>// Экспортная процедура печати, вызываемая из основной программы<br>Вот и обрабатывайте МассивОбъектовНазначения ...

Khnatik
читатель
офлайн
Дата регистрации: 06.05.2011
Сообщений: 14
Пост №7
 
11.05.2011 17:55

А вы уверены, что открылся готовый отчет обработки, а не стандартная процедура печати? У меня открылась она...<br>>>Из конфигурации идет прямое обращение к процедуре Печать<br>++Поясните пожалуйста, не поняла, это как?<br> <br>>>Вот и обрабатывайте МассивОбъектовНазначения<br>++Вобщем-то как раз это я и спрашиваю - как ее обработать, чтобы ссылку с процедуру передать(((

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №8
 
11.05.2011 18:14

"> А вы уверены, что открылся готовый отчет обработки<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."

Khnatik
читатель
офлайн
Дата регистрации: 06.05.2011
Сообщений: 14
Пост №9
 
11.05.2011 18:25

"В этой обработке для печати товарного чека МассивОбъектовНазначения заполняется в модуле формы обработки:<br> <br>Процедура ВыполнитьПечать()<br> МассивОбъектовНазначения = Новый Массив;<br> МассивОбъектовНазначения.Добавить(Объект.СсылкаНаОбъект);<br> .....<br>КонецПроцедуры<br> <br>""""Как правило, содержит один элемент с ссылкой..."""" - ну да, что туда передадут, то и содержит.<br>Где мне сформировать этот МассивОбъектовНазначения перед вызовом печатной формы, ну никак я не пойму! =("

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №10
 
11.05.2011 21:41

В конфигурациях этих унифицированы алгоритмы обращения к внешним печатным формам, поэтому если форма подготовлена в соответствии с придуманными правилами, то она и подключается "ровно" и в нее система по умолчанию передает сама этот МассивОбъектов, который формирует в каком то общем модуле конфигурации. Вот тут кусок кода я приводил, который полностью устроил конфигурацию и через МассивОбъектов как раз внешняя обработка получала сведения о документе, который обычно в самом деле один, из которого она вызывается, тем не менее, не возбраняется передать массив ссылок и алгоритм сформировал бы в моем случае набор печатных форм.<br>http://www.buh.ru/forum/thread.jsp?id=577053

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация