1с печать документа на нужный принтер. Публикации

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

Как сделать печатную форму – уже понятно. Как разбить ее на блоки – тоже. Но как происходит печать в 1С всего этого дела? А особенно – как вывести не просто текст макета, а содержимое электронного документа?

Вот это мы и посмотрит прямо сейчас.

Подготовка макета для печати в 1С

Для начала придется начать с самого простого и заполнить макет для печати в 1С статическим текстом и линиями таблиц. Ведь кто-то должен сделать эту скучную работу?

Размещаем статический текст для печати в 1С

Для начала неплохо было бы разместить название нашей печатной формы. Выделим несколько ячеек в строке, и выберем пункт меню Таблица/Объединить. В результате несколько ячеек будут объединены в одну.

Теперь в этой ячейке напишем название документа. Так как это заголовок, то видимо мы хотим сделать его жирным крупным шрифтом (см. картинку) и разместить посередине.

Размещаем оформление макета для печати в 1С

У нас есть именованная область Строка. В ней при печати в 1С будет выводиться каждая строка таблицы документа Товары. Вероятно мы хотели бы, чтобы таблица выглядела при печати в 1С тоже таблицей? Тогда нужно нарисовать для нее границы.

Для этого выберем ячейки строки и на панели выберем кнопку Границы. Мы выбрали вариант Граница везде – она рисует границы ячеек сразу со всех сторон. Если необходимо ограничиться только одной стороной, то нужно выбрать соответствующую кнопку.

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

В привычном окне свойств можно выбрать вид и цвет линий для отрисовки границ.

Размещаем картинки и прочую мишуру для печати в 1С

Многие спрашивают – а как разместить на печатной форме 1С что-то кроме текста? Например – картинку.

А очень просто. Мало того, скажу сразу, что штрих-код (если Вам нужно его распечатать) тоже является картинкой.

Поставим курсор на любую ячейку. Выберем меню Таблица/Рисунки. Это целое подменю, которое позволяет вставить на макет для печати в 1С не только картинку или рисованный объект – но и объекты извне 1С, зарегистрированные на компьютере с помощью COM класса (например, элемент управления выпадающий список).

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

Как разместить содержимое электронного документа при печати в 1С

Для размещения на макете при печати в 1С содержимого электронного документа – используется метод подстановки. Состоит он из двух частей.

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

Поставим курсор в ячейку. Впишем название параметра (одним словом, без пробелов и прочего мусора). Далее войдем в свойства этой ячейки (как — уже говорилось выше) и выберем Заполнение = Параметр.

Часть вторая . Подстановка значений производится не в когда Вы программируете в конфигураторе, а в момент печати документа в 1С. Соответственно с помощью программирования нужно указать 1С что нужно подставить в этот параметр.

Производится это следующим образом:

Макет = ПолучитьМакет("НазваниеМакета");
облКакаято = Макет.ПолучитьОбласть("НазваниеОбласти");
облКакаято.Параметры.НазваниеПараметра = "То что я хочу подставить из базы";

Как Вы видите мы просто получаем по имени сначала сам макет, потом одну из его областей, а потом просто обращаемся к параметру по его названию.

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

Как производится печать макета в 1С

После того, как макет готов, пора задуматься о программировании процесса печати в 1С.

Печать в 1С обычно программируется несколькими процедурами, которые находятся в модуле объекта документа. .

Процедура Печать() обычно имеет пометку Экспорт и управляет печатью документа в 1С с помощью параметра ИмяМакета, в котором передается что хотелось бы распечатать.

Для каждого варианта макета делается процедура ПечатьИмяМакета(), в которой прописана печать конкретного макета. Вот ее мы сейчас и посмотрим.

Программирование печати в 1С состоит из трех пунктов.

Прежде чем печатать электронный документ в 1С, нам нужно запросить его данные из базы данных. Очевидно, чтобы распечатать документ, пользователь обычно «входит» в него (открывает его форму) и нажимает кнопку Печать. Поэтому в процедуре печати можно было бы просто обращаться к реквизитам документа (что это – обсуждали здесь) по имени.

Однако это считается некрасиво, не универсально и т.п. Например, вдруг будет использована обработка массовой печати документов (часто ли такой пользуются?). Поэтому принято в процедуре печати делать запрос к базе данных, который запрашивает данные документа. Например, так:

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
Дата,
Номер,
Организация
ИЗ
Документ.ИмяДокумента
ГДЕ
Ссылка = &ДокументДляПечати";
Запрос.УстановитьПараметр("ДокументДляПечати", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

Пункт 2. Заполнение макета для печати в 1С

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

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

ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ИмяМакета"); //или ПолучитьОбщийМакет("")

облШапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(облШапка);

облСтрока = Макет.ПолучитьОбласть("Строка");
Пока ВыборкаСтрокДокумента.Следующий() Цикл
облСтрока.Параметры.Товар = ВыборкаСтрокДокумента.Товар;
ТабДок.Вывести(облСтрока);
КонецЦикла;

облШапка = Макет.ПолучитьОбласть("Подвал");
ТабДок.Вывести(облПодвал);

Пункт 2. Вывод документа на печать в 1С

Последним пунктом является вывод полученного документа на экран или принтер. В типовых конфигурациях для этого используется типовая процедура (в каждой может быть своя), например, УниверсальныеМеханизмы.НапечататьДокумент().

В других случаях можно просто использовать типовые функции объекта ТабличныйДокумент: ТабДок.Показать() или ТабДок.Напечатать() .

Рассмотрим, как осуществляется печать документов из приложений "1С", работающих в режиме сервиса (через Интернет).

Как в локальной версии приложения, так и в сервисе, один и тот же документ можно распечатать в разных вариантах. Например, расходную накладную можно распечатать, как в виде регламентированной товарной накладной (ТОРГ-12), так и, собственно, в виде расходной накладной (для внутренних нужд организации). Поэтому перед началом печати документа, в форме документа следует выбрать желаемый вид печати. Это можно сделать в раскрывающемся меню Печать (как это показано на рис.1 на примере приложения "1С:Управление нашей фирмой" ).

Рис. 1. Начало печати

В некоторых приложениях (например,"1С:Бухгалтерия 8"), если для документа предусмотрена только одна печатная форма, то начать печать можно будет в один клик (в этом случае, вместо меню Печать отображается кнопка с названием единственной печатной формы).

Рис. 2. Печать документов с единственной печатной формой

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

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


Рис. 3. Печатная форма документа

Интерфейс форм печати документа различен в разных браузерах. Поэтому, если вы используете не один, а несколько браузеров для работы в сервисе, будьте готовы к тому, что привычный порядок работы при печати будет немного различаться, в зависимости от используемого браузера и его версии. Например, браузер Google Chrome предлагает в дополнительном диалоговом окне, выдаваемом непосредственно перед печатью, осуществить предварительный просмотр и задать настройки печати (рис. 4).

Рис. 4. Печать документа в браузере Google Chrome

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

Порядок печати

Приведем общую последовательность действий при печати документов (рис. 5).

  1. Начните печать, нажав соответствующую кнопку на панели инструментов документа и выбрав в меню желаемую печатную форму (см. рис. 1).
  2. В открывшейся печатной форме определите доступные параметры (например, количество копий).

Рис. 5. Последовательность действий при печати

  1. При необходимости, отредактируйте текст в печатной форме. Для этого дважды щелкните на нужной ячейке формы и измените находящийся в ней текст (рис. 6).



Рис. 6. Редактирование печатной формы

  1. Если вы хотите сохранить готовую печатную форму документа в файл на локальном компьютере, нажмите кнопку Сохранить в печатной форме (см. рис. 3), выберите в открывшемся диалоговом окне Сохранение печатной формы желаемый формат файла, установив рядом с ним флажок, и нажмите кнопку Сохранить в(рис. 7).
    Примечание: Можно задать несколько форматов одновременно - в этом случае будет создано несколько файлов с соответствующими расширениями.


Рис. 7. При желании, сохраните файл в нужном формате

  1. Нажмите кнопку Печать в окне печатной формы (см. рис. 3).
  2. В открывшемся окне печати браузера, при необходимости, выберите параметры печати (принтер и т.д.) и нажмите кнопку Печать еще раз (рис. 8).

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


Рис. 8. Начало печати при помощи системного диалога браузера (используется Internet Explorer)

Ответы на частые вопросы

1. Что такое способ печати? Какой способ печати лучше выбрать?

Способ печати выбирается в настройках 1С:Предприятия, доступных по команде Главное меню / Сервис / Параметры (рис. 9).

Рис. 9. Главное меню 1С

Параметр Способ печати (рис. 10) определяет степень влияния пользователя на макет документа:

  • PDF - печать без изменения полей и масштаба;
  • HTML - при печати возможны изменения полей и масштаба.

Рис. 10. Выбор способа печати (рекомендуется PDF )

2. Как настроить параметры печати?

Настройки параметров печати 1С:Предприятия доступны в форме документа с помощью команды (рис. 11).

Рис. 11. Выбор параметров страницы

Так как веб-браузеры имеют свои собственные настройки печати, то необходимо, чтобы они совпадали с упомянутыми настройками страницы разбивки табличного документа. Настройки страницы печати браузера редактируются в диалоге Параметры страницы (рис. 12), который в Microsoft Internet Explorer, Mozilla Firefox и Apple Safari вызывается командой меню браузера: Файл / Параметры страницы... (File / Page Setup... ). Для веб-браузера Google Chrome такая настройка не предусмотрена.

Рис. 12. Выбор параметров страницы в браузере

3. Можно ли перед печатью осуществить предварительный просмотр документа?

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

  • При использовании веб-браузеров Microsoft Internet Explorer, Apple Safari и Mozilla Firefox (в большинстве версий), предварительный просмотр открывается командой меню браузера: Файл / Предварительный просмотр (File / Print Preview ).
  • Для веб-браузера Google Chrome предварительный просмотр осуществляется по умолчанию непосредственно перед печатью (см. рис.4 выше).

Типичные ошибки при печати

1. Что делать, если при печати страница выводится на принтер с ошибками?

Проверьте, что в качестве Способа печати (Главное меню / Сервис / Параметры страницы ) выбрана опция PDF . Затем, если ошибки не устранены, проверьте правильность выбора настроек печати 1С:Предприятия (Главное меню / Файл / Параметры страницы - эти настройки надо вызывать из окна с печатной формой документа, как показано на рис. 11) и настроек печати браузера (рис. 12), которые доступны при выборе команды Файл / Параметры страницы .

2. Что делать, если вместо печати на принтере предлагается сохранить в файл формата PDF?

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

Дополнительную информацию о печати вы найдете в статье на сайте ИТС .

Желаем приятной работы!

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

Почти все параметры, доступные в диалогах настройки печати (настройки принтера, свойства страницы), можно указать непосредственно при формировании табличного документа.

Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»).

Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе:

