1с параметры печати табличного документа

Обновлено: 07.07.2024

(13) так пройдись отладчиком по этой функции, да - там куча условий по которым выполняется УдалитьВсеОбластиФаксимиле(ОбластьМакета);,
в моем случае в СведенияОДокументе не было нужного псевдонима. (это конечно при условии, что в макете корректно область факсимиле оформлена).

(0)У меня всё работает как обычно, поле рисунок, в нём изображение печати на прозрачном фоне.

(14) Второй день блужу по коду . )
(15) выложи код модуля внешней обработки где происходит передача в печать и подпись ?

(16)Вы хотите использовать фотки которые в карточке организации прикрепить можно?
Если так, то сорри.. я так не делаю, некрасиво получается.. я сам добавляю на подвал макета поля рисунок и размещаю его именно там, где мне нужно.

(17)Так и я сделал . хотелось как в типовой печатной форме использовать галочку добавить рисунки. А так приходится использовать 2 внешних отчета , один без факсимиле, второй факсимиле.. Кстати кто знает как программно получить подпись руководителя ?

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

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

И вот это делал - Не получается сделать флажок "Подпись и печать" во внешней печатной форме - со слов "Перед этим вызовом нужно определить ПараметрыПечати следующим образом:"?

(20)Сделай в одном макете.. даже в одной ВПФ, перед печатью показывай форму в которой будет вопрос выводить подпись и печать или нет..
И исходя из этого параметра выводи область подвала с рисунками или область подвала без рисунков..

(21) флажок есть в форме общей печати , но никакой реакции при включении,выключении не происходит . нет картинок

(22) хотелось бы разобраться именно как эта функция отрабатывает правильно .
ЗЫ так-то сделал 2 формы с печатью и без, напрямую тяну по фирме и руководителю картинки из двоичных данных.

(23)Поле рисунок полностью помещается в область печати? С этим вроде бывают проблемы я помню.

(27) Да, без проблем, когда я напрямую гружу подпись и печать . Терзают смутные сомнения, что используя метод ДополнитьДокументПодписьюИПечатью(ТабличныйДокумент, СведенияОДокументе, ОбъектыПечати, СтруктураПараметровПечати)
тоже заполняются, только не хватает какой-то переменной, которой в форме печати говорила бы, что есть такие реквизиты и их можно регулировать флажком "подпись и печать". потому что в отладчике не переходит по событию выбора значения флажка при выводе ВПФ и работает , когда из типовой формируешь

(28) Если взять УправлениеПечатьюБП.ДополнитьДокументПодписьюИПечатью(ТабличныйДокумент, СведенияОДокументе, ОбъектыПечати, ПараметрыПечати) из конфы по печати счета и вывести резалт в обычный табличный документ (просто для проверки), то факсимилей не будет. Получается, что она работает в купе с общей формой и тем флажком на форме. Отдельно его заюзать не получится. Хотя в потрохах, есть на это заточки, и туда якобы даже можно передать адрес хранилищ, где лежат картинки этих факсимиле, однако в конце по коду, все равно все факсимиле кодом же и очищаются. Т.е. кастомизации там не получилось, или я не понял как ее подюзать.

(29) ага , просто вызывая УправлениеПечатьюБП.ДополнитьДокументПодписьюИПечатью(ТабличныйДокумент, СведенияОДокументе, ОбъектыПечати, ПараметрыПечати) я так понял активируется флажок "Подпись и печать"

(31) а вот когда флажком уже в форме печати играешь , он в картинки с именами содержащими названия "факсимиле" добавляет или очищает .

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

(33) Так ты сам получи двоичные данные в твоей ВПФ, и в макете в соответствующие рисунки картинку выведешь по твоим двоичным данным. Дальше они не должны очищаться.

(34) так и сделал , отключил при выводе в общую форму флажок , но хотелось бы разобраться в чем причина , и в дальнейшем пригодится делать ону форму и выводить печати интерактивно

(35) так причина в том и есть, что видимо разработчики не предполагали задействование ДополнитьДокументПодписьюИПечатью через ВПФ, как полноценный отдельный механизм. Нет туда адекватной прокидки без этой общей формы.

(36) ИМХО , что-то упускаем . "Общей форме печати" все равно откуда ее вызвали из типового документа или ВПФ , какой-то параметр при вызове впф не учитывается или неверно указывается и поэтому флажок не реагирует.

(37) Если бы это было так, тогда простой вызов этой функции рисовал бы тебе подписи :) Однако они очищаются.

(38) не факт , м.б. не передается ссылка на временное хранилище картинок , или какой-то параметр не указывается , который как раз и влияет на вывод и удаление картинок, х.з. тема интересная . но пока текучкой занят нет времени расковырять.

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

(40) Может и так , но всем не равнодушным по этой теме предлагаю докопаться до истины и дать рецепт что нужно сделать , чтобы в ВПФ флажок заработал как надо .

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Основы формирования табличного документа на основе макета

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

Области макета предназначены для однократного или многократного вывода, например, ниже представлен макет для печати расходной накладной:

Некоторые ячейки содержат только текст, который должен быть выведен. Другие ячейки содержат имена параметров (в угловых скобках). Значения этих параметров должны указываться в программном модуле. В отличие от версии 7.7, в ячейку нельзя вписать выражение. В версии 8.0 весь программный код сосредоточен в программных модулях и при выводе секций нет связи с текущим контекстом программного модуля. Назначение параметров табличного документа должно производиться явно из программного модуля через коллекцию "Параметры" объекта "ТабличныйДокумент".

Область может состоять из нескольких расположенных подряд строк или колонок, либо быть прямоугольной областью таблицы. К области можно обратиться по имени или по координатам. Можно также обращаться к пересечению областей, используя вертикальную черту (как в версии 7.7).

Общая схема

Общая схема формирования печатной формы на основе макета:

  1. Создание макета в табличном редакторе (определение областей, имен параметров, форматирования).
  2. Создание нового табличного документа (этот пункт не требуется, если отчет выводится в элемент управления ПолеТабличногоДокумента).
  3. Получение макета в переменную (метод ПолучитьМакет).
  4. Получение областей макета (метод ПолучитьОбласть).
  5. Заполнение параметров области (свойство Параметры).
  6. Вывод области в табличный документ (методы Вывести и Присоединить).
  7. Установка свойств отображения табличного документа (сетка, заголовки, только просмотр и т.д.).
  8. Отображение табличного документа на экране (а может быть отправка на принтер или сохранение).

Пример вывода табличного документа

Ниже приведен пример формирования печатной формы расходной накладной из модуля документа:

Процедура Печать(ТабДок) Экспорт

//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент ;

//получение макета для печати расходной накладной
Макет = Документы.РасходнаяНакладная. ПолучитьМакет ("Основной");

//получим область "Заголовок" как новый табличный документ (!)
Область = Макет. ПолучитьОбласть ("Заголовок");

//укажем параметры области
Область. Параметры .НомерДокумента = Номер;
Область.Параметры.От = Дата;
Область.Параметры.Кому = Контрагент;

//выведем заполненную область "Заголовок" в табличный документ
ТабДок. Вывести (Область);

//выведем область "Шапка" в табличный документ
ТабДок.Вывести(Макет.ПолучитьОбласть("Шапка"));

//получение области "Строка"
//обратите внимание, что это можно сделать до цикла по строкам
Область = Макет.ПолучитьОбласть("Строка");

//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл

//заполнение параметров области из строки табличной части
Область.Параметры. Заполнить (СтрСостава);

//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);

КонецЦикла;

//вывод области "Подвал"
Область = Макет.ПолучитьОбласть("Подвал");
Область.Параметры.ИтогоКоличество = Состав.Итог("Количество");
Область.Параметры.ИтогоСумма = Состав.Итог("Сумма");
ТабДок.Вывести(Область);

//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;

//покажем табличный документ на экране
ТабДок. Показать ();

Спонсор Поста: Прошивка принтеров, заправка картриджей, ремонт принтеров в Москве. Прошивка принтера Sam­sung ML-2950ND/2955ND. Перепрошивка принтера Sam­sung ML 3300, прошивка принтеров Xerox.

В работе 1С Программист часто имеет дело с созданием и редактированием печатных формам документов, и сегодня поговорим о создании печатных формы для документов и настройкой печати.

При построении печатной формы используются следующие объекты:
1) Макет — В нем содержатся различные области для формирования печатной формы.
2) Табличный документ — Необходим для вывода печатной формы на экран.

Построение печатной формы происходит в следующем порядке:
1) Получить макет (созданный для данного объекта или общий)
2) Получаем области макета (в областях макета содержится параметр или текст)
3) Создаем табличный документ (тот объект, куда будет происходить вывод).
4) Подставляем значения в параметры и выводим области в табличный документ.
5) Отображаем табличный документ на экране.

Создание Макетов и областей макетов затрагивать сейчас не будем, а сразу перейдем к типу данных “ТабличныйДокумент”, который необходим для вывода печатной формы созданной на основании макета.
“Макет” доступен только на сервере и толстом клиенте, поэтому для формирования печатной формы потребуется серверный вызов, Заполнение макета будем производить на сервере, а вывод на клиенте.

Пример создания простейшей печатной формы:

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

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

Свойства Табличного Документа

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

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

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

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

Зададим поля для страницы (по умолчанию поля 10мм).

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

Еще пару свойств страницы:

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

Методы Табличного Документа

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

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

Скрываем окно табличного документа.

Или открываем окно для показа и редактирования табличного документа.

Более полный список по свойствам и методам Табличного Документа смотрите в справке 1С.

На платформе «1С:Предприятие 8.2» у свойств и методов идет четкое разделение по контексту исполнения. Если свойства доступны в любом контексте, то методы в основном недоступны на «Тонком» клиенте. Следовательно, оформляем документ на сервере, а отправку на печать производим в клиентской процедуре.

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

П.С. Если вам необходимо создать печатную форму или отредактировать существующую обращайтесь 1С Программист к вашим услугам.

Пожалуйста, оставляйте комментарий мне важно ваше мнение.

Читайте также: