Налаштування виводу на друк табличного документа в «1с підприємство 8

Більшість навчальних матеріалів з програмування в системі 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» є суворе поділ властивостей і методів по контексту виконання. Якщо всі наведені вище властивості доступні в будь-якому контексті, то перелічені методи недоступні на тонкому клієнті. Винятком є ​​метод «Надрукувати ()», доступність якого зі зрозумілих причин обмежена клієнтською частиною. Це означає, що формування табличного документа повинно відбуватися на сервері, а відправляти його на друк слід в клієнтської процедурі.