Методика разработки печатной формы с печатью «в файл»

1) Разработать внутреннюю печатную форму по методике подключения новых внутренних печатных форм (см. материалы 3 занятия).

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

Например:

КомандаПечати.ФорматСохранения = ТипФайлаТабличногоДокумента.PDF;

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

 

  • ANSITXT

  • DOCX

  • HTML

  • HTML3

  • HTML4

  • HTML5

  • MXL

  • MXL7

  • ODS

  • PDF

  • PDF_A_1

  • PDF_A_2

  • PDF_A_3

  • TXT

  • XLS

  • XLS95

  • XLS97

  • XLSX

Подготовка макета печати офисного документа из образца документа

 

 

1) Получить у Заказчика образец самого документа

2) Содержимое файла «нарезать» на области, используя теги начала и окончания областей

Тег начала области содержит в фигурных скобках сочетание «v8» и название области через пробел.

Например: {v8 Область.Заголовок}

Тег окончания области содержит тоже самое, только сочетание «v8» заменено на «/v8».

Например: {/v8 Область.Заголовок}

3) Заменить в файле образце динамически изменяемые фрагменты на параметры замены.

Такие параметры должны быть ограничены фигурными скобками и так же начинаются с сочетания «v8».

Например: {v8 Цена}

 

Методика подключения печатных форм (odt и doc) на основе офисных макетов

 

Поскольку большая часть функционала рассматриваемой подсистемы определена стандартом достаточно жестко, то мы позволили себе предложить Вам в помощь файл шаблона «ШаблонФункцииОбработкиКомандыПечатиОфиснДок.txt». Поэтому нижеприведенная методика подразумевает, что данным файлом Вы будете пользоваться.

 

Итак, методика:

1) Создать и разместить в конфигурации макет, созданный в офисном приложении (MicrosoftWord или OpenOffice.org Writer), включающего в себя все необходимые области. Макет размещать в конфигурации только посредством конструктора макета «Двоичные данные»

 

2) Создать или использовать Общий модуль, исполняемый в режиме Клиент(Управляемое приложение).

В этом модуле сразу поместить код на основе файла шаблона «ШаблонФункцииОбработкиКомандыПечатиОфиснДок.txt» и внести исправления в имени функции (нужное место помечено угловыми скобками <>).

 

3) Модуль менеджера нашего документа. Процедура «ДобавитьКомандыПечати». Добавить описание нашей новой команды, при этом в качестве обработчика указать функцию из п.2.

 

4) Модуль менеджера нашего документа. Внести коррективы в функцию «ПолучитьДанныеПечати» и в обслуживающие ее функции:

  • ПолучитьДанныеОбъекта;

  • ПолучитьОписаниеОбластейМакетаОфисногоДокумента

 

5) Вернуться в функцию из п.2 и отработать заполнение формируемого документа нужными областями.

Методика создания печатных форм (docx) на основе офисных макетов

 

 

Для облегчения использования данной методики – разработчики старались обеспечить максимальную преемственность со старой технологией (клиентской сборкой odt и doc).

Поэтому не удивляйтесь почти полному совпадению.

Итак, методика:

 

1) Создать и разместить в конфигурации макет, созданный в офисном приложении в формате docx, включающего в себя все необходимые области. Макет размещать в конфигурации только посредством конструктора макета «Двоичные данные»

 

2) Модуль менеджера нашего документа. Процедура «ДобавитьКомандыПечати». Добавить обычное описание нашей новой команды

 

3) Модуль менеджера нашего документа. Внести коррективы в функцию «ПолучитьДанныеПечати» и в обслуживающие ее функции:

  • ПолучитьДанныеОбъекта;

  • ПолучитьОписаниеОбластейМакетаОфисногоДокумента

 

4) Добавить в процедуре «Печать» модуля менеджера документа фрагмент, посвященный формированию нашего офисного документа и передаче адреса хранилища нашего документа в свойство «ОфисныеДокументы» нашей печатной формы;

…

// Наша печатная форма

ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, «НашаПФ»);

Если ПечатнаяФорма <> Неопределено Тогда

ИмяМакета = «ИмяМакетаНашейПечФормы)»;

МакетИДанныеОбъекта = УправлениеПечатьюВызовСервера.МакетыИДанныеОбъектовДляПечати(«Документ._НашДокумент», ИмяМакета, МассивОбъектов);

 

ОфисныеДокументы = Новый Соответствие;

 

 

Для Каждого Ссылка Из МассивОбъектов Цикл

 

 

 

АдресХранилищаОфисныйДокумент = НашаФункцияСборкиОфиснДокумента(Ссылка, МакетИДанныеОбъекта, ИмяМакета);

 

ОфисныеДокументы.Вставить(АдресХранилищаОфисныйДокумент, ИмяДокумента);

 

КонецЦикла;

 

ПечатнаяФорма.СинонимМакета = НСтр(«ru = ‘Наша печатная форма’»);

ПечатнаяФорма.ОфисныеДокументы = ОфисныеДокументы;

КонецЕсли;

…

 

5) Модуль менеджера нашего документа. Создать функцию, собирающую офисный документ для нашей печатной формы. В этой функции сразу поместить код на основе файла шаблона «ШаблонDOCXСборкиПечатиОфиснДок.txt» и внести нужные исправления в фрагментах описания используемых областей.

 

 

Методика вывода факсимильных подписи и печати в печатной форме

1) В макете печатной формы добавить рисунки шириной 40 мм и соотношением сторон 1:1 для печати (или 4:1 для подписи) и установить их свойства:

  • Имя: идентификатор вида «Подпись…» или «Печать…» или «Факсимиле…», например, «ПодписьРуководителя», «ПечатьОрганизации»

  • Картинка: (не заполнено)

  • РазмерКартинки: Пропорционально

  • Линия: Точечная

 

2) Добавить по образцу код по получению картинок в процедуре общего модуля УправлениеПечатьюПереопределяемый.ПриПолученииПодписейИПечатей. Особое внимание уделить указанию правильного имени реквизита, содержащего ссылку на элемент справочника «Организации» для обслуживаемого объекта:

…

Если ТипДокумента = Тип(«ДокументСсылка._ДемоСчетНаОплатуПокупателю») Тогда

ОрганизацииВДокументах = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(СписокДокументов, «Организация»);

…

 

 

Методика подключения внешней печатной формы при помощи файла шаблона

1) Сделать клон из файла шаблона «ШаблонВнешнейОбработкиПечатиНаОсновеТабличногоДокумента.epf», переименовав и сохранив его посредством пункта меню «Файл/Сохранить как»;

2) Внести изменения в модуле объекта полученной обработки:

2.1) Исправить параметры функции «СведенияОВнешнейОбработке»;

2.2) Исправить параметры в процедуре «Печать»;

2.3) В функции «СформироватьПечатнуюФорму» воспользоваться «Конструктором запроса с обработкой результата» для формирования печатной формы (при составлении запроса не забудьте про необходимость выходного поля «Ссылка» и наложение условия «В» по этому полю);

2.4) Использовать закомментированные фрагменты функции для подключения к стандарту.

 

 

Методика подключения внешней печатной формы на основе офисного документа (odt и doc) при помощи файла шаблона

1) Сделать клон из файла шаблона «ШаблонВнешнейОбработкиФормированияОфисногоДокумента.epf», переименовав и сохранив его посредством пункта меню «Файл/Сохранить как»;

2) Внести изменения в модуле объекта полученной обработки:

2.1) Исправить параметры функции «СведенияОВнешнейОбработке»;

3) Заменить макет в обработке

4) Внести правки в модуле формы обработки, используя закомментированные фрагменты в качестве примеров

4.1) в функцию «ПолучитьДанныеДокументов»;

4.2) в функцию «ПолучитьДанныеОбъекта»;

4.3) в функцию «ПолучитьОписаниеОбластейМакетаОфисногоДокумента»;

4.4) в процедуру «Печать».

 

Методика подключения внешней печатной формы на основе офисного документа DOCX при помощи файла шаблона

1) Сделать клон из файла шаблона «ШаблонВнешнейОбработкиФормированияДокументаDOCX.epf», переименовав и сохранив его посредством пункта меню «Файл/Сохранить как»;

2) Внести изменения в модуле объекта полученной обработки:

2.1) Исправить параметры функции «СведенияОВнешнейОбработке»;

3) Заменить макет в обработке (Внимание! Загружать можно только файл с расширением docx)

4) Внести правки в модуле формы обработки, используя закомментированные фрагменты в качестве примеров

4.1) в функцию «ПолучитьДанныеДокументов»;

4.2) в функцию «ПолучитьДанныеОбъекта»;

4.3) в функцию «ПолучитьОписаниеОбластейМакетаОфисногоДокумента»;

4.4) в функцию «ПолучитьДанныеДокументов»;

 

5) Если разрабатываемая печатная форма не для документа (а, например, для справочника):

Необходимо изменить в процедуре «ПечатьНаСервере» фрагменты, посвященные созданию имени файла. Надо переопределить использование номера и даты документа в шаблоне имени — на использование наименования элемента справочника.

 

Методика разработки печатных форм посредством расширений (на основе шаблона)

 

1) Загрузить в расширение обработку из файла шаблона «ШаблонОбработкиПечатиНаОсновеТабличногоДокументаДляРасширения.epf» и переименовать ее.

2) Подключить обработку к подсистеме «ПодключаемыеОтчетыИОбработки»

3) Вырезать весь код из модуля объекта обработки и перенести его в модуль менеджера обработки

4) В модуле менеджера полученной обработки:

2.1) Исправить параметры в процедуре «ПриОпределенииНастроек»;

2.2) Исправить параметры в процедуре «ДобавитьКомандыПечати»;

2.3) Исправить параметры в процедуре «Печать»;

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