Макеты печатных форм кассового клиента RK6
Вводная информация
Практически все печатные документы, формируемые на станции R-Keeper v6, представляют из себя макеты собственного формата (*.FRM), которые можно редактировать с помощью специального приложения.
Модификация печатной формы может потребоваться для следующих задач:
- внеcение изменений в макет печатной формы (размещение элементов формы, добавление/удаление полей и т.д.)
- добавление в макет пользовательских переменных для реализации нестандартных задач
- локализация печатных форм на другой язык
Печатные формы расположены в подкаталоге \FORMS кассового клиента и представлены в виде файлов с расширением *.FRM
Примечание: Некоторые печатные документы не могут быть отредактированы самостоятельно - ресурсы для их модификации находятся либо в ядре системы либо в файле локализации (например, RUSSIAN.LNG). В данном документе работа с такими печатными документами не рассматривается - для их модификации необходимо оформить заявку через трекер.
Редактор печатных форм
Для редактирования печатных форм используется специальное приложение - FEDITOR.EXE (далее FEDITOR)
Приложение входит в состав менеджерской части RK6 и для запуска требует единственной библиотеки descript.dll.
При запуске FEDITOR предлагается ввести пароль - механизм защиты не является функциональным, пароль можно не указывать и просто нажать кнопку "OK".
После запуска FEDITOR открывается основное рабочее окно приложения - для открытия и редактирования макета необходимо перейти в меню File ⇒ Open и указать путь к файлу макета (*.FRM).
После открытия макета в приложении становятся доступны элементы управления:
Рис. Рабочее окно приложения FEDITOR с загруженной печатной формой
Основные элементы управления
- в разделе Section расположен выбор секций печатной формы, с помощью кнопок Previous и Next можно перемещаться между секциями:
- в разделе Item - Line находятся элементы для работы с объектами печатной формы - линиями и переменными, с помощью кнопки Preview можно просмотреть общий вид печатного документа:
- в разделе Variables отображаются доступные для выбранной секции системные (System) и пользовательские (User defined) переменные:
- в основном рабочем разделе находится редактор макета:
Правила и ограничения редактора
При редактирование печатной формы следует учитывать следующие правила:
- макет состоит из линий и размещенных на них объектов
- для каждой секции доступны только определенные системные и/или пользовательские переменные - использование переменных за пределами секции недопускается
- объекты (системные или пользовательские) могут быть добавлены только на существующую (предварительно размещенную) линию
Параметры макета
Для входа в свойства макета необходимо в редакторе открыть форму макета и перейти в меню File ⇒ Options:
Рис. Свойства макета без поддержки слиповой (подкладной) печати | Рис. Свойства макета с поддержкой слиповой (подкладной) печати (FICHECK.FRM) |
В свойствах макета определены следующие параметры:
- Width (in symbols) - ширина печатной формы в символах, по-умолчанию 40 символов
- Type (Roll или Slip) - тип макета: Roll - макет для печати на ролом принтере, Slip - макет для печати на слиповом (подкладном) принтере
- Height (in lines) - высота печатной формы, доступно только для макетов c поддержкой печати на слиповом принтере (Slip)
Ширина печатной формы (Width) определяется возможностями принтера - для стандартного размера бумаги 80 мм устанавливается ширина печати в 40 символов.
Высота печатной формы (Height) определяется возможностями слипового принтера и размером бумажного бланка (слипа), на котором печатается чек.
Редактирование печатной формы
Для добавления линии необходимо:
- выбрать на форме линию, ниже которой необходимо разместить новую линию
- выбрать на панели задач в разделе Line операцию Add - линия автоматически добавится на печатную форму:
- операция Insert выполняет то же действие, что и Add , только новая линия будет добавлена выше выбранной линии
Для удаления линии необходимо:
- выбрать на форме линию, которую необходимо удалить
- выбрать на панели задач в разделе Line операцию Delete - линия будет автоматически удалена без предварительного запроса
Для добавления нового объекта есть два варианта:
Вариант №1
- выбрать на форме линию, на которую необходимо добавить объект
- выбрать на панели задач в разделе Item операцию Add
- в окне редактирования объекта заполнить параметры (см. ниже):
Примечание: Размер поля переменной (Width) автоматически устанавливается в значение, максимально доступное для выбранной линии
Вариант №2
- в разделе Variables выбрать объект и "перетащить" его в окно редактора, поместив на линию
Для удаления объекта необходимо:
- выбрать на форме объект, который необходимо удалить
- выбрать на панели задач в разделе Item операцию Delete - объект будет автоматически удален без предварительного запроса
Системные переменные
Для каждой секции макета определены свои системные переменные, которые нельзя использовать за пределами секции.
В редакторе нельзя добавить новую или изменить существующую системную переменную - при необходимости модификации можно использовать пользовательские переменные и/или функции.
Пользовательские переменные
Пользовательские переменные и функции, как и системные переменные, имеют ограниченную область применения - их можно использовать только в пределах той секции, где они определены.
Пользовательские переменные могут быть составлены на основе простых арифметических операций с возможностью задействовать в формулах системные переменные, пользовательские переменные и функции, доступные в данной секции.
Пользовательские функции могут быть двух типов (см. ниже) и для вычисления результата использовать системные переменные, пользовательские переменные и функции, доступные в данной секции.
Для работы с переменными и функциями в разделе "User defined" доступны следующие операции (по правому клику мыши):
- Add Variable - добавление новой пользовательской переменной
- Add Function - добавление новой пользовательской функции
- Edit - редактирование выбранной пользовательской переменной или функции
- Delete - удаление выбранной пользовательской переменной или функции
Для редактирования переменной или функции необходимо выбрать ее в списке, нажать правой кнопкой мыши и выбрать операцию Edit - окно редактирования переменной и функции отличается.
Рассмотрим использование пользовательских переменных и функций на примере макета предварительного чека (FCHECK.FRM) - в секции Dish Line определены переменные и функции для возможности не выводить в печатной форме строки с блюдами, сумма которых равна нулю.
Открываем макет FCHECK.FRM в редакторе и выбираем секцию Dish Line:
В разделе "User defined" находятся пользовательские объекты, которые могут использоваться в макете:
- $DISH_SUM - пользовательская переменная для вычисления суммы блюда
- $DNAME - пользовательская функция для альтернативного вывода названия блюда
- $QNT - пользовательская функция для альтернативного вывода кол-ва блюда
- $DSUM - пользовательская функция для альтернативного вывода суммы блюда
- $ANAME - пользовательская функция для альтернативного вывода суммы блюда
Выбираем в списке переменную $DISH_SUM и вызываем операцию Edit:
В окне редактирования переменной доступны следующие поля:
- Name - название переменной
- Formula - формула для расчета переменной
- Availuable variables - доступные переменные и формулы, которые могут быть задействованы в расчетах переменной
Примечание: В поле Availuable variables доступны только числовые переменные
В поле Formula можно использовать простые арифметические операции - сложение, вычитание, умножение, деление. Допускается группирование операций в круглых скобках (...), например (1+3)/2
Пользовательская переменная $DISH_SUM будет использована в формулах в качестве условия, что блюдо имеет нулевую стоимость.
В поле Formula переменной $DISH_SUM рассчитывается стоимость блюда через операцию умножения кол-ва порций и стоимости блюда: $QUANTITY*$PRICE
Далее рассмотрим создание/редактирование пользовательской функции - выбираем в списке функцию $DNAME и вызываем операцию Edit:
В окне редактирования функции доступны следующие разделы и поля:
- Name - название функции
- Type - тип функции (см. ниже)
- Раздел для определения расчета значения функции
Тип (Type) определяет метод расчета функции:
- IF - значение функции зависит от условия, определяемого значением другой переменной или функции
- Length - функция возвращает значение, равное длине переменной или функции
Важно: Условие IF возращает истину (True) только в том случае, если значение переменной строго больше нуля - если значение 0 или отрицательное, возращается False.
В рассматриваемом примере функция $DNAME имеет тип IF, т.е. зависит от условия, определяемого значением переменной $PRICE.
Словесно формулу для функции $DNAME можно представить след. образом:
Если (IF) переменная $PRICE больше нуля (т.е. стоимость блюда не нулевая), тогда (THEN) функция $DNAME возвращает значение системной переменной $DISH_NAME - в других случаях (ELSE) функция $DNAME возвращает "пустое" значение (т.е. на чеке название блюда не печатается)
Функции $QNT, $DSUM и $ANAME реализованы аналогичным образом - их значения зависят от переменной $PRICE, которая определяет стоимость блюда.
Назначение печатных форм
Наименование макета | Назначение | Примечание |
BLNSREP.FRM | Системный балансовый отчет | |
BLNSWAIT.FRM | Балансовый отчет по официанту | |
CARDPUT.FRM | Внесение денег на карту | |
CARDTAKE.FRM | Изъятие денег с карты | |
CASHOPER.FRM | Краткий отчет по кассовым операциям | |
CASHPUT.FRM | Внесение денег в кассу | |
CASHTAKE.FRM | Изъятие денег с кассы | |
CCHECK.FRM | Чек при оплате банковской картой | |
CONSREP.FRM | Отчет по консумации | |
CREMOVE.FRM | Удаление чека | |
CRESTORE.FRM | Восстановление чека | |
DELREP.FRM | Отчет по удаленным чекам | |
DISCREP.FRM | Скидки / Наценки на чеки | |
EXPREP.FRM | Общий расход блюд | |
EXPREPCM.FRM | Общий расход блюд | форма аналогична EXPREP.FRM |
FCHECK.FRM | Финальный чек | Может иметь несколько модификаций:
|
FCREMOVE.FRM | Удаление чека | |
FCRESTOR.FRM | Восстановление чека | |
FICHECK.FRM | Финальный чек | Печать нефискального финального чека |
LCLOSE.FRM | Отчет закрытия дня станции | |
LDSREP.FRM | Отчет по консумации | |
MONEY.FRM | Общая выручка | |
PCALLCH.FRM | - | Форма на основе FCHECK.FRM |
PCCCHECK.FRM | Контрольный чек для карты | |
PCONSREP.FRM | Отчет по консумации | |
PCPCHECK.FRM | Пречек для карты на входе | |
PDISCREP.FRM | Отчет по персональным скидкам | |
PEXPREP.FRM | Общий расход блюд по категориям | |
PMONEY1.FRM | Выручка по официантам | |
PMONEY2.FRM | Выручка по кассиpам | |
PMONEY3.FRM | Выручка по станциям | |
PMONEY4.FRM | Выручка по подpазделениям | |
SDREP.FRM | Отчет по специальным блюдам | |
SERVPRN.FRM | Сервис-печать | |
SERVREMN.FRM | Сервис-печать: напоминание | |
TIMEREP.FRM | Почасовой отчет | |
VOIDSREP.FRM | Отказы из чеков | |
XREPORT.FRM | X-отчет | |
ZREPORT.FRM | Кассовый балансовый отчет |