Війти
1с - Настройка вывода на печать табличного документа

  0    0 
19.08.2019 | kievol | 1228

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

Далее будем рассматривать свойства и методы табличного документа, которые непосредственно относятся к настройкам печати. Тут помимо хорошо составленного макета, немаловажную роль играют и сами настройки печати, которые мы меняем в диалоговых окнах. К ним относятся настройки принтера и свойства страницы. Почти все из них можно определить заранее при формировании табличного документа. 

Ниже рассмотрим более подробно свойства и методы табличного документа, которые имеют отношение к настройкам печати (В приведенном примере "ТабличныйДок" это объект типа "Табличный документ") 

Для того что бы задать принтер для печати, отличный от того, что по умолчанию установлен в системе, используется такое свойство как "ИмяПринтера", причем имя должно полностью совпадать с принтером который установлен в системе: 

ТабличныйДок.ИмяПринтера="Kyocera FS-1320D KX";


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

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


Число копий указывается так: 

ТабличныйДок.КоличествоЭкземпляров=X; // где X — это число копий


Также возможно задать поля: 

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


Вот еще несколько свойств страницы, которые нам доступны: 

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


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

ТабличныйДок.МасштабПечати=80; // задается масштаб 80% от натуральной величины

Задать стандартные форматы страницы "А3", "А4", "А5" можно при помощи свойства «РазмерСтраницы». Есть и другие доступные стандартные форматы, полный их список можно найти в справке 1С. 

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

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

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


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

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

Отправить на печать уже сформированный документ можно использовав метод «Напечатать()». При этом есть два варианта вызова этого метода. 

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

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


2. С выводом диалога перед печатью 

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


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

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


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

Если вам необходимо принудительно вставить разрывы страниц, то вы можете использовать методы «ВывестиВертикальныйРазделительСтраниц()» и «ВывестиГоризонтальныйРазделительСтраниц()»

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

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


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


  • ОТКЛЮЧИТЬ CTRL+ALT+DEL ПРИ ВХОДЕ В WINDOWS
    ОТКЛЮЧИТЬ CTRL+ALT+DEL ПРИ ВХОДЕ В WINDOWS

    При включении компьютера, Вам нужно нажать "Ctrl"+"Alt"+"Del"и выбрать пользователя Настройка Windows Отключить нажатие CTRL+ALT+DEL сразу после загрузки Windows Нажимаем "Пуск". Заходим в "Панель управления" - "Администрирование" - "Локальная политика безопасности" - "Локальные политики" - "Параметры безопасности" Находим пункт "Интерактивный вход в систему: не требовать нажатия CTRL + ALT +…

  • Массовая замена значений в БД mysql средствами PHPMyAdmin
    Массовая замена значений в БД mysql средствами PHPMyAdmin

    Иногда требуется массово заменить значения в ячейке таблицы базы данных mysql. Допустим стоит задача: одним запросом во всей таблице базы данных поменять запись «значение 1» на  «значение2» . Как это сделать разберём ниже. Заходим в интерфейс phpMyAdmin.  Допустим, у нас есть таблица «yuts_catalog»,в ней поле «leader», и значения в ячейке этого поля «0″, которое…

  • IIS и 1С ошибки: Обнаружено потенциально опасное значение Request.Path или ошибка 500
    IIS и 1С ошибки: Обнаружено потенциально опасное значение Request.Path или ошибка 500

    Ошибка примерно такая:[HttpException (0x80004005): Обнаружено потенциально опасное значение Request.Path, полученное от клиента (:).] System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9914812 System.Web.PipelineStepManager.ValidateHelper(HttpContext context) +53Алгоритм следующий:  Открываем IIS. Открываем наш сайт-публикацию в браузере. Идем в сопоставления обработчиков. Ищем ISAPI-dll и выделяем строку. Справа нажимаем "Добавить…

  • Пять способов вызвать JS функцию
    Пять способов вызвать JS функцию

    JavaScript — язык мультипарадигменный, и в нем имеются механизмы функционального программирования. Пора изучить эти возможности. В этой статье я расскажу вам о пяти способах вызова функций в JavaScript.На первых этапах изучения JavaScript новички обычно думают, что функции в нем работают примерно так же, как, скажем, в C#. Но механизмы вызова функций в JavaScript имеют ряд важных отличий, и незнание…

  • 1c Установка подключения к MySQL через ODBC connector
    1c Установка подключения к MySQL через ODBC connector

    Руководство, облегчающее жизнь при очередной настройке подключения MySQL к 1С через ODBC connector (driver). Оставлю это хотя бы для себя на память :) Итак, для того, чтобы настроить связь между MySQL и 1С нужно: 1. Скачать дистрибутив установки ODBC connector. Я обычно пользуюсь ODBC 5.3 Unicode driver, он еще называется 5.3.0 alpha, скачать можно здесь https://downloads.mysql.com/archives/c-odbc/). Устанавливать нужно на сервер, на…

  • Виразка шлунку
    Виразка шлунку

    Що таке виразка шлунку? Виразкова хвороба (виразка) – це гострий або хронічний дефект (ураження) слизової оболонки шлунка або дванадцятипалої кишки. Що виникає в результаті дії соляної кислоти. Яка роз’їдає, і утворюється в шлунку. У латинській мові вона називається ulcus, а…
    Блогер: amd2015

  • Що ми не знаємо про волосся.
    Що ми не знаємо про волосся.

    Для найкращої половини людства надзвичайно важливим питанням залишається краса. Саме заради краси відбувається величезна кількість зусиль, покликаних удосконалити тіло та зовнішність жінки. Стан тіла та обличчя зокрема залежить насамперед від здоров"я та настрою. Всім…
    Блогер: amd2015

  • Омега 3 від високого холестерину.
    Омега 3 від високого холестерину.

    Атеросклероз, гіпотиреоз, жовчнокам’яна хвороба, цукровий діабет є наслідком підвищеного рівня холестерину в організмі. Гіперхолестеринемія сьогодні не вирок – лікарі довели, що омега 3 від холестерину допомагає найкращим чином. Причини підвищення холестерину Причин…
    Блогер: amd2015

  • Низька самооцінка. Як повірити в свої сили
    Низька самооцінка. Як повірити в свої сили

    Щодня нас оточують люди. Всі люди різні. Тому нормально, що поведінка різних людей також різна. Але в той момент, коли нам доводиться виступати перед аудиторією, давати інтерв’ю тощо, ми стикаємося зі страхом, занепокоєнням та невпевненістю. Ми виявляємо, що наша…
    Блогер: amd2015

  • Приворот на кровь из пальца (приворот на личной силе)
    Приворот на кровь из пальца (приворот на личной силе)

    Если ритуал приворота на менструальную кровь я не рискнул предлагать для самостоятельной магической работы, то простой приворот на кровь из пальца совершенно безопасно вы можете применить по моей авторской методике.В этом привороте используется ваша кровь и как…
    Блогер: Love.Ivan


Комментарии

16 + 58 =