Рассмотрим, как осуществляется печать документов из приложений "1С", работающих в режиме сервиса (через Интернет).
Как в локальной версии приложения, так и в сервисе, один и тот же документ можно распечатать в разных вариантах. Например, расходную накладную можно распечатать, как в виде регламентированной товарной накладной (ТОРГ-12), так и, собственно, в виде расходной накладной (для внутренних нужд организации). Поэтому перед началом печати документа, в форме документа следует выбрать желаемый вид печати. Это можно сделать в раскрывающемся меню Печать (как это показано на рис.1 на примере приложения "1С:Управление нашей фирмой" ).
Рис. 1.
Начало печати
В некоторых приложениях (например,"1С:Бухгалтерия 8"), если для документа предусмотрена только одна печатная форма, то начать печать можно будет в один клик (в этом случае, вместо меню Печать отображается кнопка с названием единственной печатной формы).
Рис. 2. Печать документов с единственной печатной формой
Поскольку печать документов в режиме сервиса запускается в окне браузера, следует обратить внимание на следующие особенности печати.
Рис. 3.
Печатная форма документа
Интерфейс форм печати документа различен в разных браузерах. Поэтому, если вы используете не один, а несколько браузеров для работы в сервисе, будьте готовы к тому, что привычный порядок работы при печати будет немного различаться, в зависимости от используемого браузера и его версии. Например, браузер Google Chrome предлагает в дополнительном диалоговом окне, выдаваемом непосредственно перед печатью, осуществить предварительный просмотр и задать настройки печати (рис. 4).
Рис. 4. Печать документа в браузере Google Chrome
Если вы хотите использовать собственную печатную форму (например, с размещением на ней логотипа), то сделать это можно, выгрузив из сервиса типовую печатную форму, отредактировав ее в локальной версии приложения и загрузив обратно в сервис (более подробную информацию об использовании настраиваемых печатных форм вы найдете ).
Приведем общую последовательность действий при печати документов (рис. 5).
Рис. 5. Последовательность действий при печати
Рис. 6.
Редактирование печатной формы
Рис. 7.
При желании, сохраните файл в нужном формате
В результате, документ будет распечатан на принтере.
Рис. 8.
Начало печати при помощи системного диалога браузера (используется Internet Explorer)
Способ печати выбирается в настройках 1С:Предприятия, доступных по команде Главное меню / Сервис / Параметры (рис. 9).
Рис. 9. Главное меню 1С
Параметр Способ печати (рис. 10) определяет степень влияния пользователя на макет документа:
Рис. 10. Выбор способа печати (рекомендуется PDF )
Настройки параметров печати 1С:Предприятия доступны в форме документа с помощью команды (рис. 11).
Рис. 11. Выбор параметров страницы
Так как веб-браузеры имеют свои собственные настройки печати, то необходимо, чтобы они совпадали с упомянутыми настройками страницы разбивки табличного документа. Настройки страницы печати браузера редактируются в диалоге Параметры страницы (рис. 12), который в Microsoft Internet Explorer, Mozilla Firefox и Apple Safari вызывается командой меню браузера: Файл / Параметры страницы... (File / Page Setup... ). Для веб-браузера Google Chrome такая настройка не предусмотрена.
Рис. 12. Выбор параметров страницы в браузере
Чтобы убедиться, что печать табличного документа будет осуществляться правильно, можно воспользоваться предварительным просмотром печати.
Проверьте, что в качестве Способа печати (Главное меню / Сервис / Параметры страницы ) выбрана опция PDF . Затем, если ошибки не устранены, проверьте правильность выбора настроек печати 1С:Предприятия (Главное меню / Файл / Параметры страницы - эти настройки надо вызывать из окна с печатной формой документа, как показано на рис. 11) и настроек печати браузера (рис. 12), которые доступны при выборе команды Файл / Параметры страницы .
В некоторых браузерах, если подключенные принтеры отсутствуют, по умолчанию устанавливается режим печати в файл формата PDF. Если такое происходит, проверьте, что принтер подключен и корректно установлен в операционной системе.
Дополнительную информацию о печати вы найдете в статье на сайте ИТС .
Желаем приятной работы!
Сегодня обратился клиент со следующей проблемой: «При отправке на принтер печатной формы ТОРГ-12 из 1С:Предприятие 8, ничего не происходит. Бланк не печатается, никаких ошибок принтер не показывает. При этом все остальные формы у пользователя печатаются на том же принтере без проблем».
Так как другие формы у пользователя на принтер отправляются, то очевидно — дело не в принтере, а в каких-то настройках. Дело в том, что 1C запоминает настройки печати отдельно для каждого вида документа. Отдельно для ТОРГ-12, отдельно для и т.д.
И если у пользователя поменяли принтер (или удалили и заново установили тот же самый принтер), то 1С уже не может найти старый принтер, но «по привычке» (в соответствии с сохраненными настройками) отправляет этот документ на него.
Значит, нам нужно поменять в настройках принтер. Делается это через кнопку «Параметры страницы». Но не тут то было… 1С выдает нам непонятное сообщение «Ошибка при получении характеристик принтера» и не дает настройки печати документа…
Чтобы сбросить настройки печати, перейдите в меню «НСИ и администрирование -> Настройки пользователей и прав -> Пользователи» и откройте карточку пользователя, у которого возникли проблемы с печатью. Далее перейдите на закладку «Настройки». В этом месте 1С может достаточно долго подумать, но в итоге выдать список настроек.
Теперь перейдите на закладку «Прочие настройки»
Установите курсор на строку «Настройки печати табличных документов» и сверху нажмите кнопку «Очистить». Согласитесь с вопросом «Очистить выделенные настройки». Вернитесь в документ и попробуйте ещё раз войти в параметры страницы. На этот раз должно получиться, а ошибка печати ошибка получения характеристик принтера должна исчезнуть.
Специфика работы платформы 1С, большое количество документов и отчетов, которые необходимо переводить из электронного в бумажный вид, проблемы с совместимостью оборудования, да и просто кривые руки программистов приводят к тому, что ошибки при печати 1С – одни из чаще всего возникающих неполадок.
После одного из обновлений платформы многие пользователи столкнулись с тем, что не печатает принтер из 1С в режиме двусторонней печати. При этом не многие обратили внимание, на то, что в программе поменялось окно Параметры страницы (рис.1)
В частности, в левом нижнем углу появилась возможность настройки двусторонней печати. Приоритет в данном случае отдается настройкам программы, а не собственным настройкам принтера в операционной системе. Список возможных значений в первых версиях окна принимал только два значения: Да и Нет, что полностью исключало возможность использования настроек принтера. После обновления платформы появилось четыре варианта:
Последний пункт в настоящее время выставляется в качестве значения по умолчанию, что позволяет избежать подобной ошибки.
Очень часто ошибки содержащие фразу «получение информации о принтере», происходят из-за того, что установленные по умолчанию для 1С принтеры не видятся программой. Это может происходить в следующих случаях:
В любом случае, возникновение подобной ошибки мало связано с самой программой 1С, и в большей степени зависит от настроек сетевого доступа к принтерам, правами пользователей на подключение и использование локальных устройств, работы сети.
Ошибки при печати связанные с недочетами в коде
Зачастую, попытка распечатать тот или иной табличный документ оканчивается неудачей из-за ошибок в коде. Работники фирмы 1С и специалисты, занимающиеся поддержкой работоспособности конфигураций, стараются выявлять их на стадии разработки, но изредка они выскакивают.
К подобным ошибкам можно отнести:
Следует отметить, что хотя без внесения изменения с помощью конфигуратора, эти ошибки исправить вряд ли получится, однако критическими они не являются. Полная информация о них представлена в окне служебных сообщений и исправляются они, как правило в течении достаточно короткого периода времени.
Даже специалистам, давно работающим с приложением 1С, порой бывает очень сложно настроить специальные принтеры, печатающие наклеиваемые этикетки определенных размеров.
Переустановка драйверов устройства и прочие танцы с бубнами, как правило, успеха не имеют.
Последовательность действий, которая поможет максимально сократить время настройки принтера в 1С и сберечь нервы специалисту может выглядеть следующим образом:
Ошибки при печати штрих-кодов
Так же достаточно часто пользователи обращаются с проблемами, возникающими при печати различных документов, содержащих штрих-коды. Как правило, эти проблемы можно свести в несколько групп:
В первом случае проблема решается установкой соответствующего дополнения, которое можно найти на диске ИТС или официальном сайте 1С. Два других варианта требуют вмешательства в программный код,и без специальной подготовки избавиться от выскакивающей ошибки бывает сложно.
В завершении статьи хотелось бы отметить, что ошибки, возникающие при печати в 1С, никоим образом не влияют на исходные данные в программе и не являются критическими.
Большинство обучающих материалов по программированию в системе 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» является строгое разделение свойств и методов по контексту исполнения. Если все приведенные выше свойства доступны в любом контексте, то перечисленные методы недоступны на тонком клиенте. Исключением является метод «Напечатать()», доступность которого по понятным причинам ограничена клиентской частью. Это означает, что формирование табличного документа должно происходить на сервере, а отправлять его на печать следует в клиентской процедуре.