Библиотека стандартных подсистем 1С 8.3. Печать

Курс

Рассмотрена подсистема Печать из библиотеки стандартных подсистем (БСП) 3.1.3.

Примеры приведены на конфигурации Управление торговлей 11.4.13.

Остальные подсистемы БСП.

В пользовательском режиме

Настройка видимости команд печати

В пользовательском режиме можно настроить видимость команд печати документа. Для этого нужно перейти в раздел НСИ и администрирование -> Печатные формы, отчеты и обработки -> Подменю Печать:

Настройка печати

В открывшемся окне можно галочками настроить видимость команд печати в подменю Печать:

Настройка печати

Например, сейчас для авансового отчета доступны 2 печатные формы:

Печать

Если снять галочку для печатной формы Извещение и переоткрыть форму списка авансовых отчетов, то останется только одна печатная форма:

Печать

Форма печати

Форма печати выглядит следующим образом:

Форма печати

Рассмотрим кнопки командной панели:

По кнопке Печать печатная форма будет отправлена на принтер.

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

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

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

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

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

Сохранение печатной формы

Печатная форма будет сохранена во всех выбранных форматах. Можно сразу поместить все файлы в архив и транслитерировать имена файлов, чтобы файл назывался не Авансовый отчет № 1 от 27.04.2017, а Avansovyy otchet № 1 ot 27.04.2017.

Если установить переключатель Присоединить к документу, то файлы выбранных форматов будут прикреплены к документу в 1С:

Присоединить к документу

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

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

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

Сумма в печатной форме

Если в настройках установить галку Все показатели:

Сумма в печатной форме

То внизу будет строка, где будут рассчитаны все показатели для выделенных ячеек:

Сумма в печатной форме

Печать комплекта

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

Печать комплекта

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

Печать комплекта

Список печатных форм будет отображаться слева, можно переключаться между ними, чтобы посмотреть на саму печатную форму:

Печать комплекта

Редактирование макетов печатных форм

Макеты печатных форм можно отредактировать прямо в пользовательском режиме. Для этого нужно перейти в раздел НСИ и администрирование -> Печатные формы, отчеты и обработки -> Макеты печатных форм:

Макеты печатных форм

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

Макеты печатных форм

По кнопке изменить можно отредактировать макет. Например, добавим в счет на оплату надпись «Внимание! Изменились реквизиты оплаты!»:

Макет

Сохраним макет. Теперь при печати счета на оплату будет печататься измененный макет:

Макет

В списке всех макетов есть специальные кнопки для переключения использования стандартного или измененного макета:

Макеты печатных форм

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

В конфигураторе

Новая команда печати в существующем документе

На примере документа СчетНаОплатуКлиенту.

  1. Для документа добавить макет с типом Табличный документ с именем ПФ_MXL_ДопПечФорма. Префикс ПФ_MXL используется для того, чтобы в дальнейшем можно было редактировать данный макет в пользовательском режиме.
  1. В модуль менеджера документа в процедуру ДобавитьКомандыПечати добавить описание новой команды.
  1. Так как в свойстве КомандаПечати.МенеджерПечати был указан документ, то в модуль менеджера документа в процедуру Печать нужно добавить процедуру для формирования табличного документа:

  1. Функции заполнения табличного документа:

Макет нужно получить функцией УправлениеПечатью.МакетПечатнойФормы, чтобы макет был получен с учетом возможных изменений в пользовательском режиме.

  1. В форме документа и в форме списка появится новая команда печати:
БСП Печать

Другие настройки команды печати

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

С помощью свойства Порядок можно регулировать порядок печатных форм в подменю Печать. По умолчанию Порядок = 50. Сортировка выполняется сначала по полю Порядок, потом по представлению печатной формы:

Теперь печатная форма в самом верху:

БСП Печать

Можно добавить картинку:

БСП Печать

Можно ограничить список форм, где будет отображаться команда печати:

Можно поменять заголовок формы Печать:

Заголовок формы печати

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

Если документ не проведен, то перед печатью будет предложено провести его:

Проведение перед печатью

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

Можно при печати сразу сохранять печатную форму в эксель и открывать его:

Можно передать в менеджер печати дополнительные параметры:

В процедуре Печать модуля менеджера обработки ОбработкаПечати в параметре ПараметрыПечати будет ключ «ДопПараметр» со значением 123.

Открытие формы до печати

Можно открыть форму, на которой запросить у пользователя какие-нибудь параметры, а потом передать их в процедуру печати. Для этого:

  1. Для документа добавить макет с типом Табличный документ с именем ПФ_MXL_ДопПечФормаСНастройками. Префикс ПФ_MXL используется для того, чтобы в дальнейшем можно было редактировать данный макет в пользовательском режиме.
  1. В модуль менеджера документа в процедуру ДобавитьКомандыПечати добавить описание новой команды. В свойстве Обработчик указать функцию клиентского общего модуля. Также можно указать имя экспортной функции из основной формы обработки, если в качестве менеджера печати указана обработка. В примере используется функция общего модуля:
  1. Так как в свойстве КомандаПечати.МенеджерПечати была указан обработка, то в модуль менеджера данной обработки в процедуру Печать нужно добавить процедуру для формирования табличного документа:

Функции заполнения табличного документа. Здесь используется параметр ПараметрыПечати.Настройка, именно его мы запросим у пользователя:

  1. В описании команды было указано, что клиентский обработчик находится в общем модуле УправлениеПечатьюУТКлиент. Добавим его туда:

  1. Создадим простую форму для запроса параметра:
Форма

Со следующим кодом в модуле формы:

  1. В результате до печати будет открыта форма для запроса параметров:
Форма

Введенный параметр будет передан в процедуру печати:

БСП Печать

Печатная форма в формате Word

Подсистема Печать из библиотеки стандартных подсистем позволяет формировать печатные формы в формате Word:

  1. Создаем макет в формате Word со следующим содержимым:
Макет Word
  • {v8 Область.Заголовок} и {/v8 Область.Заголовок} — область макета
  • {V8 Номер} и {V8 Дата} — параметры, которые будут заменены на фактические значения
  • {v8 Область.ШапкаТаблицы} и {/v8 Область.ШапкаТаблицы} — шапка таблицы
  • {v8 Область.СтрокаТаблицы} и {/v8 Область.СтрокаТаблицы} — строка таблицы
  • {v8 ВерхнийКолонтитул} И {v8 НижнийКолонтитул} — параметры для заполнения колонтитулов
  1. Для документа создаем макет ПФ_DOC_СчетВорд с типом ДвоичныеДанные и загружаем туда Word-файл с макетом. Префикс ПФ_DOC используется, чтобы можно было отредактировать макет в пользовательском режиме.
  1. В модуль менеджера документа в процедуру ДобавитьКомандыПечати добавляем описание новой команды печати:

  1. А также в модуль менеджера нужно добавить функцию ПолучитьДанныеПечати, которая будет возвращать данные для печати:

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

  • Общая — обычная область
  • СтрокаТаблицы — вывод строки таблицы, это может быть как и шапка, так и строка таблицы
  • ВерхнийКолонтитул и НижнийКолонтитул — колонтитулы
  1. Так как в описании команды был указан обработчик УправлениеПечатьюУТКлиент.ПечатьСчетаНаОплатуMicrosoftWord, то нужно добавить в общий модуль УправлениеПечатьюУТКлиент функцию ПечатьСчетаНаОплатуMicrosoftWord, которая сформирует печатную форму:

  1. В списке команд печати появится новая команда:
Печатная форма Word

При печати будет открыт документ Microsoft Word с заполненным макетом:

Печатная форма Word

Команды печати для нового документа

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

  1. В общий модуль УправлениеПечатьюПереопределяемый в процедуру ПриОпределенииОбъектовСКомандамиПечати добавить новый документ:

  1. В модуль менеджера документа добавить процедуру ДобавитьКомандыПечати:

  1. В модуль формы документа добавить следующие процедуры:

  1. В модуль формы списка документов добавить:

  1. Создать макет, в префиксе указать ПФ_MXL, чтобы макет был доступен для редактирования в пользовательском режиме. В модуль менеджера добавить процедуру Печать и процедуры для формирования печатной формы:

  1. В форме документа и в форме списка появится команда печати (если было бы несколько команд печати, то было бы подменю):
БСП Печать

Печатная форма через расширение

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

  1. Создаем расширение, в списке расширений сразу снимаем галку Безопасный режим.
  1. В расширении создаем новую обработку. Также заимствуем из основной конфигурации подсистему ПодключаемыеОтчетыИОбработки и включаем новую обработку в состав данной подсистемы.
  1. В модуль менеджера обработки добавляем процедуру ПриОпределенииНастроек, где определяем для какого документа нужно добавить печатную форму:

  1. В модуле менеджера обработки добавляем команду печати:

  1. Для обработки создаем макет и в модуле менеджера обработки добавляем процедуры формирования табличного документа:

  1. В списке печатных форм появится новая команда печати:
БСП Печать

Печать QR кода

Создаем макет ПФ_MXL_QRКод, в макет добавляем рисунок:

Печать QR кода

В модуль менеджера документа в процедуру ДобавитьКомандыПечати добавляем команду печати:

В процедуре Печать добавляем код для формирования печатной формы. Сам QR код формируется в функции УправлениеПечатью.ДанныеQRКода. Первым параметром передается строка, вторым — уровень погрешности (0 — 3), третьим — размер выходного изображения. Функция вернет двоичные данные PNG картинки QR кода.

Получаем такой результат:

Печать QR кода

При чтении сканером QR кодов получим: «Это просто зашифрованная строка».

Программная запись печатной формы в Excel

С помощью функции УправлениеПечатью.НапечататьВФайл можно сохранить печатную форму документа в файл программно. Не поддерживаются печатные формы, которые формируются на клиенте. Идентификатор печатной формы можно взять из процедуры ДобавитьКомандыПечати модуля менеджера документа. Через перечисление ТипФайлаТабличногоДокумента можно выбрать любой другой формат сохранения.

В результате в каталоге «F:\Temp» будет сохранен Excel файл с печатной формой документа.

Программно открыть форму печати

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

В результате будет открыта форма печати, как если бы распечатали из документа:

Открыть форму печати

Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Здесь может быть Ваша реклама
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok