1С проверитьвывод неправильно работает

1С проверитьвывод неправильно работает

Почти все параметры, доступные в диалогах настройки печати (настройки принтера, свойства страницы), можно указать непосредственно при формировании табличного документа.

Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»).

Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе:

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

Число копий можно указать так:

Разумеется, можно задать поля:

Еще несколько свойств страницы:

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

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

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

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

Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова.

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

2) Перед печатью будет выведен диалог печати:

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

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

Надо иметь ввиду, что работа последних трех методов зависит от установленного принтера. Если методу не удается его найти, вызывается исключение.

Принудительно вставить разрывы страниц позволяют методы «ВывестиВертикальныйРазделительСтраниц()» и «ВывестиГоризонтальныйРазделительСтраниц()».

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

Читайте также:  Как сделать фломастер в домашних условиях

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

вторник, 30 декабря 2014 г.

Что делать если некорректно работает метод ПроверитьВывод

Всем привет. Сегодня я столкнулся с достаточно недокументированой особеностью платформы. А именно при формировании печатной формы некооректно отрабатывал метод ПроверитьВывод . Суть проблеммы заключалась в том что табличный документ не влезал на страницу, и последние две строчки печатались на отдельном листе. Решив, что я что-то напутал в коде я все проверил, естественно ни чего особенного в нем не нашел. Поскольку проблемма была не решена, а решить ее требовалось, я готов был прикрутить костыль, а именно перед началом вывода документа увеличить поля табличного документа, а после вывести документы с нормальными полями, к сожалению,а может быть и к счастью(так как в дальнейшем, была найдена и устранена данная ошибка), эту проблему таким способом решить не удалось. Документ по прежнему печатался как и раньше, т.е вылезал за область документа.
Еще раз изучив код вывода документа, Я обратил внимание на строчку:

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

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

Читайте также:  Как разгруппировать строки в excel

Маленький IT блог с характером 1С.

Страницы

Поиск по блогу

суббота, 6 июня 2015 г.

Ошибка хитрого метода ПроверитьВывод() табличного документа

Столкнулся с такой ошибкой, при выводе информации на печатную форму, платформа выдает следующее сообщение:
Ошибка при вызове метода контекста (ПроверитьВывод).

ПроверитьВывод() — это метод табличного документа, который проверяет, умещаются ли переданные табличные документы на страницу при печати. В примечании у этого метода разработчики платформы 1С сразу написали, что при возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.

Проверил установленные принтеры, все исправно и работает. Эмпирическим путем выяснил, что данная ошибка возникает только у конкретной печатной формы и только под одним пользователем.

Ошибка решилась следующими действиями (выполнять под пользователем, у которого возникла ошибка):
1) Создал пустой документ, что бы при формировании печатной формы не был задействован метод ПроверитьВывод(). Если же этот метод в любом случае вызывается, то придется его найти в конфигурации и закомментировать, или же поместить в конструкцию Попытка-Исключение-КонецПопытки.

1. Помещение ПроверитьВывод в попытку

2) Сформировал печатную форму.

2. Пустая печатная форма (кол-во товаров = 0)

3) Для текущей печатной формы открыл параметры страницы и установил правильные параметры.

3. Параметры страницы

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

Читайте также:  Ibridge 3 не видит компьютер

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

UPD 04/10/2015: Если устанавливать свойство КлючПараметровПечати в конце формирования табличного документа, то метод ПроверитьВывод будет использовать параметры печати установленные по-умолчанию, а не пользовательские. Что бы избежать данной ситуации, необходимо устанавливать свойство КлючПараметровСистемы в начале формирования табличного документа, а метод ПроверитьВывод поместить в конструкцию Попытка-Исключение-КонецПопытки.

Ссылка на основную публикацию
Adblock detector