1с кнопка печать в печатной форме

Изменение существующих или создание новых печатных форм – задача довольно распространённая. Как правило, в таких случаях создаётся внешняя печатная форма и подключается через стандартную подсистему дополнительных отчётов и обработок. Однако, иногда возникают задачи, в которых печатная форма должна формироваться с учётом данных, вводимых пользователями непосредственно перед печатью. То есть, сначала должна открыться форма, в которую пользователь вводит данные, и только потом выполняется команда «Печать».

Допустим, нам нужно создать печатную форму некой справки, часть данных которой вводятся в форме перед печатью. Кнопка «Печать» должна располагаться на форме.

Создаём внешнюю обработку. В модуле обработки, в функции СведенияОВнешнейОбработке () , устанавливаем параметры регистрации внешней обработки.

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

В этой же функции СведенияОВнешнейОбработке () при обращении к процедуре ДобавитьКоманду () для внешних печатных форм в параметр «Использование» обыкновенно передаётся значение «ВызовСерверногоМетода» или «ВызовКлиентскогоМетода». Здесь же мы укажем значение «ОткрытиеФормы».

В итоге функция будет выглядеть так:

Создаём макет печатной формы.

Далее создаём основную форму обработки и необходимые реквизиты формы. Создаём и размещаем на форме команду «Печать». Формировать табличный документ для печати будем в обработчике этой команды. В зависимости от того, какие данные требуются для печатной формы, организовываем заполнение табличного документа либо на клиенте, либо на сервере. В данном примере заполняем на сервере и затем возвращаем табличный документ на клиент.

Итак, в модуле формы:

Табличный документ сформирован, осталось вывести его для печати в предназначенную для этого общую форму «Печать документов». Сделаем это с помощью стандартных механизмов БСП.

Дополним обработчик команды «Печать»:

Теперь в результате выполнения команды «Печать» из формы нашей внешней обработки, табличный документ будет выводиться в форму «Печать документов», которая предоставляет удобный интерфейс для печати:

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

Создаем кнопку печати в документе 1C 8.2

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

И так начинаем, для начала запускаем нашу базу открываем документ и переходим во вкладку Макеты. Далее снизу кликаем Конструктор и выбираем Конструктор печати.

В открывшемся окне не чего не трогаем и кликаем Далее.

В следующем окне нужно выбрать то что будет печататься в шапке документа. Мы выбираем все три пункта Номер, Дата, Поставщик и кликаем далее.

Теперь нужно выбрать то что будет печататься в середине документа. Также отмечаем все пункты и переносим их в правую часть и жмем далее.

Теперь нужно указать то что будет печататься в подвале, отметим например дату.

Тут не чего не меняем и кликаем ОК.

После чего открывается макет печати.

Теперь запускаем 1С и проверяем, что у нас получилось. Ну, во-первых, в документе должна появиться кнопка печати.

После нажатия на нее должен открыться предварительный просмотр.

Ну вот мы и добавили возможность печати документа в 1С. Сделали мы это с помощью конструктора, в следующем уроке попробуем усложнить печатную форму и добавить туда несколько полей. А пока на этом все.

Скриншоты, опубликованные в данной статье, являются цитатами и иллюстрациями программного продукта «1C:Предприятие», авторское право на который принадлежит ЗАО 1С.

В стандартном документе отсутствует кнопка команд печати (группа командной панели).

На что следует обратить внимание для решения проблемы

  • наличие команды у объекта (Документа/Справочника)
  • достаточность права у пользователя на данную команду
  • включенные стандартные команды у объекта
  • включенное автозаполнение командной панели в документе/форме списка
  • верно заполненные свойства команды

В случае, лежащем в основе статьи, проблема оказалась на последнем этапе:

верно указанная группа, но не указан тип параметра команды — должен быть ДокументСсылка.УстановкаЦенНоменклатуры.

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

Как проверить остальные варианты:

Для начала определитесь была ли эта кнопка вообще или же пропала кнопка печати в 1с после каких-либо действий (вспомните их). Проверьте: у всех пользователей проявляется, либо же у отдельных, форме объекта, в форме списка (в обоих) не видна? Все команды отсутствуют или же нет одной конкретной? Ответы на эти вопросы локализует проблему быстрее.

Команды объекта находятся в дереве метаданных (под формами, над макетами)

Права на команду доступны из диалога роли, а также по вкладке дополнительно при активной команде (правой кнопкой или же горячими клавишами Alt+Shift+Enter)

Затем справа в панели свойств перейти на вкладке права и найти требуемое/проверяемое полномочие:

Использовать стандартные команды в карточке объекта на вкладке «Команды» (внизу под списком)

В диалоге редактирования управляемой форме при активной командной панели объекта, нажимаете свойства и проверяете установку флаг «Автозаполнение»

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

Если же у вас обычные формы, возможно вам поможет эта статья

Легче сочинить десять правильных сонетов, чем хорошее рекламное объявление.

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: