Практикум. Система учета заявок на канцтовары. Электронные документы.
Описание модуля
В рамках этой главы необходимо настроить шаблон заявки, в котором должны указываться дата создания заявки, инициатор, номер заявки, позиции в заявке, их количество, стоимость позиции и общая стоимость заявки, Сотрудник АХР, реализующий заявку. Также необходимо внедрить формирование счета по заявке в бизнес-процесс.
Для реализации функции формирования заявки на закупку канцтоваров для Сотрудника АХР необходимо разработать печатную форму.

Также необходимо изменить бизнес-процесс и внедрить в него формирование шаблона документа для Сотрудника АХР.

|
Перед настройкой модуля «Печатные формы и eDoc» необходимо предварительно реализовать настройки, описанные в главах: |
Определение структуры шаблона
Перед началом настройки документа сформируйте Шаблоны в MS Word. Текст шаблонов с указанием закладок вы можете найти в приложении. Добавьте закладки в шаблонах для того, чтобы в дальнейшем заполнять эти поля данными экземпляра типа объектов. Наименования закладок в документе должны присваиваться осмысленно, данная информация будет отображаться в Системе при настройке печатных форм.
Для создания закладок воспользуйтесь функционалом MS Word или используйте готовые шаблоны, приложенные к практикуму.

Необходимо подготовить два шаблона:
-
Шаблон заявки – основной шаблон, который будет содержать информацию по заявке, а именно дату создания заявки, инициатора, номер заявки, общую стоимость заявки, Сотрудника АХР, реализующего заявку;
-
Шаблон таблицы – шаблон, который содержит в себе только таблицу, которая затем будет наполняться следующими данными: позиция в заявке, ее количество, стоимость позиции.
Создание шаблона электронного документа
В главном меню выберите пункт «Отчеты» – «Шаблоны документов» и создайте новый объект. В поле «Загрузите файл шаблона» загрузите файл «Шаблон заявки» с добавленными ранее закладками, после выбора файла в модальном окне классификации файла выберите «Системные» - «Все файлы» и текущую дату.

Укажите Наименование шаблона – «Заявка на канцтовары» и сохраните печатную форму. Так как включены опции «Формировать закладки на основании файла» и «Создавать источники автоматически», то на основе документа будут созданы закладки и источник, которые в дальнейшем будут заполнены значениями экземпляра, по которому будет формироваться печатная форма.

На вкладке «Настройки шаблона» в поле «Базовый тип объектов» выберите «Заявка» – он определяет тип объектов, атрибуты которого будут использоваться в формируемом документе.
В реестре «Документ системы (Тип объекта)» отображает те типы объектов, к которым привязывается настраиваемая печатная форма. После выбора типа объектов в реестре «Документы системы (Типы объектов)» автоматически появилась запись с указанием выбранного типа объекта «Заявка».

Перейдите к настройке экземпляра связи шаблона и типа объектов «Заявка». Ниже в разделе «Параметры прикрепления сформированного файла» заполните поля: Тип объекта – «Заявка», атрибут типа – «Прикрепленные файлы».

Сохраните настройки документа с помощью кнопки «Сохранить» на панели управления.
Определение источников данных
Так как были активированы переключатели «Формировать закладки на основании документа» и «Создавать источники автоматически» на вкладке «Закладки» появился сформированный список закладок, а на вкладке «Источники данных» – источники на основе автоматически созданных закладок.

Источник данных для поля шаблона документа позволяет определить, как будет формироваться настраиваемое значение. Данные могут формироваться посредством:
-
передачи значения атрибута без изменений из типа объекта;
-
преобразования имеющегося значения в типе объекта;
-
формироваться посредством алгоритма.
Определение способа формирования источника данных выполняется по кнопке «Расширение». Настройте сформированные автоматически источники данных.
Источники данных на основе атрибута
Перейдите на вкладку «Источники данных», выделите и откройте для редактирования элемент «Закладка. Дата_создания». Установите расширение для источника данных, для этого воспользуйтесь кнопкой «Расширения» на панели управления В появившемся модальном окне выберите из списка «Шаблон документа. Источник данных на основе атрибута» и нажмите на кнопку «Выбрать».

В настройках источника данных укажите «Тип данных источника» – «Дата».

В группе настроек «Заполнение данными» установите в поле «Атрибуты, ограниченные базовым типом ПФ» – «Дата создания» и сохраните изменения.

Аналогично настройте источники данных для следующих закладок:
-
Закладка. Сумма_заказа: Тип данных источника – число, атрибут – «Итоговая стоимость»;
-
Закладка. Номер_заявки: Тип данных источника – строка, атрибут – «Номер документа».
Источники данных на основе алгоритма
Откройте для редактирования «Закладка. Инициатор» и установите расширение «Шаблон документа. Источник данных на основе алгоритма».

В настройках источника данных укажите «Тип данных источника» – «Строка». Создайте новый алгоритм, для этого в разделе «Заполнение данными» раскройте список дополнительных действий поля «Алгоритм» и выберите «Добавить».

В появившемся модальном окне выберите тип алгоритма «Алгоритм. Шаблоны документов».

В открывшейся форме настройки алгоритма заполните поля:
-
Наименование – Алгоритм определения инициатора для ПФ;
-
Базовый тип объектов – Заявка;
-
Печатная форма – Заявка на канцтовары.
Сохранить настройки алгоритма по кнопке на панели управления.
Алгоритм должен возвращать фамилию, имя и отчество сотрудника, создавшего заявку на канцтовары – инициатора. Для этого заполните поле формулы алгоритма:

Для реализации формулы воспользуйтесь функциями:
Выполните следующие шаги, чтобы повторить формулу алгоритма:
-
В разделе «Источники» с помощью функции attr добавьте цепочечный атрибут «Фамилия» атрибута «Сотрудник, создавший объект»;
-
Введите с клавиатуры знак сложения (конкатенации) и в кавычках (или воспользуйтесь функцией text из раздела «Текст») введите пробел. Снова введите знак сложения;
-
Аналогично шагам 1-2 добавьте атрибуты Имя.
Сохраните алгоритм по кнопке «Ок», затем и настройки источника данных по аналогичной кнопке.
Аналогично настройте источники данных для закладки Закладка. АХР: тип данных – строка, создайте алгоритм типа «Алгоритм. Шаблона документов» – «Алгоритм определения Сотрудника АХР для ПФ».

Сохраните настройки с помощью кнопки «Сохранить» на панели управления.
Источник данных на основе шаблона
Откройте для редактирования элемент «Закладка. Таблица_товаров» и установите расширение «Шаблон документа. Источник данных на основе шаблона».

Установите тип данных источника – «Таблица».
Для того чтобы в шаблоне документа по заявке отображался список товаров в заказе, необходимо создать дочерний шаблон. В группе настроек «Заполнение данными» добавьте новый элемент для дочернего шаблона. Для удобства работы разверните модальное окно на полный экран.

Загрузите файл шаблона «Шаблон таблицы» с добавленными закладками, в окне классификации файла выберите «Системные» - «Все файлы» и текущую дату. Укажите «Наименование шаблона» – «Таблица товаров», «Базовый тип объектов» – «Позиция в заявке», и сохраните изменения.
На вкладке «Настройки шаблона» в поле «Базовый тип объектов» выберите «Позиция в заявке» и сохраните – в реестре «Документы системы (Типы объектов)» появится автоматичеки связь с базовым типом объекта.

Настройте источники данных для автоматически созданных закладок. Для этого перейдите во вкладку «Источники». Откройте для редактирования «Закладка. ITEM_COST» и установите расширение «Шаблон документа. Источник данных на основе атрибута». В настройках источника данных укажите «Тип данных источника» – «Число». В поле «Заполнение данными» установите в поле «Атрибуты ограниченные базовым типом ПФ» – «Стоимость (руб.)» и сохраните изменения.

Аналогично для «Закладка. ITEM_NUM» установите расширение «Шаблон документа. Источник данных на основе атрибута», в настройках источника данных укажите «Тип данных источника» – «Число». В поле «Заполнение данными» установите в поле «Атрибуты ограниченные базовым типом ПФ» – «Количество» и сохраните изменения.
Для «Закладка. ITEM_NAME» установите расширение «Шаблон документа. Источник данных на основе алгоритма» и выберите тип данных – Строка. Создайте новый алгоритм типа «Алгоритм. Печатные формы»: «Алгоритм наименования товара для заявки» [ITEM_NAME_REQ_ALG], укажите базовый тип объектов – Позиция в заявке, печатная форма – Таблица товаров. Алгоритм будет возвращать наименование товара в каждой позиции в текущей заявке.
В формуле алгоритма укажите цепочечный атрибут Товар.Наименование с помощью функции attr.

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

Создайте алгоритм определения коллекции дочерних объектов «Алгоритм определения дочерних объектов» [CHILD_OBJ_ALG], установите базовый тип – Заявка. Алгоритм необходим, чтобы определять объекты какого объектного атрибута будут использоваться при формировании Шаблона документа.
В поле формулы алгоритма вставьте значение атрибута Позиции с помощью функции attr.

Сохраните алгоритм и вернитесь к настройке источника данных для закладки, для этого нажмите «Ок». Активируйте переключатель «Удалять пустые строки в конце дочернего шаблона».

Сохраните источник данных, а затем настройки шаблона документа. Теперь печатная форма готова для использования.
Настройка использования Шаблона документа
В рамках бизнес-процесса печатная форма должна формироваться после утверждения заявки Сотрудником АХР. Для реализации вернитесь на стартовую страницу и откройте схему бизнес-процесса «Согласование заявки на канцтовары».
Добавьте задачу «Сформировать документ заявки» на схему. Для этого из панели элементов перетащите элемент Задача и расположите на схеме. Откройте панель инструментов элемента и выберите соответствующий тип – Сервисная задача. Измените направления стрелок таким образом, чтобы новый этап располагался после этапа «Сотрудник АХР. Проверить наличие товаров в заявке», для этого потяните один конец стрелки и прикрепите к необходимому объекту на схеме.
Сохраните схему бизнес-процесса.

Перейдите к настройке этапа. Установите расширение для задачи «ДО. Сервис. Запустить алгоритм».

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

Создайте алгоритм «Алгоритм формирования заявки», установите базовый Тип объекта – «Заявка». Алгоритм будет формировать печатную форму по указанному шаблону и сохраняться в атрибуте «Прикрепленные файлы» после того, как Сотрудник АХР завершит предыдущую задачу по потоку «Все товары в наличии».
Заполните формулу алгоритма функцией printEDoc (раздел «Печатные формы») – функцией для автоматической генерации и прикрепления документа к объекту. После вызова функции в модальном окне в качестве шаблона документа выберите из списка печатных форм «Заявка на канцтовары». В поле формулы алгоритма измените второй параметр функции: укажите текущий объект с помощью функции currentObject. Значения третьего и четвертого параметров укажите – true.

Сохраните настройки алгоритма, этапа и схемы бизнес-процесса.
Так как создание шаблона документа происходит по ходу выполнения бизнес-процесса самой системой, а после ее формирования сохраняется в объекте, доступном для просмотра, выдавать разрешение на работу с шаблоном документа нет необходимости.