8.х Внешняя печатная формы с предварительным вводом параметров

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем x_under, 20 мар 2014.

  1. TopicStarter Overlay
    x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Добрый день.
    Есть ВПФ для БП 3.0. Работает на сервере ("ВызовСерверногоМетода").

    А теперь появилась задача перед выводом открыть форму ля вывода параметров для пользователя.
    Переделал форму на режим "ОткрытиеФормы". А потом хотелось бы подпихнуть их в готовую серверную процедуру печати. Кто-нибудь делал такое?
    В документации по БСП как обычно УГ, а не справка.
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Насколько помню, в БСП есть описание подсистемы печать, вот там как раз есть описание как сделать печать, печать пакета документов, и печать с предварительными установками. Спору нет, инфы там вообще мало, но можно посмотреть еще в демо БСП, там это должно быть.
  3. TopicStarter Overlay
    x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Уже смотрел - нет. Иначе бы не спрашивал =)
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Формирование печатной формы в клиентском контексте
    В некоторых случаях для формирования некоторых печатных форм может потребоваться клиентский контекст. Например, для запроса дополнительных параметров печатной формы у пользователя непосредственно перед печатью. В таких случаях механизм формирования печатной формы необходимо размещать в клиентском модуле, а при описании команды печати в процедуре ДобавитьКомандыПечати использовать параметр Обработчик для передачи управления в этот модуль.

    Принцип создания команд, использующих клиентский контекст, несколько отличается от основного. Процедура Печать модуля менеджера объекта не вызывается механизмами подсистемы, поэтому создавать её для такой команды не требуется.

    Процесс создания такой команды выглядит следующим образом:

    1.В модуле менеджера объекта в процедуре ДобавитьКомандыПечати добавить описание команды (с использованием параметра Обработчик), например:
    Код:
      // Счет на оплату в Microsoft Word
      КомандаПечати = КомандыПечати.Добавить();
      КомандаПечати.МенеджерПечати = "Документ._ДемоСчетНаОплатуПокупателю";
      КомандаПечати.Идентификатор = "СчетНаОплату(MSWord)";
      КомандаПечати.Представление = НСтр("ru = 'Счет на оплату в Microsoft Word'");
      КомандаПечати.Картинка = БиблиотекаКартинок.ФорматWord2007;
      КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
      КомандаПечати.Обработчик = "_ДемоСтандартныеПодсистемыКлиент.ПечатьСчетовНаОплатуПокупателю";
    2.Добавить клиентскую экспортную функцию формирования печатной формы с единственным параметром, в который подсистема Печать будет передавать структуру параметров команды. Имя функции может быть произвольным, например:
    Код:
    Функция ПечатьСчетовНаОплатуПокупателю(ПараметрыПечати) Экспорт
      .
      .
      .
    КонецФункции
    Примечание 1. Из этой функции подсистема Печать не ожидает никакого результата. Использование функции вместо процедуры обусловлено тем, что её вызов осуществляется при помощи метода Вычислить().

    Примечание 2. Для вывода печатных форм на принтер пользователь должен обладать правом «Вывод». При разработке клиентских команд печати следует учитывать наличие этого права.

    Если клиентский контекст предполагает только запрос дополнительных параметров, а формирование табличного документа выполняется на сервере, то необходимо также выполнить инструкцию по разработке процедуры Печать, а из клиентской функции выполнять передачу управления в процедуру УправлениеПечатьюКлиент.ВыполнитьКомандуПечать

    Или это не то ?
  5. TopicStarter Overlay
    x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Это описание для внедрения БСП. А мне надо сделать это в ВПФ. Я нашел пример на инфс, но там шаманство.
    ВыполнитьКомандуПечать - ХЗ как прикрепить ко внешней печатной формы. Там один из параметров: менеджер-объекта, и как туда запихнуть ВПФ - загадка
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Может что-нибудь в обработчиках формы, ПриОткрытии(), ПриСозданииНаСервере() ?
  7. TopicStarter Overlay
    x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Ну не зна. Задал вопрос на партнерском. Посмотрим что скажут
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
  9. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Я тоже видел на Инфостарте примерчик. И мне так же показалось, довольно сложновато. Ну, видимо, простого способа реализации данной задачи на управляемых формах нет.
    x_under, если не затруднит, не мог бы ты потом написать тут пару слов о том, что по этому поводу ответят на партнерском? Спасибо.

Поделиться этой страницей