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

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

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) в функцию "ПолучитьДанныеДокументов";

 

Автоматизация хаоса

Контакты:

Телефон: +7 963 570 26 00

E-mail: al_zzz@mail.ru

Дизайн сайта:

Веб-дизайн и верстка: Зелёнкина Елена

8 963 578 05 35, lena_431@mail.ru