Вводная информация

Практически все печатные документы, формируемые на станции 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 Финальный чек

Может иметь несколько модификаций: 

  • FCHECK_A.FRM
  • FCHECK_B.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 Кассовый балансовый отчет