Кассовый сервер накапливает информацию о чеках, заказах и других операциях кассовых станций в течение общей смены. Кассовый сервер выступает промежуточным узлом между кассовыми станциями и сервером справочников.

Установка кассового сервера

Установка подробно рассмотрена в других статьях. Установить кассовый сервер можно двумя способами:

Создание кассового сервера в менеджерской станции

Прежде чем запустить кассовый сервер, его необходимо создать в менеджерской станции и прописать его сетевое имя.

  1. Запустите сервер справочников
  2. Запустите менеджерскую станцию и авторизуйтесь в ней под Дилер ID.
  3. Перейдите в меню Сервис > Станции и Устройства
  4. В правой части окна выберите нужный ресторан, вызовите контекстное меню и выберите пункт Новый кассовый сервер
  5. Заполните поля свойств. Для запуска кассового сервера достаточно указать три параметра:
    1. Название
    2. Сетевой ID
    3. Статус
  6. Сохраните изменения.

Кассовый север создан.

Изменение конфигурационного файла кассового сервера

Конфигурационным файлом кассового сервера по умолчанию является RKEEPER.INI.

Файл RKEEPER.INI необходимо скопировать из папки \bin\win\ini\ в рабочую папку \bin\win\, где лежит MIDSERV.EXE.

При установке программы из инсталлятора сервер с конфигурационным файлом лежит в папке [путь установки\имя экземпляра\Rk7MidServer].

Названия сервера и конфигурационного файла могут быть произвольными, но при этом необходимо помнить, что по умолчанию сервер, если ему не указать какой INI-файл использовать, будет искать конфигурационный файл RKeeper.ini. Про использование других конфигурационных файлов читайте ниже в разделе Запуск.

Откройте файл RKeeper.ini и в секции [Config] пропишите следующие параметры:

  • RefServer = RK7SRV         ;;  имя сервера справочников, к которому подключается данный кассовый сервер. Равен параметру Server в файле RK7SRV.INI
  • Client = MIDSRV3001       ;;  сетевой ID кассового сервера согласно пункту 1. 

Содержание файла

[Config] основная секция.

В случае сервера на кассе в этой же секции прописываются параметры кассы — см. [Config] для кассовой станции