ТабДок . ИмяПринтера = "HP LaserJet 3050 Series PCL 6" ;

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

ТабДок . РазборПоКопиям =истина;

Число копий можно указать так:

ТабДок . КоличествоЭкземпляров = 5 ;

Разумеется, можно задать поля:

ТабДок . ПолеСлева = 20 ; //Поле слева 20мм, остальные поля 10мм (по умолчанию)

Еще несколько свойств страницы:

ТабДок . ОриентацияСтраницы = ОриентацияСтраницы . Ландшафт ;
ТабДок . ЭкземпляровНаСтранице = 2 ; //на листе будет размещено 2 страницы
ТабДок . Автомасштаб =истина; //аналогично настройкам масштаба «по ширине страницы»

При необходимости можно указать конкретное значение масштабирования в процентах (свойство «МасштабПечати» ).

Свойство «РазмерСтраницы» позволяет задать стандартные форматы страницы - “ A 3”, “A4”, “ A 5” (полный список вариантов доступен в справке 1С).

ТабДок . РазмерСтраницы = "A3" ; // буква А должна быть английской

Для нестандартного размера бумаги (Custom) можно указать значения высоты и ширины страницы (в мм):

ТабДок . РазмерСтраницы = "Custom" ; //нестандартный размер
ТабДок . ВысотаСтраницы = 350 ;
ТабДок . ШиринаСтраницы = 350 ;

