Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 15:10

Вызов печатной формы из внешней обработки

Автор thomas.angelo, 17 апр 2014, 10:43

0 Пользователей и 1 гость просматривают эту тему.

thomas.angelo

Добрый день.
Версия платформы 8.3.4.408, бухгалтерия предприятия 3.0.31.14 типовая конфигурация.
Разрабатываю внешнюю обработку. НаСервере создаю процедуру, затем в ней создаю стандартный документ "Расходный кассовый ордер", заполняю его значениями и провожу:
&НаСервере
Процедура МояПроцедураНаСервере()
//Формируем документ "Расходный кассовый ордер"
НовыйРКО = Документы.РасходныйКассовыйОрдер.СоздатьДокумент();
НовыйРКО.ВидОперации = Перечисления.ВидыОперацийРКО.РасчетыПоКредитамИЗаймам;
НовыйРКО.СчетКасса = ПланыСчетов.Хозрасчетный.КассаОрганизации;
НовыйРКО.СуммаДокумента = ЭтаФорма.ТелоЗайма;                 
НовыйРКО.ВалютаДокумента = Справочники.Валюты.НайтиПоКоду("643");
НовыйРКО.СчетУчетаРасчетовСКонтрагентом =  ПланыСчетов.Хозрасчетный.ПредоставленныеЗаймы;
НовыйРКО.СубконтоДт1 = Контрагент.Ссылка;
НовыйРКО.СубконтоДт2 = Договор.Ссылка;
НовыйРКО.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Выданные ЗАЙМЫ");
НовыйРКО.Выдать = Контрагент.Наименование;
НовыйРКО.ПоДокументу = Контрагент.ДокументУдостоверяющийЛичность;
НовыйРКО.Основание = Договор.Наименование;
НовыйРКО.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры


Теперь необходимо вывести на печать стандартную форму печати документа "Расходный кассовый ордер" (см.рисунок во вложении). Каким образом это можно реализовать? Я так понимаю вызывать печатную форму нужно НаКлиенте в другой процедуре. Но как тогда получить именно тот документ, который был создан и проведен НаСервере?

MuI_I_Ika

Нужно ссылку на документ сохранить в реквизит обработки. Он будет доступен и на форме (в контексте сервера естественно).

Если у вас проблема с формированием самой печатной формы, то ее нужно формировать на сервере в виде табличного документа, а уже его передавать на клиент.

thomas.angelo

Цитата: MuI_I_Ika от 17 апр 2014, 19:11
Нужно ссылку на документ сохранить в реквизит обработки. Он будет доступен и на форме (в контексте сервера естественно).
А что даёт ссылка на документ, сохраненная в реквизит обработки? Ведь с Клиента я не смогу обратиться к документу по этой ссылке. А наСервере можно обращаться к документу и без этого реквизита на форме.

Цитировать
Если у вас проблема с формированием самой печатной формы, то ее нужно формировать на сервере в виде табличного документа, а уже его передавать на клиент.
Проблема в том, что у документа "Расходный кассовый ордер" отсутствуют макеты. И печатная форма создается путем выполнения вот этой процедуры:
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)

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

КонецПроцедуры

По идее мне надо выполнить эту процедуру, чтобы получить печатную форму, но как ее выполнить? НаКлиенте я не могу обратиться к объекту документа..
Добавлено: 18 апр 2014, 06:27


Проблема решена.

&НаКлиенте
Процедура Команда1(Команда)
    Парампампам = Новый Структура("Ключ", ДокументСсылкаНаРКО);
    Форма = ПолучитьФорму("Документ.РасходныйКассовыйОрдер.ФормаОбъекта", Парампампам);
    УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Форма.Команды.Найти("ГруппаВажныеКомандыКомандаПечати0"), Форма, Форма.Объект);
КонецПроцедуры

Похожие темы (5)

Рейтинг@Mail.ru

Поиск