CashServer = MIDSERVER					; Сетевое имя кассового сервера
Client = MIDSERVER						; То же самое, для совместимости. Сетевое имя кассового сервера
RefServer = RK7SRV						; Сетевое имя сервера справочников
BasePath = ..\..\MIDBASE					; Путь к рабочей базе данных. Если кассовых серверов несколько, то для каждого кассового сервера должна быть своя уникальная папка и ее имя прописано в соответствующем ini-файле
RECREATEBASE = 0							; При 1 пересоздаёт рабочую базу при запуске, при –1 не пересоздает даже при смене версии
ArchivePath = (BasePath + ‘Archive\’)	; Путь к архиву чеков
InterfacePath								; Путь к интерфейсным DLL
TwoFilesMode = 0							; При 1 создаёт по два файла на коллекцию, переключая их. Повышается надежность, но увеличивается время сохранения файлов. Если есть постоянный доступ к серверу справочников, то 1 не имеет смысла.
ShortTimeout = 20000						; Максимальное время в миллисекундах выполнения сетевой операции над одним элементом
LongTimeout = 100000						; Максимальное время в миллисекундах выполнения сетевой операции над коллекцией
StartLang = .\midserv.rus				; Стартовый язык сервера касс, используется для отображения ошибок, возникающих до загрузки справочников («невозможно соединиться с сервером» и т. д.) после загрузки язык будет взят из группы параметров «Языковые Настройки».
KeepModules  = 0							; Оставлять список модулей загруженным в памяти. Актуально только для пары касса + сервер. По умолчанию для касса + сервер = 0, для простого кассового сервера = 1. Если к кассе + серверу планируется подключение по сети кассовых станций, необходимо выставить в 1.
FileSyncPath= (BasePath + 'Incoming\')	; Путь к папке, откуда надо забирать синхронизационные файлы
ERRORLOG = midsrv.stk					; Журнал ошибок
ErrorLogSize = 1048576					; Размер журнала ошибок
AlwaysZOnCommonClose = 0					; Необходимо ли печатать Z-отчет при закрытии общей смены даже если не было продаж
DebugMessages = ()						; Список кодов отладочных сообщений через запятую
WarningDiskFree=209715200				; При каком максимальном свободном месте на диске надо выдавать сообщение о нехватке свободного места на диске
PollEvents=0								; Необходимо ли вместо синхронизации по событиям периодически запрашивать у сервера верхнего уровня список произошедших изменений справочников. Для того, чтобы сервер справочников хранил эти изменения, в его .ini файле необходимо включить параметр EventCachePath
PollRepeatTime=60							; Периодичность в секундах запроса списка изменений, при Pollevents=1

DELPHI

Для решения проблемы c дублированием paybindings.uni предусмотрены следующие настройки:

  • NoUdbPacketMode — отключить пакетный режим при записи в work.udb. Реализовано в версиях 7.5.5.095, 7.5.6.037, 7.5.7.011
  • NoReuseUNI — отключить повторное использование UNI, освободившихся при расчете заказа. Реализовано в версиях 7.5.5.095, 7.5.6.037, 7.5.7.011
  • ExceptOnCheckUNI — отключить прерывания ПО и записать события в лог — ошибка 2220.

[NewBaseGenerators] — секция с начальными значениями последовательностей для новой базы.

Эта секция используется только при создании новой базы.

Можно задать начальные значения для следующих последовательностей (генераторов):

OpLogGen = 0 			; Внутренний номер записи в журнале операций, таблица OperationLog
SendFile = 0 			; Начальный номер файла при архивировании файла, отправленного на сервер справочников. Если такой уже есть, будет увеличен
VisitGen = 1000 		; Младшие 2 байта внутреннего номера визита. Старшие 2 байта заполняются из даты
CheckGen = 100000 	; Номер чека — поле CheckNum
CashInOutGen = 0		; Внутренний номер — поле UNI — документов внесения/выдачи, внутренний номер счета-фактуры
InvoiceGen = 0		; Номер счета-фактуры — поле InvoiceNum
KDSDishIDGen = 1		; Идентификатор строки-блюда для KDS — поле KDSIdent
OrderSessGen = 1		; Глобальный идентификатор пакета — поле UniqueID
PrintNumberGen = 0	; Печатный номер чека, если не используются фискальные регистраторы или фискальная память и если параметр «CommonPrintNumber» выставлен в True
CommonShiftNumber = N ; Номер, с которого должна начинаться нумерация смен. Параметр актуален когда необходимо пересоздать кассовый сервер, но продолжить нумерацию смен.
DELPHI

[NETKERN]  

Protocols=TCPSOC.dll	; localnet.dll
DELPHI

[TCPSOC]

PORT=2350   ; Порт для входящих соединений
DELPHI

[TCPDNS]

Не обязательно, но если задать будет подключаться быстрее, то же для кассы. Иногда необходимо, если не проходят broadcast сообщения или связь с сервером верхнего уровня осуществляется через интернет.

TEST_RK7SRV=127.0.0.1:3639
DELPHI

[UPDATE] — секция обновления сервера

Лицензирование

Кассовый сервер необходимо пролицензировать. Лицензия привязана к полному коду объекта и коду ключа. Без лицензии кассового сервера вы не сможете запустить кассовые станции.

Для начала внесите данные о коде объекта.

В менеджерской станции:

  1. Введите код корпорации.
    Для этого перейдите в меню Настройки > Параметры > Установочные > Код предприятия > Число
  2. Пропишите код ресторана.
    Для этого перейдите в меню Сервис > Станции и Устройства и выберите свой ресторан. В свойствах раскройте раздел Главное и впишите в поле Код число в соответствии с учетными данными для объекта с сайта l.ucs.ru.
Далее пролицензируйте кассовый сервер. Для этого:

  1. В своем ресторане нажмите перейдите в свойства созданного кассового сервера
  2. Перейдите в раздел Лицензирование - общее и нажмите на поле Ключ защиты - Физический номер
  3. Нажмите на самую правую кнопку , чтобы сгенерировать ключ, и подтвердите действие
  4. Нажмите правой кнопкой мыши на название кассового сервера 
  5. Выберите Действия > Сгенерировать запрос лицензии
  6. Появится поле Данные запроса лицензии. Скопируйте номер 
  7. Перейдите в систему лицензирования
  8. Перейдите в карточку объекта и нажмите на кнопку Новая лицензия
  9. В появившемся окне вставьте в поле Код запроса скопированный номер и нажмите Далее
  10. Нажмите  на кнопку Max date и введите количество кассовых станций, которые планируется использовать, а затем нажмите кнопку Далее
  11. Система сгенерирует лицензионный ключ. Скопируйте его 
  12. Вернитесь в свойства кассового сервера в менеджерской станции
  13. Раскройте поле Лицензирование - кассовые станции и вставьте в поле Лицензионный ключ скопированный ключ
  14. Сохраните изменения, чтобы лицензия сохранилась.

Если все сделано верно, то у полей Дата окончания лицензии и Количество станций появится соответствующая информация из системы лицензирования.

Для обновления r_keeper на версии 7.7.0.216 и выше, на количество пролицензированных кассовых станций на объекте необходимо получить лицензию на обновление.

Для новых объектов при покупке лицензии для кассового сервера лицензия на обновление прилагается бесплатно. Срок действия лицензии — 1 год, затем необходимо оплатить продление лицензии. Количество лицензий на обновление должно быть не меньше количества кассовых лицензий.

Уже подключенным объектам лицензию необходимо приобрести в соотношении одна лицензия на обновление на одну кассовую станцию. Подробнее читайте в статье Лицензия на обновление.

Запуск

Важно!

Первый запуск всегда должен выполняться от имени администратора и обязательно в качестве приложения. Для этого добавьте с параметр /desktop.

Исполняемым файлом кассового сервера по умолчанию является MIDSERV.EXE.

Запустите его как приложение с помощью файла midserv.exe /desktop. При успешном запуске в области уведомлений появится значок папки 

Кассовый сервер, так же как и сервер справочников, можно запустить и как службу. Для этого используйте параметр /install.

Запуск нескольких серверов

Установка нескольких кассовых серверов описана в отдельной статье.

Каждому кассовому серверу, созданному в менеджерской станции, соответствует свой каталог с рабочей базой work.udb и свой ini-файл с уникальным именем сервера. Путь к каталогу work.udb прописывается в параметре BasePath.

Если планируется запустить несколько кассовых серверов, то возможны следующие варианты:

  1. Запуск нескольких серверов с разными ini-файлами из одной папки \bin\win.
  2. Запуск каждого сервера из отдельной папки — копия папки \bin\win при установке из архива или из собственной папки при установке через инсталлятор.

Запуск из одной папки

Для запуска нескольких серверов из одной папки как приложений пропишите для каждого сервера параметр с названием ini-файла. Например:

  • midserv.exe /ininame:rkeeper1.ini /desktop — для запуска первого сервера
  • midserv.exe /ininame:rkeeper2.ini /desktop — для запуска второго сервера

Для запуска нескольких серверов из одной папки как установка службы, также пропишите параметр с названием ini-файла. Например:

  • midserv.exe /ininame:rkeeper1.ini /install — установка службы для первого сервера
  • midserv.exe /ininame:rkeeper2.ini /srvname:midserver2  /install — установка службы для второго сервера. Обязательно задайте новое имя службы!

В каждом ini-файле пропишите уникальное имя лог-файла для каждого сервера: ERRORLOG = midsrv.stk.

Запуск из отдельных папок

Для запуска нескольких серверов из разных копий папок \bin\win как приложений пропишите для каждого сервера параметр с путем к папке и названием ini-файла. Например:

  • C:\rk7\bin\win\midserv.exe /ininame:rkeeper.ini /desktop — для запуска первого сервера
  • C:\rk7\bin\win2\midserv.exe /ininame:rkeeper2.ini /desktop — для запуска второго сервера

Для запуска нескольких серверов из разных копий папок \bin\win как установок служб пропишите для каждого сервера параметр с путем к папке и названием ini-файла. Например:

  • C:\rk7\bin\win\midserv.exe /install — установка службы для первого сервера
  • C:\rk7\bin\win2\midserv.exe /srvname:midserver2  /install — установка службы для второго сервера. Обязательно задайте новое имя службы!

Синхронизация данных

В свойствах кассового сервера на менеджерской станции есть параметры, отвечающие за синхронизацию данных.

  • Автоматическое обновление — обновлять приложение автоматически
  • Online данные продаж — передавать online данные о продажах на уровень выше
  • Данные закрытых смен — передавать данные о продажах за закрытые смены на уровень выше
  • Справочники — обновлять данные справочников на данном сервере
  • БД модулей — обновлять БД приложений . Необходимо для обновления клиентов уровнем ниже.

Опции Автоматическое обновление и БД модулей, а так же Данные закрытых смен и Online данные продажи сделаны зависимыми, то есть если нет одного — нет другого. В будущих версиях, может, будут работать и по отдельности. Старый флаг OnLineСинхронизация — пока оставлен. Он отключает все виды синхронизации сразу, даже если новые флаги установлены.

Если необходимо отключить On-Line передачу чеков, но оставить закачку данных после закрытия общей смены, выберите один из способов:

  1. Глобально: отключите параметр OnLine сбор данных.
  2. Для кассового сервера: задайте интервал отправки online данных в 00:00.
  3. Для сервера отчетов: задайте интервал выгрузки online данных в 00:00.

Важно

Начиная с версии 7.4.21.27 в свойствах кассового сервера появилось свойство Проверять соединение, которое отвечает за вывод сообщения о потери связи кассового сервера с сервером верхнего уровня. По умолчанию эта проверка отключена.

Читайте также:

Следующий шаг:

Настройка кассовой станции.