Спонсор Поста: Прошивка принтеров, заправка картриджей, ремонт принтеров в Москве. Прошивка принтера Samsung ML-2950ND/2955ND. Перепрошивка принтера Samsung ML 3300, прошивка принтеров Xerox.
В работе 1С Программист часто имеет дело с созданием и редактированием печатных формам документов, и сегодня поговорим о создании печатных формы для документов и настройкой печати.
При построении печатной формы используются следующие объекты: 1) Макет — В нем содержатся различные области для формирования печатной формы. 2) Табличный документ — Необходим для вывода печатной формы на экран.
Построение печатной формы происходит в следующем порядке: 1) Получить макет (созданный для данного объекта или общий) 2) Получаем области макета (в областях макета содержится параметр или текст) 3) Создаем табличный документ (тот объект, куда будет происходить вывод). 4) Подставляем значения в параметры и выводим области в табличный документ. 5) Отображаем табличный документ на экране.
Создание Макетов и областей макетов затрагивать сейчас не будем, а сразу перейдем к типу данных “ТабличныйДокумент”, который необходим для вывода печатной формы созданной на основании макета. “Макет” доступен только на сервере и толстом клиенте, поэтому для формирования печатной формы потребуется серверный вызов, Заполнение макета будем производить на сервере, а вывод на клиенте.
Пример создания простейшей печатной формы:
Существует множество методов и свойств класса ТабличныйДокумент, с помощью которых можно сразу же выводить табличный документ на печать, устанавливать настройки принтера, свойства страницы, многое другое.
Сейчас рассмотрим более подробней как документ будет выгладить в распечатанном виде, задавая установки параметров печати через свойства и методы объекта «Табличный документ».
Свойства Табличного Документа
Зададим для печати принтер, отличный от установленного по умолчанию. Используем свойство Табличного документа «ИмяПринтера» которое позволяет задать имя принтера известного в системе, на который бедет выводится печать.
Установим количество копий печатуемого документа программно.
Установив признак разбора по копиям для документа.
Установим через свойство «РазмерСтраницы» которое позволяет задать стандартные форматы страницы – “A3”, “A4”, “A5” (полный список в справке 1С).
Если размер бумаги нестандартен (Custom — произвольный размер бумаги ) то укажем значения высоты и ширины страницы (в мм):
Зададим поля для страницы (по умолчанию поля 10мм).
Программно управляем вывводом колонтиттула и его содержимым в 1С через свойства «ВерхнийКолонтитул» и «НижнийКолонтитул». Пример:
Еще пару свойств страницы:
Если свойство АвтоМасштаб имеет значение Ложь или еще не заданно то можно указать значение масштабирования в процентах (через свойство «МасштабПечати»).
Методы Табличного Документа
Отправим на печать табличный документ непосредственно на принтер.
Перед печатью будет выведен диалог печати.
Скрываем окно табличного документа.
Или открываем окно для показа и редактирования табличного документа.
Можно принудительно вставить разрывы страниц используя методы «ВывестиГоризонтальныйРазделительСтраниц()» и «ВывестиВертикальныйРазделительСтраниц()»
Более полный список по свойствам и методам Табличного Документа смотрите в справке 1С.
На платформе «1С:Предприятие 8.2» у свойств и методов идет четкое разделение по контексту исполнения. Если свойства доступны в любом контексте, то методы в основном недоступны на «Тонком» клиенте. Следовательно, оформляем документ на сервере, а отправку на печать производим в клиентской процедуре.
Чтобы понять, что написано в модуле формы необходимо разбираться в контексте модуля формы.
П.С. Если вам необходимо создать печатную форму или отредактировать существующую обращайтесь 1С Программист к вашим услугам.
Пожалуйста, оставляйте комментарий мне важно ваше мнение.
v8.2 УП: Параметры печати
1C8.2.14.519 УП Добрый вечер. Справочник имеет реквизит Текст (Строка) в которой содержится HTML-текст. На форме элемента справочника имею реквизит HTMLТекст типа ФорматированныйДокумент.
Вставляю в него HTML-текст:
Отображается HTML текст, полученный из реквизита объекта справочника как положено. Закинул в командную панель стандартную команду этого реквизита «Печать» и «Предварительный просмотр». Но вот при печати, режутся края. Предполагаю, по умолчанию поля слева, права, вверху и внизу равны 0. В предварительном просмотре это можно отрегулировать, но постоянно это делать не удобно. Как программно установить параметры печати как для ТабличногоДокумента?
Пробовал не заморачиваться с Форматированным Документом и печатал содержимое поля Объект.Текст имеющего вид на форме «Поле HTML документа» командой
Но тоже режутся края. Может в этом случае кто-нибудь программно форматировал параметры печати?
P.S. Было замечено, что при установки полей печати при предварительном просмотре в случае для ФорматированногоДокумента, эти параметры сохранялись в неявном виде и при печати во втором случае из поля HTML документа.
1. обнови платформу. очень уж старенькая
2. Примеры программной установки параметров печати
Зададим для печати принтер, отличный от установленного по умолчанию.
Используем свойство Табличного документа «ИмяПринтера» которое позволяет задать имя принтера известного в системе, на который бедет выводится печать.
Установим количество копий печатуемого документа программно.
Установив признак разбора по копиям для документа.
Установим через свойство «РазмерСтраницы» которое позволяет задать стандартные форматы страницы – “A3”, “A4”, “A5” (полный список в справке 1С).
Если размер бумаги нестандартен (Custom & произвольный размер бумаги ) то укажем значения высоты и ширины страницы (в мм):
Программно управляем вывводом колонтиттула и его содержимым в 1С через свойства «ВерхнийКолонтитул» и «НижнийКолонтитул».
Если свойство АвтоМасштаб имеет значение Ложь или еще не заданно то можно указать значение масштабирования в процентах (через свойство «МасштабПечати»).
Отправим на печать табличный документ непосредственно на принтер.
Код 1C v 8.х
KorolyovSS
27.02.2015 06:08
Ответ № 2
Для ТабличногоДокумента понятно. Не понятно как для Форматированного Документа.
all4cf
27.02.2015 11:29
Ответ № 3
только в предварительном просмотре можно настроить ручками
Программирование 1С 8.х для начинающих
Конфигурация
ИмяПараметровПечати, КлючПараметровПечати
Если Вы сталкивались с данным свойством Табличного документа, то думаю заметили, что не совсем очевидно как оно устанавливается и где хранится. В этой статье я расскажу об этом.
В этой статье я буду использовать свойство ИмяПараметровПечати как более привычное, но все что здесь написано справедливо и для КлючПараметровПечати.
Как происходит сохранение параметров печати?
Рассмотрим простой отрывок кода (листинг):
В нём мы создали табличный документ и установили свойство «ПолеСверху» равное 5. Далее мы указали для свойства «ИмяПараметровПечати» значение «ПАРАМЕТРЫ_ПЕЧАТИ_Реализация_Печать», эта текстовая строка является ключом в хранилище настроек(об этом позже). Выполняя этот код программа посмотрит существует ли для этого табличного документа и этого пользователя настройка печати, если нет то запишет, а если есть, то параметры будут взяты уже из сохраненной.
Как изменить параметры печати?
Параметры печати можно изменить только в пользовательском режиме открыв окно «Параметры страницы»
Здесь Вы видите параметры которые сохраняются для печати здесь же их можно изменить, после изменения нужно нажать «ОК».
Программно изменить уже существующую настройку нельзя, т.к. она хранится в виде объекта с которым 1С не умеет работать «НеизвестныйОбъект». Чтобы установить свои параметры нужно удалить существующую настройку и тогда при печати запишутся те параметры которые Вы указали выше установки свойства «ИмяПараметровПечати». В моем примере сохранится только отступ сверху 5 мм. При этом остальные параметры могут оказаться не пустыми, а заполненными по умолчанию.
Как удалить параметры печати?
Настройка сохраняется в системном Хранилище настроек и чтобы её удалить нужно, вызвать метод «Удалить» указав «Ключ объекта» и «Имя пользователя». Если пользователя не указать, то эта настройка удалиться для всех пользователей. При указании Ключа объекта есть особенность это не просто строка которую Вы указали при создании табличного документа, а дополненная в начале следующим:
В моем случае чтобы удалить настройку нужно написать следующее:
Как настроить нужные параметры страницы при печати в программах 1С?
Несмотря на простоту вопроса, у пользователей программ 1С он возникает постоянно: «Как разместить документ на одной странице, если его края по ширине или длине выходят на другой лист?» или «Как распечатать два экземпляра документа на одном листе?» Ведь практически все бухгалтеры любят экономить бумагу. В этом лайфхаке раскроем все секреты!
Для этого, как и при работе с обычными текстовыми документами, в конфигурациях 1С есть настройка параметров страницы.
Рассмотрим на примерах.
Настройка ориентации и масштаба листов
Имеем документ «Расчетная ведомость».
Нажав кнопку предварительного просмотра в виде лупы, видно, что форма не «вписывается» в лист бумаги и явно выходит за ее границы. Предварительный просмотр показал форму на 9 листах, разрезав ее на куски.
Для настройки параметров листа по кнопке «Еще» выберите команду «Параметры страницы».
Для данной формы установим параметры:
• Масштаб – «По ширине листа».
При таком масштабе программа автоматически выровняет печатную форму по краям листа. Нажмите «Ок» и проверьте результат.
Форма вместилась на два листа и по краям нет пустого места. Ширина автоматически подобрана.
Ведомость распечатывается с двух сторон.
При необходимости пользователь может задать произвольно масштаб документа, установив значение в процентах.
Настройка полей. Двусторонняя печать в 1С
При печати документа обратите внимание на настройку полей: с какой стороны делается отступ для подшивки, чтобы край документа не «съело».
Для этого выставьте нужный размер в настройке «Поля».
В примере с расчетной ведомостью это верхнее поле, хотя документ можно подшить и горизонтально, тогда отрегулируйте левое поле.
При двусторонней печати не забудьте про зеркальное отображение страниц – «Чередование страниц» и настройки двусторонней печати. Настройте параметры в разделе «Режимы печати».
Как распечатать два экземпляра документа в 1С на одном листе?
Рассмотрим еще один пример. Имеем документ «Расходная накладная». Документ небольшой и пользователь может распечатать на одном листе два экземпляра.
В настройке установите переключатель в положение – 2 экземпляра на странице. Нажмите «Ок» и распечатайте документ.
Надеемся, эта информация окажется вам полезна.
Автор статьи: Ольга Круглова
Понравилась статья? Подпишитесь на рассылку новых материалов
Печать на принтер программно.
Добрый день. Необходимо распечатать табличный документ «на сервере», на сетевой принтер, но метод ТабличныйДокумент.Напечатать() доступен на клиенте, как выкрутиться?
Данные получаю через http из Моб.приложения.
Ниже скрин, естественно ничего не отправляет))
Как вывести на печать? Может есть пример у кого?
(1) Сохраните его во временный файл в pdf и распечатайте с помощью adobe reader командой:
(5) Я использую для пакетной печати. Приемлемо по скорости. В любом случае стандартных вариантов печати с сервера по-моему нет. только с использованием сторонних приложений или COM объектов.
вот кстати тоже с адобом игрался. Не помню насколько рабочий вариант был:
(8)выскакивает вот такой выбор:
если выбрать первый или второй,то выскакивает как на 2 фото)
Открывается Адоб,показывает в последних только что созданный файл,а вот на печать не летит, не совсем понимаю прикола))
И на принтер так ничего и не выходит, но если же запустить, эту же команду в PowerShell или в CMD то на принтер выходит документ.
Я так понимаю что не имя принтера не соответствует имени принтера на сервере?
(20) у мен был еул из 5ти линуховвх серверов, я им на шару скидывал pdf, они по крону печатали каждые 5 минут эти пдфы. Но там была ночная печать пакетов доков в общей сложности овер 20к пакетов по 3-10 страничек.