Пакетная печать документа. Внешняя печатная форма

Внешняя печатная форма будет очень полезна тем, кто постоянно печатает по нескольку разных печатных форм для документов.
(особенно для всяких торговых организаций, которым надо напечатать  накладную для склада (3 шт)+ накладную клиенту (товарный чек) + список сертификатов + гарантийный и прочее)

Для чего эта штука нужна написано в анонсе, так что я не буду повторяться, а в данном описании напишу — как оно работает, в каких конфигурациях и что может.

Сразу признаюсь, что 50% кода взято из типовой конфигурации 1С.

Итак к делу:

1. Это работает в толстом клиенте 1С 8.2, 8.3 (не вижу смысла уже писать под 8.1). Писалось под УПП, но однозначно проверено на УТ 10.2, КА 1.1, УПП 1.3.

2. Это устанавливается как обыкновенная внешняя печатная форма, ничего сложного. все как обычно — Сервис-Дополнительные внешние обрабоки и печатные формы — Печатные формы — Добавить, приложить. По-умолчанию добавляется к документу «Реализация товаров услуг», но в принципе можно прикрепить к любому документу, вещь универсальная. Для удобства предлагается после установки в документе выбрать эту обработку в качестве печатной формы по-умолчанию для более быстрого доступа.

3. Это выглядит как обычная форма выбора печатных форм (откуда она в общем-то изначально и взята) , но в отличии от стандартной формы выбора тут можно циферками проставить количество и соответственно отметить те формы, которые пользователю хочется напечатать) + пара кнопок «сохранить настроку для контрагента» (ибо есть некоторые вредные контрагенты, которые хотят дополнительные печатные формы, или большее количество, чем простые смертные), кстати, эта кнопочка показывается ТОЛЬКО для тех документов у которых есть реквизит «контрагент» + кнопочка «сохранить общую настройку» для того чтобы каждый раз не проставлять количества для остальных случаев. (ну еще есть кнопка «сбросить», которая настройки удаляет).

4. Фича/баг, кому как — решать тем, кто надумает этим пользоваться. Настройки сохраняются в регистре «сохраненные настройки» (где хранятся настройки всех типовых отчетов написаных на основе универсального отчета), причем настройки сохраняются под каждым пользователем индивидуально. НО! Нет ничего невозможного, если кому-то это не нравится — код открыт, дерзайте, я не буду жаловаться, или жалеть по этому поводу 🙂

11 Comments

  1. jobkostya1c8

    Довольно интересная идея выдернуть данный механизм печати из недр 1С. Обычно такое для нетиповых конфигураций для отдельных печатных форм.

    Reply
  2. druv

    (1) kostyaomsk,

    Идея лежала на поверхности, все дело в поставленной задаче. Клиент сказал «нужен механизм пакетной печати для документа реализации товаров, чтобы можно было распечатать одним нажатием, причем в установленном порядке (чтобы оператору было проще), причем главным условием — не вносить изменения в конфигурацию, чтобы не было проблем с обновлением».

    Reply
  3. sound

    Лови плюс, может как нить пригодится 🙂

    Reply
  4. buval

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

    Reply
  5. masik85

    Нужно было срочно сделать, спасибо !! Взяли вашу. +

    Reply
  6. azmon

    Почему то внешние печатные формы не печатаются сразу на принтер? Или это не работает на внешних печатных формах?

    Reply
  7. druv

    (6) azmon,

    Все зависит от внешней формы (ВПФ), как она сделана. Если в процедуре «печать» ВПФ идет возврат табличного документа и используется стандартный механизм печати, то все работает. Если же в процедуре код типа: ТабДокумент.Показать(); (вместо Возврат ТабДокумент;) Тогда галка «на принтер» не будет работать.

    Reply
  8. azmon

    (7) Да спасибо я уже разобрался в тот же день. Хорошая обработка. Плюсую!

    Reply
  9. Vyacheslav56

    Код работает на управляемых формах или на обычных формах 8.2?

    Reply
  10. druv

    (9) Vyacheslav56, 1. Это работает в толстом клиенте 1С 8.2, 8.3 © — а это означает обычные формы.

    Reply
  11. Vyacheslav56

    Пора начинать код писать на управляемых формах.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *