Просмотр полной версии : Проблема со скидками.......
Народ помогите пожалуйста!!!!!
Оченя надо.........
Настроил ПДС прописал скидку 5%.......
картой провожу
скидка не осуществляется....
Что делать....
может дело в кодировке карты
она должна соответствовать коду ресторана.
Напишите поподробнее пожалуйста
как мне настроить эти скидки
оченя надо.......
Проверьте, как намагничена карта, в ДОСе.
Должно быть: 778=код ресторана=номер карты
Недавно столкнулись с нерабочими картами как раз из-за неправильного намагничивания.
Напиши пожалуйста поподробнее
как посмотреть через DOS
как намагничена карта
Грузите любую станцию без загрузки кипера (закомментируйте rkeeper6.exe в autoexec.bat). Как увидите командную строку - катайте карту, увидете, что на ней намагничено.
Как вариант, если с досом у Вас плохо и есть отдельная клавиатура с читалкой - цепляете к компу, открываете текстовый либо табличный редактор и катаете карту.
Карта намагниченна таким образом.
ж778код_ресторанакод_карты
цифры пишутся слитно.без пробела.
знака равно нету. как правильно должна быть намагниченна карта?
Персональные Дебетовые карты: (использует CARDSERV)
778=xxxxxxxx=yyyyy
где 778 - ID, что это персональная дисконтная
(дебетовая, платежная, клубная)карта.
= - разделитель
xxxxxxxx - восьмизначный код ресторана из
SYSTEM.DB, что находится на кассовом
сервере в DATABASE. На карточку заносится
БЕЗ ТОЧКИ (в SYSTEM.DB xxxx.xxxx ).
Если открыть SYSTEM.DB с помощью
SETCODAT.EXE, то это шестой пункт.
yyyyy - код карты, который и заносится в
PCARDS.EXE. Max 8 цифр, но в приципе
желательно max 5
Знак "равно" должен быть. У Вас неправильно закодированы карты. Воспользуйтесь fixlen.dll:
Модуль реализован в виде DLL файла FIX_LEN.DLL.
Необходимо скопировать данную DLL на все кассы и официантские станции в папку EXTENS, которая находится в рабочей папке RKCLIENT.
В RKEEPER6.INI, на каждой кассе и официантской станции, добавить строку с «маской» ваших карт. Формат записи:
FIX_LEN_MASK=12**NNNN
Где, FIX_LEN_MASK – имя переменной. Если DLL переименовали, то вместо FIX_LEN, пишется новое имя DLL.
12, в данном случае, а вообще любые цифры от 0 до 9 – постоянный идентификатор. Может находиться в любых местах, но на всех ваших картах одинаковый.
* - любые символы, в любом количестве, в любом месте. Программа будет игнорировать символ, находящиеся на месте звездочки.
N – любые цифры от 0 до 9, общее количество не более 9. Программа данные символы будет воспринимать как номер карты.
Примеры:
1.Есть карта с записью на второй дорожке 34910431234, где первый, второй и пятый символы – постоянные. Последние два символа и третий ничего не значат. Номер содержится в четвертом и с шестого по девятый символах. Запись в RKEEPER6.INI для этих карт:
FIX_LEN_MASK=34*N0NNNN**
2.Карта проще – 7002345. Где 7 – постоянный символ на всех подобных картах. Номер – остальные символы. Запись в RKEEPER6.INI для этих карт:
FIX_LEN_MASK=7NNNNNN
Можно, кстати, ограничить в RKEEPER номера карт при помощи маски. Для вышеприведенной карты, например. Мы хотим, что бы в RKEEPER-е работали карты только с 0 во втором символе. Тогда маска такая:
FIX_LEN_MASK=70NNNNN
Все.
Слушай у меня вот так
ж778кодресторана(8 знаков)кодкарты(6 знаков)
все ли правильно и что это за ж перед 778
И почему код карты 6 знаков...............
fix_len позволяет "натянуть" любую маску ПДС карты...
пример:
имеем карты вида: 1230001123, 1230002123, 1230003123 ... 1239999123
fix_len.dll позволит нам прописать и такие карты ПДС, где 778 и вовсе нет...
FIX_LEN_MASK = 123NNNN123
буква "Ж" - это видимо префикс ";" зашиваемый в карты (ничего в себе не несущий)
Слушай у меня вот так
ж778кодресторана(8 знаков)кодкарты(6 знаков)
все ли правильно и что это за ж перед 778
Нет, я же написал. Не правильно. Нет разделителя (равно) и скорее всего неверно намагничен символ ";" - вместо него "ж".
Код карты может быть шестизначным.
Вам нужен fix_len. Инструкцию читайте ранее. Настроить надо так:
FIX_LEN_MASK = *код_ресторанаNNNNNN
Может быть (ж) все таки верно
просто у меня стоит puntoswitcher
и при катании карты он считывает ;
как букву ж или наоборот
Ну, fix_len нужен по-любому, а я для дого и прописал * в начале, чтобы символ был не важен.
А пунтосвитчер при прокатывании можно и отключить. Чтобы точно знать, что у Вас на карте!
ж778кодресторана(8 знаков)кодкарты(6 знаков)
FIX_LEN_MASK = 778кодресторана(8 знаков)NNNNNN
; - не прописывается... это ПРЕФИКС, он не учитывается
ммм... если там вместо ";" все-таки закодирована "ж", то боюсь, что она за префикс не покатит. Придется учитывать.
Следующая проблема
Намагнитил карты по принципу
778=xxxxxxxxx=yyyyyy
толку то
завожу стол делаю заказ провожу картой
вылезает ошибка
нет соединения
с карт сервером
что делать помогите
нууу...
сервер кассовый где находится? На сервере правильно указан сервер карт?
Сервер карт вообще запущен?
Кассовый сервер находится на станции бармена.........
Напишите пожалуйста подробные настройки
Сервера карт..........
Сервер карт идет с автозапуском и висит всегда в трее
Он запускается на менеджерской станции.
И почему тогда карты персонала он без проблем видит
и читает а дисконтные не хочет (нет соединения с сервером карт)
В R-keeper reports он выдает
Сервер карт: не найден
NB Error 14H Server not found:PCServ
Потому что карты персонала работают не через сервер карт. Сервер карт нужен только для дисконта.
По настройке, ловите полный мануал:
Установка и “апгрэйд” сервера “Персональных карт”.
(Супер новая редакция.)
Данный файл написан для примера и в конкретном ресторане настройки могут отличаться.
Инсталляция:
1.Копируем из инсталляции папку CARDSERV куда-нибудь, например в RK6 или просто на диск “C”. В нее (CARDSERV) копируем из инсталляционной папки PERSCARD\DLL все дллельки, которые там есть.
2.Копируем из инсталляционной папки PERSCARD\PCARDS в RK6 все файлы и каталоги, которые там есть (кроме BILLIARD и NULL), заменяя существующие файлы. Туда же, в RK6, копируем из инсталляционной дир. DLL все дллельки, за исключением RNBOPEN.DLL.
3.Открываем в ново созданной дир. CARDSERV файл CARDSERV.INI и настраиваем его следующим образом:
[DB]
File = card.udb
DayBound=4:00
Backup = BACK
[LinkDLL]
1 = RNBOpen
2 = RNetBios
3 = RLocal
4 = RTcp
[RNBOpen]
Server = AServ
[RNetBios]
Server = PCSERV
[RTcp]
Port = 3456
[RLocal]
Port = 0 (это цифра НОЛЬ)
Где: BACK – это папка для бэкапа базы. Можно назвать по-другому.
AServ и PCSERV – это имена сервера (CARDSERV) по протоколам RNBOpen и RNetBios. Имена должны состоять из латинских букв или цифр. Размер букв ВАЖЕН. Данные имена не должны присутствовать ни где больше в данной компьютерной сети. То есть так НЕ ДОЛЖНЫ называться ни один компьютер, ни кассовый сервер и т.д. Другими словами имена сервера должны быть УНИКАЛЬНЫЕ.
3456 – порт TCP/IP. Можно указать любой свободный, начиная с 1024. Вообще протокол RTcp используется, только если на компьютере есть TCP/IP. Если его нет, то раздел [RTcp] и 4 = RTcp можно удалить.
RLocal используется только если CARDSERV и “Reports Rkeeper”, а также PCards находятся на одном компьютере.
RNBOpen – протокол, только для КАССОВОГО сервера. Соответственно там, где стоит CARDSERV, обязательно должен стоять сетевой протокол NetBeui.
4.Открываем RKEEPER.INI в RK6 (на “менеджерском” компьютере) и настраиваем его в зависимости от конфигурации.
4.1 Если CARDSERV.EXE запускается там же, где находится “Менеджерская”, то файл RKEEPER.INI настраиваем так:
[Common]
Alias1 = c:\rk6\db
Alias2 = c:\rk6\db
[PCards]
CSLinkDLL = RLocal
CSLinkGate = 1
[Reports]
CSLinkDLL = RLocal
CSLinkGate = 2
[RLocal]
Port1 = 0 (это цифра НОЛЬ)
Client1 = PersonCard
Port2 = 0 (это цифра НОЛЬ)
Client2 = Report
4.2 Если CARDSERV.EXE запускается на отдельной машине (например на сервере), то файл RKEEPER.INI настраиваем так:
[Common]
Alias1 = c:\rk6\db
Alias2 = c:\rk6\db
[PCards]
CSLinkDLL = RNetBios
CSLinkGate = 1
[Reports]
CSLinkDLL = RNetBios
CSLinkGate = 2
[RNetBios]
Server1 = PCSERV
Client1 = PersonCard
Server2 = PCSERV
Client2 = Report
Где: Alias1 и 2 указывает туда же, куда соответствующие Alias-ы в RKEEPER6.INI на “Менеджерском” компьютере в RK6.
Server1, 2 (именно то, что после знака “=”) – имя сервера CARDSERV по протоколу RNetBios из CARDSERV.INI
Client1, 2 (именно то, что после знака “=”) – имена клиентов. Имена клиентов могут быть любые, но УНИКАЛЬНЫЕ.
Иногда бывает, что при подключении PCards пишет о невозможности подключения к серверу. Мол, сервер не найден. Тогда может вам понадобится добавление строк Adapter1, 2 и т.д. в раздел [RNetBios]. Тогда раздел будет выглядеть так:
[RNetBios]
Server1 = PCSERV
Client1 = PersonCard
Adapter1=3
Server2 = PCSERV
Client2 = Report
Adapter2=3
Цифра после “=”, это номер адаптера по протоколу NetBeui (Lana num).
Если у вас Windows NT, 2000 или XP, то поиск номера можно производить, используя утилиту Nba-find.exe из инст. дир. KACCA\SERVER\32-NT\NBA.
Там есть ее описание.
Если у вас Win 9X или Me, то там номер 0, 7, ну или 6. Так же можно найти при помощи Редактора Реестра (Regedit.exe). По разделу HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NetBios находим “ncacn_nb_nb0”. Значение этого параметра и будет нужный номер адаптера.
Утилита Nba-find.exe в Windows 9X или Me работает не коректно!
5.В заключении настройка на кассовом сервере. В директории, где находится кассовый сервер, открываем RKEEPER6.INI (если его там нет, то создаем) и добавляем туда строку:
APServer=AServ (здесь после “равно” пишется имя сервера CARDSERV для RNBOpen из CARDSERV.INI).
Если сервер на NT, то это, скорее всего дир. RKSERVER. Если сервер на кассе, то файл RKEEPER6.INI в рабочей дир. RKCLIENT.
6.При использовании карт, как “Платежные”, необходимо в “Редакторе Rkeeper” создать новую валюту в группе “PrePay” (Безнал. оплаты). Назвать ее можно как угодно, например “Клубная карта”. Данное название будет фигурировать в чеке. На закладке “Авторизация” необходимо выбрать “БОНУС КАРТА”
.
7.На картах, используемых “ПДС”, находится код ресторана (помимо другой информации). Если не знаете код ресторана из SYSTEM.DB, откройте его с помощью SETCODAT.EXE и перепишите себе (или пропишите новый код ресторана) по пункту номер 6 в SETCODAT. В SYSTEM.DB код должен быть через точку после 4 цифры (1234.5678). Этот же код должен быть на платежных (скидочных) картах этого ресторана, причем слитно, без точки.
8.Ярлык для CARDSERV.EXE следует засовывать в Автозагрузку только для WIN NT или WIN 2000. Для WIN95 или 98 - нажать правую кнопку мыши на закладке Database в открытом CADSERVER-е и выбрать Autostart.
9.Если необходимо иметь одну базу карт(CARD.UDB) на два и более
ресторанов, то можно воспользоваться новым сервером FARCARDS.EXE, описание которого, а так же сам он, находятся в PERSCARD\FARCARDS.
Для нашего варианта использовать режим (type) 1.
Апгрэйд.
Файл UP_ROSIN.EXE используется только в ресторанах РОСИНТЕР-а!!!
Перед апгрейдом необходимо сохранить старую директорию CARDSERV, на всякий случай!
Если в ресторане уже стоит CARDSERV.EXE, то необходимо сделать следующие действия:
1.Выключить работающий CARDSERV (открыть CARDSERV, выбрать закладку Protocols, в любом месте “сетки” с протоколами нажать правую кнопку мышки и выбрать shutdown).
2.Заменить DLL файлы связи на новые везде, где они есть. Имеется в виду
RNetBios.dll и так далее.
3.Заменить на новый CARDSERV.EXE.
4.Заменить на новые PCARDS.EXE, PCARDS.DAT, а лучше, скопировать все, что находится в новой директории PERSCARD\PCARDS.
5.Скопировать файлы DOPPEL.EXE и CARDUP.EXE из новой директории PERSCARD\UPGRADE в директорию, где находится CARDSERV.EXE.
6.Запустить DOPPEL.EXE и выполнить его.
7.Запустить CARDUP.EXE и выполнить его.
8.Запустить CARDSERV.EXE.
9.Работать дальше.
10.Необходимо иметь в виду, что файлы могут быть разбросаны в разных местах. Например, PCARDS.EXE в директории RK6, CARDSERV.EXE вообще может находиться на другом компьютере.
Особый случай при апгрэйде. Используется, при апгрэйде ОЧЕНЬ старой версии RKEEPER-а. Таких версий в ресторанах практически уже не осталось. Но на всякий случай:
В ресторане мог стоять старый сервер “Платежных карт” ( PCSERVER.EXE ). Узнать это можно несколькими способами:
a.В RKEEPER6.INI на кассовом сервере присутствует строка APServer=
b.Есть ярлык этого экзешника, а также запущенное окно
c.Спросить у персонала
Этот апгрэйд описан у Шашкова А. в директории PERSCARD\UP-OLD инсталляции в файле README.TXT. Там же смотреть, если старого сервера “Платежных карт” не было, а есть только “Дисконтные карты”.
Далее некоторые дополнения в “Приложении”.
ПРИЛОЖЕНИЕ
Если есть желание подключить “PCards” и “Отчеты” по разным сетевым протоколам (NetBeui и TCP/IP), то файл RKEEPER.INI в RK6 может выглядеть так:
Допустим, PCards подключается по TCP/IP, а Reports(отчеты) по NetBeui. Тогда RKEEPER.INI, может быть такой:
[Common]
Alias1 = c:\rk6\db
Alias2 = c:\rk6\db
[PCards]
CSLinkDLL = RTcp
CSLinkGate = 1
[Reports]
CSLinkDLL = RNetBios
CSLinkGate = 2
[RTcp]
Server1 = 196.196.196.10 (это IP адрес компьютера, где запускается CARDSERV.EXE). Сюда можно написать и имя компьютера
Port1 = 3456
Client1 = PersonCard
[RNetBios]
Server2 = PCSERV
Client2 = Report
Если в CSLinkDLL используются разные протоколы (так как выше), можно в CSLinkGate не использовать разные номера и соответственно в Client, Server, Port, Adapter.
И последнее:
Если PCards находится на одном компьютере, а “Менеджерская” с “Reports” на другом, то в RK6 достаточно отредактировать RKEEPER.INI, который там уже есть и имеет вид примерно такой:
[Reports]
CSLinkDLL=RTcp
CSLinkGate=1
[RTcp]
Server1 = 192.192.192.23
Port1 = 3456
Client1 = Reports
Просто Reports берет Alias-ы из RKEEPER6.INI в RK6. Ну и конечно надо обязательно присутствие соответствующей CSLinkDLL дллельки связи, RLocal, RNetBios и т.д. В файле RKEEPER.INI, который находится вмести с PCards, в этом случае, не должно быть раздела [Reports] и конечно информация о сервере и клиенте должна быть только для PCards:
[Common]
Alias1 = \\manager\menu6
Alias2 = \\manager\menu6
[PCards]
CSLinkDLL = RNetBios
CSLinkGate = 1
[RNetBios]
Server1 = PCSERV
Client1 = PersonCard
Все.
© А. Метелица 06.03.2003
Все. всем спасибо огромное. Все сделал. Нашел в чем косяк был. это в криворукости предыдущих инженеров.
тема закрыта
Powered by vBulletin® Version 4.2.6 LTS Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot