Практикум. Система учета заявок на канцтовары. Печатные формы и eDoc.
Описание модуля
В рамках этой главы необходимо настроить шаблон заявки, в котором должны указываться дата создания заявки, инициатор, номер заявки, позиции в заявке, их количество, стоимость позиции и общая стоимость заявки, Сотрудник АХР, реализующий заявку. Также необходимо внедрить формирование счета по заявке в бизнес-процесс.
Для реализации функции формирования заявки на закупку канцтоваров для Сотрудника АХР необходимо разработать печатную форму.
Также необходимо изменить бизнес-процесс и внедрить в него формирование печатной формы для Сотрудника АХР.
Перед настройкой модуля «Печатные формы и eDoc» необходимо предварительно реализовать настройки, описанные в главах: |
Определение структуры шаблона
Перед началом настройки печатной формы сформируйте Шаблоны в MS Word. Текст шаблонов с указанием закладок вы можете найти в приложении. Добавьте закладки в шаблонах для того, чтобы в дальнейшем заполнять эти поля данными экземпляра типа объектов. Наименования закладок в документе должны присваиваться осмысленно, данная информация будет отображаться в Системе при настройке печатных форм.
Для создания закладок воспользуйтесь функционалом MS Word или используйте готовые шаблоны, приложенные к практикуму.
Необходимо подготовить два шаблона:
-
Шаблон заявки – основной шаблон, который будет содержать информацию по заявке, а именно дату создания заявки, инициатора, номер заявки, общую стоимость заявки, Сотрудника АХР, реализующего заявку;
-
Шаблон таблицы – шаблон, который содержит в себе только таблицу, которая затем будет наполняться следующими данными: позиция в заявке, ее количество, стоимость позиции.
Создание карточки печатной формы
В главном меню выберите пункт «Отчеты» – «Печатные формы» и создайте новый объект. На боковой панели слева загрузите файл «Шаблон заявки» с добавленными закладками, после выбора файла в модальном окне классификации файла выберите «Системные» - «Все файлы» и текущую дату.
Ниже на боковой панели переведите переключатель «Создавать источники автоматически» в активное положение.
На боковой панели слева ниже в разделе «Шаблон» укажите Наименование шаблона – «Заявка на канцтовары». В поле «Базовый тип объектов» выберите «Заявка» – он определяет тип объектов, атрибуты которого будут использоваться в формируемом документе. Сохраните изменения с помощью кнопки «Сохранить» на панели управления. После этого вам будет доступен функционал для настройки печатной формы.
Определение источников данных
Прежде чем перейти к настройке источников, необходимо указать привязанные типы объектов. Вкладка «Параметры» отображает те типы объектов, к которым привязывается настраиваемая печатная форма. На вкладке необходимо настроить связь печатной формы с базовым типом объекта. То есть, настроить связь объекта с типом, печатная форма которого настраивается.
На вкладке «Параметры» создайте новый документ системы в поле «Привязка к документам системы»: в появившемся окне установите в поле «Документ системы (Тип объекта)» – «Заявка» и сохраните объект.
Ниже в разделе «Параметры прикрепления сформированного файла» заполните поля: Тип объекта – «Заявка», атрибут типа – «Прикрепленные файлы».
Сохраните настройки печатной формы с помощью кнопки «Сохранить» на панели управления.
Так как были активированы переключатели «Формировать закладки на основании документа» и «Создавать источники автоматически» на вкладке «https://docs-public.gdcloud.org/platform/ru/edoc-tasks-tab.html[Закладки]» появился сформированный список закладок, а на вкладке «https://docs-public.gdcloud.org/platform/ru/edoc-data-sources-tab.html[Источники данных]» – источники на основе автоматически созданных закладок.
Источник данных для поля печатной формы позволяет определить, как будет формироваться настраиваемое значение. Данные могут формироваться посредством:
-
передачи значения атрибута без изменений из типа объекта;
-
преобразования имеющегося значения в типе объекта;
-
формироваться посредством алгоритма.
Определение способа формирования источника данных выполняется по кнопке «Расширение». Настройте сформированные автоматически источники данных.
Источники данных на основе атрибута
Перейдите на вкладку «Источники данных», выделите и откройте для редактирования элемент «Закладка. Дата_создания». Установите расширение для источника данных, для этого воспользуйтесь кнопкой «Расширения» на панели управления В появившемся модальном окне выберите из списка «Шаблон печатной формы. Источник данных на основе атрибута» и нажмите на кнопку «Выбрать».
В настройках источника данных укажите «Тип данных источника» – «Дата».
В группе настроек «Заполнение данными» установите в поле «Атрибуты, ограниченные базовым типом ПФ» – «Дата создания» и сохраните изменения.
Аналогично настройте источники данных для следующих закладок:
-
Закладка. Сумма_заказа: Тип данных источника – число, атрибут – «Итоговая стоимость»;
-
Закладка. Номер_заявки: Тип данных источника – строка, атрибут – «Номер документа».
Источники данных на основе алгоритма
Откройте для редактирования «Закладка. Инициатор» и установите расширение «Шаблон печатной формы. Источник данных на основе алгоритма».
В настройках источника данных укажите «Тип данных источника» – «Строка». Создайте новый алгоритм типа «Алгоритм. Печатные формы», для этого в разделе «Заполнение данными» раскройте список дополнительных действий поля «Алгоритм» и выберите «Добавить».
В появившемся модальном окне выберите тип алгоритма «Алгоритм. Печатные формы».
В открывшейся форме настройки алгоритма заполните поля:
-
Наименование – Алгоритм определения инициатора для ПФ;
-
Идентификатор – RF_INITIATOR_NAME_ALG;
-
Базовый тип объектов – Заявка;
-
Печатная форма – Заявка на канцтовары.
Сохранить настройки алгоритма по кнопке на панели управления.
Алгоритм должен возвращать фамилию, имя и отчество сотрудника, создавшего заявку на канцтовары – инициатора. Для этого заполните поле формулы алгоритма:
Для реализации формулы воспользуйтесь функциями:
Выполните следующие шаги, чтобы повторить формулу алгоритма:
-
В разделе «Источники» с помощью функции attr добавьте цепочечный атрибут «Фамилия» атрибута «Сотрудник, создавший объект»;
-
Введите с клавиатуры знак сложения (конкатенации) и в кавычках(или воспользуйтесь функцией text из раздела «Текст») введите пробел. Снова введите знак сложения;
-
Аналогично шагам 1-2 добавьте атрибуты Имя и Отчество с пробелом между ними.
Сохраните алгоритм по кнопке «Ок», затем и настройки источника данных по аналогичной кнопке.
Аналогично настройте источники данных для закладки Закладка. АХР: тип данных – строка, создайте алгоритм типа «Алгоритм. Печатные формы» – «Алгоритм определения Сотрудника АХР для ПФ» [RF_AHR_NAME_ALG].
Сохраните настройки печатной формы с помощью кнопки «Сохранить» на панели управления.
Источник данных на основе шаблона
Откройте для редактирования элемент «Закладка. Таблица_товаров» и установите расширение «Шаблон печатной формы. Источник данных на основе шаблона», тип данных источника – Таблица.
Для того чтобы в печатной форме по заявке отображался список товаров в заказе, необходимо создать дочерний шаблон. В группе настроек Заполнение данными добавьте новый элемент для дочернего шаблона. Для удобства работы разверните модальное окно на полный экран.
На боковой панели слева загрузите файл «Шаблон таблицы» с добавленными закладками, в окне классификации файла выберите «Системные» - «Все файлы» и текущую дату. Активируйте переключатель «Создавать источники автоматически», а также укажите «Наименование шаблона» – «Таблица товаров», «Базовый тип объектов» – «Позиция в заявке», и сохраните изменения. После этого вам будет доступен функционал для настройки печатной формы.
На вкладке «Параметры» создайте новый документ системы в поле «Привязка к документам системы»: в появившемся окне установите в поле «Документ системы (Тип объекта)» – «Позиция в заявке» и сохраните объект.
Настройте источники данных для автоматически созданных закладок. Для этого перейдите во вкладку «Источники». Откройте для редактирования «Закладка. ITEM_COST» и установите расширение «Шаблон печатной формы. Источник данных на основе атрибута». В настройках источника данных укажите «Тип данных источника» – «Число». В поле «Заполнение данными» установите в поле «Атрибуты ограниченные базовым типом ПФ» – «Стоимость (руб.)» и сохраните изменения.
Аналогично для «Закладка. ITEM_NUM» установите расширение «Шаблон печатной формы. Источник данных на основе атрибута», в настройках источника данных укажите «Тип данных источника» – «Число». В поле «Заполнение данными» установите в поле «Атрибуты ограниченные базовым типом ПФ» – «Количество» и сохраните изменения.
Для «Закладка. ITEM_NAME» установите расширение «Шаблон печатной формы. Источник данных на основе алгоритма» и выберите тип данных – Строка. Создайте новый алгоритм типа «Алгоритм. Печатные формы»: «Алгоритм наименования товара для заявки» [ITEM_NAME_REQ_ALG], укажите базовый тип объектов – Позиция в заявке, печатная форма – Таблица товаров. Алгоритм будет возвращать наименование товара в каждой позиции в текущей заявке.
В формуле алгоритма укажите цепочечный атрибут Товар.Наименование с помощью функции attr.
Сохраните изменения в шаблоне «Таблица товаров» и вернитесь к настройке основного шаблона. В разделе «Заполнение данными» в поле Дочерний шаблон будет подставлен только что созданный шаблон.
Создайте алгоритм определения коллекции дочерних объектов «Алгоритм определения дочерних объектов» [CHILD_OBJ_ALG], установите базовый тип – Заявка. Алгоритм необходим, чтобы определять объекты какого объектного атрибута будут использоваться при формировании печатной формы.
В поле формулы алгоритма вставьте значение атрибута Позиции с помощью функции attr.
Сохраните алгоритм и вернитесь к настройке источника данных для закладки, для этого нажмите «Ок». Активируйте переключатель «Удалять пустые строки в конце дочернего шаблона».
Сохраните источник данных, а затем настройки печатной формы. Теперь печатная форма готова для использования.
Настройка использования печатной формы
В рамках бизнес-процесса печатная форма должна формироваться после утверждения заявки Сотрудником АХР. Для реализации вернитесь на стартовую страницу и откройте схему бизнес-процесса «Согласование заявки на канцтовары».
Добавьте задачу «Сформировать документ заявки» на схему. Для этого из панели элементов перетащите элемент Задача и расположите на схеме. Откройте панель инструментов элемента и выберите соответствующий тип – Сервисная задача. Измените направления стрелок таким образом, чтобы новый этап располагался после этапа «Сотрудник АХР. Проверить наличие товаров в заявке», для этого потяните один конец стрелки и прикрепите к необходимому объекту на схеме.
Сохраните схему бизнес-процесса.
Перейдите к настройке этапа. Установите расширение для задачи «ДО. Сервис. Запустить алгоритм».
Установите для поля «Состояние объекта» значение «Утверждено». Добавьте новый алгоритм, который необходимо запустить, для этого раскройте список дополнительных действий и выберите «Добавить».
Создайте алгоритм «Алгоритм формирования заявки» [CREATE_REQ_ALG], установите базовый Тип объекта – «Заявка». Алгоритм будет формировать печатную форму по указанному шаблону и сохраняться в атрибуте «Прикрепленные файлы» после того, как Сотрудник АХР завершит предыдущую задачу по потоку «Все товары в наличии».
Заполните формулу алгоритма функцией printEDoc (раздел «Печатные формы») – функцией для автоматической генерации и прикрепления печатной формы к объекту. После вызова функции в модальном окне в качестве шаблона печатной формы выберите из списка печатных форм «Заявка на канцтовары». В поле формулы алгоритма измените второй параметр функции: укажите текущий объект с помощью функции currentObject.
Сохраните настройки алгоритма, этапа и схемы бизнес-процесса.
Так как создание печатной формы происходит по ходу выполнения бизнес-процесса самой системой, а после ее формирования сохраняется в объекте, доступном для просмотра, выдавать разрешение на работу с печатной формой нет необходимости.