Практикум. Сервис доставки блюд. Печатные формы и eDoc
eDoc – это набор инструментов Системы, позволяющий сформировать электронный документ-шаблон, автоматически подставить в него актуальные данные (из объектов, справочников или подсчитанные алгоритмически) с последующей выгрузкой файла или его распечаткой.
Проект документа (шаблон) может быть задан форматами *.XLSX и *.DOCX (MS Office 2010 и выше). Также поддерживаются форматы *.xls (MS Office), *.odt и *.ods (LibreOffice).
Функциональный модуль Системы позволяет:
-
работать с электронными документами в режиме онлайн и совместно с другими пользователями: просматривать, формировать, корректировать, комментировать, экспортировать документы, выводить их на печать, согласовывать и утверждать, а также использовать электронную подпись;
-
настраивать шаблоны документов в формате аналогичном MS Word и Excel;
-
настраивать сложные параметрические структуры шаблонов и документов;
-
динамически заполнять формы и документы на основе данных Системы;
-
контролировать изменения, архивировать версии и сопутствующие материалы, осуществлять штрихкодирование;
-
автоматически получать предварительно заполненные формы.
Возможности печатной формы ориентированы именно на последующую распечатку документа и не предполагают коррекцию данных. Если пользователь открывает электронный документ в режиме web-версии, то становятся возможными поступление новых сведений и коррекция данных (значений, атрибутов, характеристик), представленных в документе. При этом изменения оперативно вносятся в Систему (с помощью выполнения операции сохранения). Этапы настройки печатных форм:
-
Подготовка шаблона печатной формы;
-
Настройка данных для подстановки в печатную форму, настройка закладок и источников;
-
Определение способов формирования печатных форм.
В рамках этой главы необходимо настроить печатную форму для формирования документов по шаблону. Необходимо создать и настроить шаблон чека заказа, который содержит в себе дату заказа, клиента, номер чека, таблицу с составом заказа, общую стоимость заказа, QR-код заказа
Перед настройкой модуля «Печатные формы и eDoc» необходимо предварительно реализовать настройки, описанные в главах: |
Определение структуры шаблона
Перед началом настройки печатной формы сформируйте Шаблоны в MS Word. Текст шаблонов с указанием закладок вы можете найти в приложении. Добавьте закладки в шаблонах для того, чтобы в дальнейшем заполнять эти поля данными экземпляра типа объектов. Наименования закладок в документе должны присваиваться осмысленно, данная информация будет отображаться в Системе при настройке печатных форм.
Для создания закладок воспользуйтесь функционалом MS Word или используйте готовые шаблоны, приложенные к практикуму.
Необходимо подготовить два шаблона:
-
Чек по заказу – основной шаблон, который будет содержать информацию по заказу, а именно дату заказа, клиента, номер чека, таблицу с составом заказа, общую стоимость заказа, QR-код заказа;
-
Состав заказа – шаблон, содержит в себе только таблицу, которая затем будет наполняться следующими данными: блюдо, его количество и стоимость позиции.
Создание объекта печатной формы
В главном меню выберите пункт «Отчеты» – «Печатные формы» и создайте новый объект. В поле «Загрузите файл шаблона» загрузите файл «Чек по заказу» с добавленными закладками, после выбора файла в модальном окне классификации файла выберите «Системные» - «Все файлы» и текущую дату.
Укажите Наименование шаблона – «Чек по заказу». Ниже на вкладке «Настройки шаблона» в разделе «Связь с объектами системы» в поле «Базовый тип объектов» выберите «Заказ из ресторана» – он определяет тип объектов, атрибуты которого будут использоваться в формируемом документе. Сохраните настройки печатной формы – после этого в поле «Документы системы (Типы объектов)» появится указанный в качестве базового типа объектов тип.
Ниже в разделе «Настройка выгрузки файла» установите флаг на параметре «Выгружать в файл, без предварительного просмотра».
Сохраните изменения с помощью кнопки «Сохранить» на панели управления. После этого вам будет доступен функционал для настройки печатной формы.
Привязка к документам системы
В реестре «Документ системы (Тип объекта)» отображаются те типы объектов, к которым привязывается настраиваемая печатная форма. На вкладке необходимо настроить связь печатной формы с типом объекта. То есть, настроить связь объекта с типом, печатная форма которого настраивается.
После выбора базового типа объектов в реестре «Документ системы (Тип объекта)» автоматически была добавлена связь с типом «Заказ из ресторана». Перейдите к его настройке двойным нажатием на объект или с помощью кнопки редактирования. Очистите поля «Прикреплять документ EDoc к объекту автоматически» и «Прикреплять сформированный файл к объекту» с помощью кнопок расположенных внутри полей. Ниже в разделе «Параметры прикрепления сформированного файла» заполните поля: Тип объекта – «Заказ из ресторана», атрибут типа – «Прикрепленные файлы».
Сохраните настройки печатной формы с помощью кнопки «Сохранить» на панели управления.
Определение источников данных
На вкладке «Закладки» появился сформированный список закладок, а на вкладке «Источники данных» – источники на основе автоматически созданных закладок.
Источник данных для поля печатной формы позволяет определить, как будет формироваться настраиваемое значение. Настройка сформированных источников данных происходит на вкладке «Источники данных». Данные могут формироваться посредством атрибута, алгоритма, шаблона, штрихкода и прочего – определение способа формирования данных для источника данных выполняется по кнопке «Расширение».
Источники данных на основе атрибута
Настройте источники данных на основе атрибута: «Источник. Номер заказа» и «Источник. Итоговая сумма».
Настройка источника «Источник. Номер заказа»
Перейдите к настройке источника данных «Источник. Номер заказа». Установите расширение для источника данных, для этого воспользуйтесь кнопкой «Расширения» на панели управления. В появившемся модальном окне выберите из списка «Шаблон печатной формы. Источник данных на основе атрибута» и нажмите на кнопку «Выбрать».
В настройках источника данных укажите «Тип данных источника» – «Строка». В группе настроек «Заполнение данными» установите в поле «Атрибуты, ограниченные базовым типом ПФ» – «Номер документа» и сохраните изменения.
Настройка источника «Источник. Итоговая сумма»
Аналогично настройте источник данных «Источник. Итоговая сумма». Выберите расширение «Шаблон печатной формы. Источник данных на основе атрибута» и укажите тип данных источника – «Число», атрибут – «Итоговая сумма заказа».
Сохраните настройки источника данных.
Источники данных на основе алгоритма
Настройте источники данных на основе алгоритма: «Источник. Дата» и «Источник. Клиент».
Настройка источника «Источник. Дата»
Перейдите к настройке источника данных «Источник. Дата» и установите расширение «Шаблон печатной формы. Источник данных на основе алгоритма».
В настройках источника данных укажите «Тип данных источника» – «Строка». Создайте новый алгоритм, для этого в разделе «Заполнение данными» раскройте список дополнительных действий поля «Алгоритм» и выберите «Добавить».
В появившемся модальном окне выберите тип алгоритма «Алгоритм. Карточки объектов».
В открывшейся форме настройки алгоритма заполните поля:
-
Наименование – «Алгоритм определения даты для ПФ»;
-
Идентификатор – «RF_DATE_ALG»;
-
Базовый тип объектов – «Заказ из ресторана».
Сохранить настройки алгоритма по кнопке на панели управления.
Алгоритм должен возвращать дату создания заказа в формате с указанием даты и времени. Для этого заполните поле формулы алгоритма:
Для реализации формулы воспользуйтесь функциями:
Выполните следующие шаги, чтобы повторить формулу алгоритма:
-
В разделе «Даты» выберите функцию dateFormat, которая форматирует дату и время;
-
В качестве первого аргумента функции укажите атрибут даты создания заказа. В разделе «Источники» с помощью функции attr выберите атрибут «Дата и время заказа»;
Сохраните алгоритм по кнопке «Ок», затем и настройки источника данных по аналогичной кнопке. Сохраните настройки печатной формы с помощью кнопки «Сохранить» на панели управления.
Настройка источника «Источник. Клиент»
Перейдите к настройке источника данных «Источник. Клиент» и установите расширение «Шаблон печатной формы. Источник данных на основе алгоритма». В настройках источника данных укажите «Тип данных источника» – «Строка».
Создайте новый алгоритм типа «Алгоритм. Карточки объектов»:
-
Наименование – «Алгоритм определения клиента для ПФ»;
-
Идентификатор – «RF_CLIENT_ALG»;
-
Базовый тип объектов – «Заказ из ресторана».
Алгоритм должен возвращать фамилию и имя клиента. Для этого заполните поле формулы алгоритма:
Для реализации формулы воспользуйтесь функциями:
Выполните следующие шаги, чтобы повторить формулу алгоритма:
-
Укажите атрибут, содержащий фамилию клиента, оформившего заказ. В разделе «Источники» воспользуйтесь функцией attr: в списке атрибутов выберите цепочечный «Клиент» - «Фамилия»;
-
С помощью клавиатуры введите знак сложения «+». В разделе «Текст» воспользуйтесь функцией text – в кавычках введите пробел;
-
Аналогично шагу 2 введите знак сложения, а затем согласно шагу 1 укажите атрибут «Клиент» - «Имя».
Сохраните алгоритм по кнопке «Ок», затем и настройки источника данных по аналогичной кнопке. Сохраните настройки печатной формы с помощью кнопки «Сохранить» на панели управления.
Источник данных на основе штрих-кода
Перейдите к настройке источника данных «Источник. QR_код» и установите расширение «Шаблон печатной формы. Источник данных на основе штрих-кода».
В разделе «Заполнение данными» заполните поле «Тип штрих кода» - «QR код на основе атрибута объекта», а в поле «Атрибут базового типа» укажите атрибут «Код».
Сохраните настройки источника данных.
Источник данных на основе шаблона
Откройте для редактирования элемент «Источник. Состав заказа» и установите расширение «Шаблон печатной формы. Источник данных на основе шаблона».
В настройках источника данных укажите «Тип данных источника» – «Таблица».
Для того чтобы в печатной форме по заявке отображался список товаров в заказе, необходимо создать дочерний шаблон. В группе настроек «Заполнение данными» добавьте новый элемент для дочернего шаблона.
В новом шаблоне загрузите файл «Состав заказа» с добавленными закладками, в окне классификации файла выберите «Системные» - «Все файлы» и текущую дату. Укажите «Наименование шаблона» – «Состав заказа». Выберите «Базовый тип объектов» – «Позиция из заказа» и сохраните шаблон. Удалите автоматически созданный объект для связи с базовым типом объектом и ниже поставьте флаг на параметре «Выгружать в файл, без предварительного просмотра».
Настройте источники данных для автоматически созданных закладок.
-
Откройте для редактирования «Количество» и установите расширение «Шаблон печатной формы. Источник данных на основе атрибута». В настройках источника данных укажите «Тип данных источника» – «Число». В поле «Заполнение данными» установите в поле «Атрибуты ограниченные базовым типом ПФ» – «Количество» и сохраните изменения.
-
Аналогично для «Источник. Стоимость» установите расширение «Шаблон печатной формы. Источник данных на основе атрибута», в настройках источника данных укажите «Тип данных источника» – «Число». В поле «Заполнение данными» установите в поле «Атрибуты ограниченные базовым типом ПФ» – «Стоимость» и сохраните изменения.
-
Для «Источник. Позиция» установите расширение «Шаблон печатной формы. Источник данных на основе алгоритма» и выберите тип данных – «Строка».
Для «Источник. Позиция» создайте новый алгоритм типа «Алгоритм. Карточки объектов»: «Алгоритм наименования блюда из позиции заказа» [DISH_NAME_ALG], укажите базовый тип объектов – «Позиция из заказа», печатная форма – Таблица товаров. Алгоритм будет возвращать наименование блюда в каждой позиции в текущей заявке.
В формуле алгоритма укажите цепочечный атрибут «Блюдо» - «Наименование» с помощью функции attr.
Сохраните изменения в шаблоне «Состав заказа» и вернитесь к настройке основного шаблона.
В разделе «Заполнение данными» в поле «Дочерний шаблон» будет подставлен только что созданный шаблон. Добавьте алгоритм определения коллекции дочерних объектов.
Создайте алгоритм определения коллекции дочерних объектов «Алгоритм определения дочерних объектов» [CHILD_OBJ_ALG], установите базовый тип – «Заказ из ресторана». Алгоритм необходим, чтобы определять объекты какого объектного атрибута будут использоваться при формировании печатной формы.
В поле формулы алгоритма вставьте значение атрибута «Позиции заказа» с помощью функции attr.
Сохраните алгоритм и вернитесь к настройке источника данных для закладки, для этого нажмите «Ок». Отключите опцию «Разрешать создание экземпляров дочернего шаблона» и включите «Удалять пустые строки в конце дочернего шаблона».
Сохраните источник данных, а затем настройки печатной формы. Теперь печатная форма готова для использования.