Также в табличном документе доступно управление выводом колонтитулов и их содержимым. Для этого служат свойства «ВерхнийКолонтитул» и «НижнийКолонтитул». Например:

ТабДок . ВерхнийКолонтитул . Выводить =истина; //будет напечатан верхний колонтитул
ТабДок . РазмерКолонтитулаСверху = 7 ; //размер колонтитула 7мм (по умолчанию 10мм)
ТабДок . ВерхнийКолонтитул . ВертикальноеПоложение = ВертикальноеПоложение . Верх ;
ТабДок . ВерхнийКолонтитул . НачальнаяСтраница = 2 ; //колонтитул выводится со второй страницы
ШрифтКолонтитула =Новый Шрифт ("Courier New" , 8 ,Истина);
ТабДок . ВерхнийКолонтитул . Шрифт = ШрифтКолонтитула ; //наклонный шрифт
ТабДок . ВерхнийКолонтитул . ТекстВЦентре = "Верхний колонтитул" ;
ТабДок . ВерхнийКолонтитул . ТекстСправа = "Стр.[&НомерСтраницы] из [&СтраницВсего]" ; //нумерация страниц
ТабДок . ВерхнийКолонтитул . ТекстСлева = "[&Дата]" ; //текущая дата

Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова.

1) Непосредственно на принтер:

ТабДок . Напечатать (. НеИспользовать );
ТабДок . Напечатать (истина);

2) Перед печатью будет выведен диалог печати:

ТабДок . Напечатать (РежимИспользованияДиалогаПечати . Использовать );
ТабДок . Напечатать (ложь);

Кроме того можно управлять и разбиением документа на страницы. Оценитьколичество страниц в документе по настройкам текущего принтера можно так:

ТабДок . КоличествоСтраниц ();

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

Надо иметь ввиду, что работа последних трех методов зависит от установленного принтера. Если методу не удается его найти, вызывается исключение.

Принудительно вставить разрывы страниц позволяют методы «ВывестиВертикальныйРазделительСтраниц()» и «ВывестиГоризонтальныйРазделительСтраниц()» .

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

Если Не ТабДок . ПроверитьВывод (МассивВыводимыхОбластей ) Тогда
ТабДок . ВывестиГоризонтальныйРазделительСтраниц ();
КонецЕсли;

Важной характеристикой платформы «1С:Предприятие 8.2» является строгое разделение свойств и методов по контексту исполнения. Если все приведенные выше свойства доступны в любом контексте, то перечисленные методы недоступны на тонком клиенте. Исключением является метод «Напечатать()», доступность которого по понятным причинам ограничена клиентской частью. Это означает, что формирование табличного документа должно происходить на сервере, а отправлять его на печать следует в клиентской процедуре.

Как добавить печать, подпись и логотип в печатную форму счёта на оплату покупателю (для 1С:Бухгалтерия 8.3, редакция 3.0)

2018-07-27T09:42:51+00:00

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

Сегодня я расскажу как сделать подобную настройку для 1С:Бухгалтерии 8.3 (редакция 3.0) самостоятельно, без помощи программиста.

Настраиваем печать, подпись и логотип

Итак, заходим в раздел "Главное" и выбираем пункт "Организации":

Открываем карточку нашей организации и раскрываем пункт "Логотип и печать":

Сразу после этого нас попросят указать картинку, которую мы хотим использовать в качестве нашего логотипа. Файл с такой картинкой нужно подготовить заранее (заказать у дизайнера) или найти что-нибудь подходящее в интернете.

Я для наших экспериментов взял логотип фирмы 1С:

Вообще же подойдёт любая картинка в форматах (png, jpg, bmp).

Логотип подставился в поле и отобразился на форме, отлично!

Займёмся изготовлением факсимильной печати и подписей. Для этого нажмём на пункт "Инструкция "Как создать факсимильную подпись и печать"":

Распечатаем и выполним инструкции, указанные на распечатанном листке:

После этого в нашем распоряжении окажется 3 картинки в одном из форматов (png, jpg, bmp) с печатью и подписями, в моём случае они выглядит так:

Видим, что картинки с печатью и подписями подставились и отобразились на форме. Нажмём кнопку "Записать и закрыть" в карточке организации:

Обратите внимание на изменение в версии БП 3.0.64.34. О нём .

Наконец, заходим в какой-нибудь счёт на оплату покупателю и нажимаем кнопку "Печать"->"Счёт на оплату (с печатью и подписями)":

Появилась печатная форма счёта с логотипом, печатью и подписями:

Если картинки с печатью и подписями слишком малы, отсканируйте листок заново с более высоким разрешением.

Мы молодцы, на этом вроде бы всё

Но что если мы хотим, чтобы печать залезала на подпись?

Не всем это нужно и видимо поэтому 1С по умолчанию сделала вариант с отдельным расположением подписи и печати.

Для тех, кому нужно их совместить инструкция ниже.

Совмещаем печать и подпись руководителя

Для этого заходим в любой счет и формируем обычную печатную форму (без печати и подписей):

Получится вот так:

Затем отрезаем по жирной линии внизу (перед подписями и печатью) и нижнюю часть сканируем и сохраняем в виде картинки на рабочий стол.

У меня получилось вот так (печать и подпись выдуманы):

Снова заходим в карточку организации, раздел "Логотип и печать".

Здесь удаляем картинки с подписями руководителя и бухгалтера, а вместо старой картинки печати загружаем только что сделанную большую картинку, совмещающую в себе печать и подписи:

Нажимаем кнопку "Записать и закрыть" в карточке организации, а затем формируем печатную форму любого счёта вместе с печатью и подписями:

В открывшейся печатной форме из пункта "Ещё" выбираем команду "Изменить макет...":

В открывшемся макете перейдите почти в самый низ (примерно 90-е строчки) и выделите невидимый квадрат ниже надписи руководитель:

Наша задача состоит в том, чтобы перетащить этот квадрат чуть выше (определяется экспериментально), чем надпись руководитель и растянуть его на всю ширину печатной формы, вот так:

Больше ничего не меняйте! Нажмите кнопку "Записать и закрыть", печатная форма счета переформируется автоматически:

Произошло именно то, чего мы и добивались - печать залезла на подпись.

Мы снова молодцы

Кстати, на новые уроки...

Изменение в версии БП 3.0.64.34

Теперь, настроив подпись и печать в организации, мы всё-равно должны выбирать в счёте пункт "Счет на оплату", а уже в самой печатной форме ставить галку "Подпись и печать":

Поставить её нужно один раз. Её значение сохраняется между вызовами печатной формы.

Дополнение от читателя сайта . Если форма счета была - поле
с галкой не появится - надо

Знание того, как в 1С поменять принтер, а также владение различными способами подключения и настройки принтеров помогает ускорить распечатку и повысить уровень обслуживания клиентов.

Как подключить принтер

Печатающее устройство подключается в два этапа:

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

Как поменять и настроить принтер

Если к ПК подключены несколько принтеров, то 1С: Предприятие будет использовать тот, который указан в настройках по умолчанию. Но только до тех пор, пока пользователь не выберет другой принтер, настраивая печать какого-либо документа. После этого программа станет ориентироваться на последний выбор. Менять печатающее устройство можно в "Параметрах страницы" во время настройки параметров печати документа.

Самым проблематичным моментом при печати является несоответствие размеров этикетки. Как же настроить размер документа?

  1. Укажите размеры этикетки в 1С: меню Файл, и далее – Параметры страницы.
  2. Найдите в Панели управления принтеры, выделите штрих-принтер и вызовите его контекстное меню. В "Свойствах сервера печати" создайте форму с размерами этикеток. В дальнейшем при печати из 1С выбирайте эту форму.

Это базовые настройки для печатающего устройства в 1С. Остальные настройки варьируются в зависимости от версии программы - 1С 8.3 или 1С 7.7. При возникновении затруднений рекомендуем обращаться к специалистам для отладки работы программы.