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

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

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

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

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

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

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

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

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

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

В стандартном документе отсутствует кнопка команд печати (группа командной панели).
На что следует обратить внимание для решения проблемы
- наличие команды у объекта (Документа/Справочника)
- достаточность права у пользователя на данную команду
- включенные стандартные команды у объекта
- включенное автозаполнение командной панели в документе/форме списка
- верно заполненные свойства команды
В случае, лежащем в основе статьи, проблема оказалась на последнем этапе:
верно указанная группа, но не указан тип параметра команды — должен быть ДокументСсылка.УстановкаЦенНоменклатуры.

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

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

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

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

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

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