helpf.pro
Регистрация

v8.2 УП: Параметры печати

KorolyovSS
26.02.2015 13:23Прочитано: 11390

1C8.2.14.519 УП Добрый вечер. Справочник имеет реквизит Текст (Строка) в которой содержится HTML-текст. На форме элемента справочника имею реквизит HTMLТекст типа ФорматированныйДокумент.

Вставляю в него HTML-текст:

Код 1C v 8.2 УП
 HTMLТекст.УстановитьHTML(Объект.Текст, Новый Структура());   

Отображается HTML текст, полученный из реквизита объекта справочника как положено. Закинул в командную панель стандартную команду этого реквизита "Печать" и "Предварительный просмотр". Но вот при печати, режутся края. Предполагаю, по умолчанию поля слева, права, вверху и внизу равны 0. В предварительном просмотре это можно отрегулировать, но постоянно это делать не удобно. Как программно установить параметры печати как для ТабличногоДокумента?

Пробовал не заморачиваться с Форматированным Документом и печатал содержимое поля Объект.Текст имеющего вид на форме "Поле HTML документа" командой 

Код 1C v 8.2 УП
 Элементы.Текст.Документ.parentWindow.Print();   

Но тоже режутся края. Может в этом случае кто-нибудь программно форматировал параметры печати?

Заранее благодарен.

P.S. Было замечено, что при установки полей печати при предварительном просмотре в случае для ФорматированногоДокумента, эти параметры сохранялись в неявном виде и при печати во втором случае из поля HTML документа.

Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
26.02.2015 16:19Ответ № 1

1. обнови платформу... очень уж старенькая )

2. Примеры программной установки параметров печати 

Зададим для печати принтер, отличный от установленного по умолчанию.

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

Код 1C v 8.х
 ТабДок.ИмяПринтера=" Samsung ML 3300 Series 5";   

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

Код 1C v 8.х
 ТабДок.КоличествоЭкземпляров=3;   

Установив признак разбора по копиям для документа.

Код 1C v 8.х
 ТабДок.РазборПоКопиям=истина;   

Установим через свойство «РазмерСтраницы» которое позволяет задать стандартные форматы страницы – “A3”, “A4”, “A5” (полный список в справке 1С).

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

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

Программно управляем вывводом колонтиттула и его содержимым в 1С через свойства «ВерхнийКолонтитул» и «НижнийКолонтитул».

Код 1C v 8.х
 ТабДок.РазмерСтраницы="Custom";//нестандартный размер
ТабДок.ВысотаСтраницы=300;
ТабДок.ШиринаСтраницы=300;
//Зададим поля для страницы (по умолчанию поля 10мм).
ТабДок.ПолеСверху = 15; //Поле сверху 25мм,
ТабДок.ПолеСлева=25;//Поле слева 25мм, 

Пример:

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

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

ПечатьТабличного Документа

Отправим на печать табличный документ непосредственно на принтер.

Код 1C v 8.х
 ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
ТабДок.Напечатать(Истина);
// Перед печатью будет выведен диалог печати.
ТабДок.Напечатать(РежимИспользованияДиалогаПечати.Использовать);
ТабДок.Напечатать(Ложь);
// Скрываем окно табличного документа.
ТабДок.Скрыть();
// Или открываем окно для показа и редактирования табличного документа.
ТабДок.Показать("Заявки от контрагентов", "Заявки.mxl");
KorolyovSS
27.02.2015 06:08Ответ № 2

Для ТабличногоДокумента понятно. Не понятно как для Форматированного Документа. 

all4cf
27.02.2015 11:29Ответ № 3

Для печати форматированного документа используется Internet Explorer, из 1С ,вроде как ,к нему не обратиться :

только в предварительном просмотре можно настроить ручками

KorolyovSS
02.03.2015 07:33Ответ № 4

Понятно. 

Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.