Показано с 1 по 7 из 7

Тема: Мегаинфопомощь

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Да, вы ЕЁ и видите. Аватар для Admin
    Регистрация
    01.11.2006
    Сообщений
    4,786
    Поблагодарил(а)
    5
    Благодарностей: 6 (сообщений: 4)

    Exclamation Мегаинфопомощь

    SETTAX
    Если возникает ошибка при установке нового налога с продаж [Калькуляция используется в документах расхода , или комплектациях ] - это значит , что они уже списали эти блюда со старым налогом. Лечится удалением этих документов .
    ========================================
    SHOUSE
    При открытии карточки блюда :
    [invalid variant type conversion] - Можно попробовать отключить автовычисление себестоимости .
    [Unsupported on disk structure] - Не та версия InterBase
    [Непавильная функция] - При печати товарной накладной - Обновить Кристал Репортс !
    ========================================
    Инвентаризация через кассу
    Это программа для проведения инвентаризации в барах через стоящую там кассу.
    Запускается под Windows.
    Для инвентаризации используется сканер штрих-кодов и, возможно, весы.
    Результаты инвентаризации передаются в StoreHouse через Shinvent.dll,
    предоставляемую Громовым.
    В rkinv.ini
    [Config]
    CharCode = - можно указать DLL для перекодировки, например (RUS, LITVA,...)
    если не указана - используется Windows.

    Для проведения инвентаризации нужно зарегистрироваться на кассе картой БАРМЕНА.
    После появления на экране списка столов провести картой бармена еще раз - тогда появится
    экран проведения инвентаризации .
    ========================================
    Комбинации клавиш на кассе
    [Alt + ящик] - Включение тарификации (в режиме кассира , без открытия стола)
    [Alt + количество] - Ввод кол-ва товара через подключенные к кассе весы.
    [Alt + ввод] - Ручной ввод карт .
    [Alt + скидка ] - Скидка по картам ISD
    [Alt + меню] - Для входа в меню TIMEKEEPER .
    [Alt + оплата] - Для карты на входе вываливаемся в мастер чек .
    [Alt + предчек] - Быстрый чек .
    [Alt + выход] - Для внутреннего использования . Если загружен grabber.dll - снимает скриншот , и кладет его в RKCLIENT .
    ========================================
    Новые настройки RKEEPER6.INI
    ************************************************
    Новые настройки RKEEPER6.INI
    ************************************************
    [WaiterCloseAnyTable = ON] - Карта на входе. Позволяет БАРМЕНУ работать со столами , открытыми другими барменами .
    [CanManualCardInput = ON] - Ручной ввод карт ПДС . ( ALT + ВВОД )
    [CanManualDiscInput = ON] - Ручной ввод дисконтных карт
    [CanManualRoomInput = ON] - Ручной ввод гостиничных карт
    [AcceptShortCard = ON] -
    [UnpayFiscal = OFF]
    [HotelFiscal = OFF] - Неплательщики , Гостиница , ПДС - не попадают в FISC.
    [ClubFiscal=OFF]
    [StartCurency = код валюты ] - Автоматический выбор валюты при оплате .
    __________________________________________________ _______________________
    [CheckSmartCardRest = ON] - Использование Смарт карт ISD . При ОN - невозможно открыть стол , не зарегистрировав карту ISD + проверка остатка на карте + скидка .
    [SmartDisc = ON] - Скидка по карте ISD (Работает ALT+Скидка)
    В редакторе заводится валюта с авторизацией "Смарт карта" . Скидка заводится , как для ПДС . Тип магнитной карты узнаем у представителей ISD .
    __________________________________________________ _______________________
    [CurDateInCheck = ON] - Для печати текущей даты , времени на чеке , предчеке .
    [CurDateInPrecheck = ON]
    [DiscOncePerCard = ON] - Использование карты ПДС один раз в день .
    [PreCheckNum = ON] - Печать номера предчека . В макет добавить VAT_NUM.
    [HiResolution = 2] - На touch-screen разрешение 1024 * 768
    [Colors = 2] - T - rue Colors на таче
    [InternalZ = ON,OFF] - На ШТРИХЕ печатать - не печатать Z отчет .
    [CrollToFprinter] - на СПАРКЕ разрешает перепечатку контрольной ленты .

    [ Colors = 0 ] - начиная с 58 версии (поставить - когда не стартует графика, т.е если станция не touch-screen ).
    [ManagerTransfer=OFF] - Запретить менеджеру перенос.
    [ManagerForManualCard=OFF] - Ручной ввод карт без регистрации менеджера .

    [PayCardNumOnFCheck] - номер и дата активации карты на входе на чеке
    [CardPaySystem= OFF] - Серверная настройка , позволяет отменить систему "Карта на входе" в пределах одной менеджерской и нескольких серверов (На одном , или нескольких серверах).

    [ NeedPayCardEnterCheck = OFF ] - Отмена печати "контрольного чека" для карты на входе.
    [ PayCardNumOnFcheck = ON ] - Печать номера и даты активации "Карты на входе" в чеке

    [ DateSeparator = знак ] - разделитель

    [ CCheckCutCardNo = ON ] - Запрещает печать полного номера карты при Авторизации .
    [NeedPayCardEnterCheck=OFF] - Отмена печати "контрольного" чека для карты на входе
    [DiscOncePerCard=ON] - Использование карты ПДС только один раз в день
    [EKLZprinter=<имя библиотеки>] -Указывает на возможность работы кассы с ЭКЛЗ (например EKLZprinter=Shfrk.dlll)
    [messages=Сообщение1\Сообщение2 \ Сообщение3\и т.д.]-позволяет выводить в заголовке окна периодически меняющиеся сообщения (для FastFood)


    ========================================
    Ошибки DocKill
    16-апр-2004 13:49:16
    ************************************************** ***
    [ IB-836 - exception76 ] - Номер документа должен быть уникальным
    Убрать настройку в Складе - Уникальный номер документа .
    ************************************************** ***
    [ IB-530 violation of foreign key constraint "C_BSTORE_MAINDOC_FK" on table "BOOKSTORE" ] -

    Зайти в SHLOCK и установить галку "Все документы доступны для изменения (открыть периоды).
    ************************************************** *****************
    [ IB-503 violation of FOREIGN KEY constraint "C_RS_MOVE_REF_FK" on table "RETSPECS" ] -
    Заходим в Склад- Список документов , оставляем галки Возврат и списание товаров , дату не указываем .
    Если последняя дата документа попадает в удаляемый период , то заходим в SHCHECK и удаляем
    эту таблицу "DELETE FROM RETSPECS" .
    select * from retspecs
    delete from retspecs where ret_ref in (....... , ........) . (числа из select).
    ************************************************** ****************
    [ IB-503 violation of FOREIGN KEY constraint "C_EDH_SBBOOK_FK" on table "EDHEADERS" ] -за удаляемый период есть
    счета-фактуры-заходим в склад и ручками их удаляем
    ************************************************** ****************

    [IB - 902 parameter mismatch for procedure SP_CHECKMAINDOCS] - Проверить SHCHECKOM .
    ************************************************** *****************
    [ivalid request BLR at offset 894 parameter mismatch for procedure SP_INSERTRECEIPTMOV] -
    поправить DDP.SQL - поиск процедуры (SP_INSERTRECEIPTMOV).
    ************************************************** *****************
    XSQLDA index out of range
    Возникает сразу при нажатии кнопки "Старт"-попытка обрезать старую версию складской базы (2.хх)
    новой версией DocsKill (для версий базы 3.хх)
    ************************************************** *****************
    (IB -530: violation of FOREIGN KEY constraint "C_MDL_CCH_REF_PK" on table "MOVEDISHLINKS")
    Выдает ошибку, если установлена галочка удалять калькуляционные карты.
    Обозначает, что на удаляемые калькуляции есть ссылки в комплектациях
    ************************************************** *****************
    Настройки пользователей: UserParams( Key violation. violation of PRIMARY or UNIQUE KEY constraint "C_UP_USER_NAME_PK"
    on table "USERPARAMS" ) - ERROR -параметры пользователей, связанный с У и У_
    ************************************************** *****************

    ========================================
    Ошибки UPGRADE SH
    ************************************************** *****************
    [invalid modify request unsuccesfully metadata update STORE RDB $ RELATION_FIELDS
    failed no permission for control access table ] - Нет прав . Если стоят все права у пользователя UCS, то резать SYSDBA .
    ************************************************** *****************
    Налог с продаж: SaleTaxDetail( Master record missing. violation of FOREIGN KEY constraint
    "C_STDETAIL_MOVES_FK" on table "SALETAXDETAIL" ) - ERROR
    Решение:
    select count(*) from SaleTaxDetail where MOVES_REF not in( select RID from Moves3 )
    delete from SaleTaxDetail where MOVES_REF not in( select RID from Moves3 )
    select count(*) from SBDetail where MOVES_REF not in( select RID from Moves3 )
    delete from SBDetail where MOVES_REF not in( select RID from Moves3 )
    ************************************************** *****************
    Moves3( Master record missing. violation of FOREIGN KEY constraint "C_MVS3_MAINDOCS_REF_FK" on table "Moves3" ) - ERROR
    Решение:
    select count(*) from Moves3 where maindoc_ref not in( select rid from maindocs3 )
    delete from Moves3 where maindoc_ref not in ( select rid from maindocs3 )
    ************************************************** *****************
    Спецификации расхода блюд: ExpDish( Master record missing. violation of FOREIGN KEY constraint "C_EXD_CCH_FK" on
    table "EXPDISH" ) - ERROR
    Посмотреть
    select * from expdish a where not exists ( select * from ccheaders b where a. ccheaders_ref = b.RID)
    Удалить
    delete from expdish a where not exists ( select * from ccheaders b where a.ccheaders_ref = b.RID)
    ************************************************** ******************

    ************************************************** ******************
    Master record missing. violation of FOREIGN KEY constraint "C_EXD_EDH_FK" on table "EXPDISH"
    select * from expdish a where not exists (select * from edheaders b where a.edheaders_ref = b.rid)
    delete from expdish a where not exists (select * from edheaders b where a.edheaders_ref = b.rid)
    ************************************************** *******************
    Спецификации расх.блюд: ExpDish
    ( Master record missing. violation of FOREIGN KEY constraint "C_EXD_MAINDOCS_FK" on table "EXPDISH" ) - ERROR
    select * from expdish a where not exists (select * from MAINDOCS3 b where a.MAINDOCS_ref = b.rid)
    delete from expdish a where not exists (select * from MAINDOCS3 b where a.MAINDOCS_ref = b.rid)
    ************************************************** ******************
    Key violation. violation of PRIMARY or UNIQUE KEY constraint "C_MVS3_RID_PK" on table "MOVES3"
    1-я причина : попытка повторно перекачать данные т.е. в базе уже есть данные;
    2-я причина : слетели индексы, сделать БЭКАП-РЕСТОР , при ресторе поставить галочку Deactivate Indexes
    ************************************************** ******************
    Ед.измы продуктов: GOODSMUNITS( Master record missing. violation of FOREIGN KEY constraint "C_GMU_GOODS_FK" on table "GOODSMUNITS" ) - ERROR
    В таблице GOODSMUNITS есть ссылки на несуществующие записи таблицы GOODS
    Поиск таких записей:
    select * from goodsmunits a where not exists ( select * from goods b where a.goods_ref = b.RID)
    Удалять их нежелательно, т.к. на этот товар могут быть ссылки в других таблицах. Луше вручнуб в таблице GOODS создать товары с найденными RID-ами
    ************************************************** ******************
    Master record missing. violation of FOREIGN KEY constraint "C_MDL_CCH_REF_PK:" on table "Movedishlinks" ) - ERROR
    возникает если выставлен флаг "удалять калькуляции"
    delete from movedishlinks a where not exists( select * from moves3 b where a.Moves_ref = b.rid)
    и удалять из недоудаленной базы без создания входящих остатков.
    ************************************************** *****************
    Ед.измы продуктов: GOODSMUNITS( General SQL error. exception 140 Неуникальный штрих-код ) - ERROR
    просмотреть штрих-коды
    select * from goodsmunits where barcode <>''
    если в поле barcode - дерьмо,
    update goodsmunits set barcode = ''
    ************************************************** *****************
    Заголовки расх.блюд: EDHEADERS( Master record missing. violation of FOREIGN KEY constraint "C_EDH_MONEY_FK" on table "EDHEADERS" ) - ERROR
    есть сылки на несуществующие валюты
    Выбор записей:
    select * from EDHEADERS where MONEY_REF not in (select RID from MONEY)
    Устанавливаем значение MONEY_REF в энайденных записях в NULL:
    update EDHEADERS
    set MONEY_REF=NULL where MONEY_REF not in (select RID from MONEY)
    ************************************************** ***************
    General SQL error. exseption 27 Неуникальный номенклатурный номер
    select * from Goods a, Goods b where a.rid<>b.rid and
    a.Abbr_text||cast(a.ABBR_NUMBER as varchar(15)) =
    b.Abbr_text||cast(b.ABBR_NUMBER as varchar(15))
    После выполнения скрипта смотрим, какие товары имеют одинаковый номенклатурный номер и в Складе изменяем их
    #select * from Goods where subconto_ref is null
    insert into subconto (name) values ('GOODS')
    update goods set subconto_ref = 1 where subconto_ref is null

    ************************************************** ***************


    Master record missing. violation of FOREIGN KEY constraint "C_DISHES2_CATEGORY_FK:" on table "DISHES" ) - ERROR
    Есть ссылки в блюдах на несуществующие категории
    выбираем несущ. ссылки
    select * from dishes2 a where not exists (select * from categories b where a.Category_ref= b.RID) and a.category_ref is not null
    обновляем ссылки на категории, устанавливая их в NULL (при повторной перекачке меню из R-Keeper они восстановяться)
    update dishes2 a set a.category_ref = NULL
    where not exists (select * from categories b where a.Category_ref= b.RID) and a.category_ref is not null -
    ************************************************** ****************
    Группы блюд: DishGroups( Master record missing. violation of FOREIGN KEY constraint "C_DISHGR_MENUGRREF_FK"
    on table DISH_GROUPS
    Решение
    select * from menu_groups -смотрим, какие RID-ы существуют.
    Также смотрим поле CORRESP_MENU_GROUP-смотрим на какие RID есть ссылки.
    Далее обновляем значения:
    update menu_groups
    set CORRESP_MENU_GROUP=null
    where CORRESP_MENU_GROUP=<указываем те значения, которые ссылаются на несуществующие RID>
    ************************************************** ***************
    Спецификации расхода взаимозаменяемых прод.: EXPREPLACEGOODS( Master record missing. violation of FOREIGN KEY constraint "C_ERG_ED_FK" on table "EXPREPLACEGOODS" ) - ERROR
    Проверить:
    select * from EXPREPLACEGOODS a where not exists ( select * from expdish b
    where a.EXPDISH_REF = b.RID)
    если есть, удалить
    delete from EXPREPLACEGOODS a where not exists ( select * from expdish b
    where a.EXPDISH_REF = b.RID)
    ************************************************** ****************
    Заголовки к.к.: CCHeaders( Master record missing. violation of FOREIGN KEY constraint "C_CCH_DISH_REF_FK" on table "CCHEADERS" ) - ERROR
    в калькул. картах есть ссылки на несуществующие блюда

    Решение:
    select * from ccheaders a where not exists ( select * from dishes2 b where a.dish_ref = b.RID)
    Затем удаляем эти ссылки
    ************************************************** ***************
    заголовки к.к.: CCHeaders( Master record missing. violation of FOREIGN KEY constraint "C_CCH_OMUNITS_REF_FK" on table "CCHEADERS" ) - ERROR
    в калькул. картах есть ссылки на несуществующие единицы измерения

    select * from ccheaders a where not exists ( select * from dishes2 b where a.omunits_ref = b.RID)

    Проблема может быть еще связана с тем, что в базу приемник не перекачалась какая-то из единиц измерения
    ************************************************** ***************
    Изменения Сумм НДС:
    SBDetail( Master record missing. violation of FOREIGN KEY constraint "C_SBDETAIL_MOVES_FK" on table "SBDETAIL" ) - ERROR
    В таблице SBDETAIL есть ссылки на пустые записи в таблице MOVES3
    Решение:
    select * from SBDETAIL a where not exists ( select * from MOVES3 b where a.MOVES_REF = b.RID)
    delete from SBDetail where MOVES_REF in (<значения через запятую MOVES_REF из предыдущего запроса>)
    ************************************************** ***************

    Заголовки расх.блюд:
    EDHEADERS( Master record missing. violation of FOREIGN KEY constraint "C_EDH_DR_FK" on table "EDHEADERS" ) - ERROR
    ************************************************** ***************
    ========================================
    Штрих - шапка чека
    Таблица 1
    Ряд-1 Поле-8 Отрезание чека 1
    Таблица-4 "Шапка чека"
    Ряд-5,6 Поле-1

    ООО "Калисто ТД" , Московская обл.
    Красногорск, 65-66 км. МКАД ТВК 2
    ========================================
    SHouse SQL
    Если в "Администраторе" при попытке открыть "Права пользователей" происходит "зависание", возможно слетели индексы для системных таблиц. Следующий скрипт их воостанавливает
    connect 'D:\Work\Sh_work\Express\Restore\IB_SH319_RESTORE. GDB' user 'UCS' password 'ucs';
    set term ## ;
    /* Индексы для системных таблиц интербейса от Borland */
    CREATE INDEX RDB$D_DON ON RDB$DEPENDENCIES (RDB$DEPENDED_ON_NAME)##
    CREATE INDEX RDB$D_DN ON RDB$DEPENDENCIES (RDB$DEPENDENT_NAME)##
    CREATE INDEX RDB$D_DNON ON RDB$DEPENDENCIES (RDB$DEPENDENT_NAME,RDB$DEPENDED_ON_NAME)##
    CREATE INDEX RDB$LF_FS ON RDB$LOG_FILES (RDB$FILE_SEQUENCE)##
    CREATE INDEX RDB$TR_ID ON RDB$TRANSACTIONS (RDB$TRANSACTION_ID)##
    CREATE INDEX RDB$TM_TN ON RDB$TRIGGER_MESSAGES (RDB$TRIGGER_NAME)##
    CREATE INDEX RDB$T_FN ON RDB$TYPES (RDB$FIELD_NAME)##
    CREATE INDEX RDB$UP_G ON RDB$USER_PRIVILEGES (RDB$GRANTOR)##
    CREATE INDEX RDB$UP_U ON RDB$USER_PRIVILEGES (RDB$USER)##
    CREATE INDEX RDB$UP_UG ON RDB$USER_PRIVILEGES (RDB$USER, RDB$GRANTOR)##
    CREATE INDEX RDB$VR_VN ON RDB$VIEW_RELATIONS (RDB$VIEW_NAME)##
    CREATE INDEX RDB$PR_N on RDB$PROCEDURES (RDB$PROCEDURE_NAME)##
    CREATE INDEX RDB$UP_RU ON RDB$USER_PRIVILEGES (RDB$RELATION_NAME,RDB$USER)##
    set term ; ##
    ************************************************** **********
    Установка значения генератора на занчение max+1
    select max(rid) from supplierbase -выбор текущего последнего значения
    set generator g_supplierbase to <полученое значение в предыдущем запросе+1>
    ************************************************** **********

    ========================================
    Ф-регистраторы
    С регистраторами помимо FPRINTER.DLL использовать нулевой FISCSUP !!!
    & MENUEXT.DLL из директории FPRINTER.DLL > MENUEXT !!!

    [InternalZ = ON,OFF] - На ШТРИХЕ печатать - не печатать Z отчет .
    [CrollToFprinter] - на СПАРКЕ разрешает перепечатку контрольной ленты .
    Menuext.dll - По карте Менеджера появляется окно "Функции ф-регистратора"
    "Взнос-Изьятие денег в кассу" , "Печать Х-отчета" И.Т.Д.
    __________________________________________________ _______________________
    *ШТРИХ-ФР-Ф*
    __________________________________________________ _______________________
    В Ini берет настройки:
    FiscRegCom = 1 - как обычно, номер COM
    FiscRegBaud = 4800 - скорость обмена
    FRCheckPsw = 1 - пароль режима чека
    FRRepPsw = 30 - пароль режима отчетов
    FRPay1 = 1 - как оформить чек, оплаченный Наличными
    0 - не делать чек
    1-4 - номер вида оплаты в ФР
    FRPay2 = 1 - как оформить чек, оплаченный Кредитной картой
    FRPay3 = 1 - как оформить чек, закрытый на Неплательщика
    FRPay4 = 1 - как оформить чек, закрытый на Безналичные
    если COM больше 4 то берет настройку ComXport
    Если DLL переименована, то добавляется спереди ее имя и подчеркивание. Например, ее назвали FP1.DLL, тогда:
    FP1_FiscRegCom = 1
    в FICHECK.FRM оставить только заголовок


    __________________________________________________ _______________________
    *СПАРК-617*
    __________________________________________________ _______________________
    [FRFULL=ON] - Позволяет перепечатку эл.журнала
    В Rkeeper6.ini берет настройки:
    FiscRegCom = 1 - номер COM
    FRPsw = 000000 - пароль управления ФР
    FRCashier = 11111 - пароль кассира
    FRPay1 = 8 - как оформить чек, оплаченный Наличными
    0 - не делать чек
    1-8 - номер вида оплаты в ФР
    FRPay2 = 7 - как оформить чек, оплаченный Кредитной картой
    FRPay3 = 0 - как оформить чек, закрытый на Неплательщика
    FRPay4 = 0 - как оформить чек, закрытый на Безналичные
    FICHECK.FRM не используется
    __________________________________________________ _______________________
    MSTAR-Ф 01 ПО 3.0
    __________________________________________________ _______________________
    В Rkeeper6.ini берет настройки:
    FiscRegCom = 1 - номер COM
    FRPsw = 0000 - пароль ФР
    FRPay1 = 1 - как оформить чек, оплаченный Наличными
    0 - не делать чек
    1-2 - номер вида оплаты в ФР
    FRPay2 = 2 - как оформить чек, оплаченный Кредитной картой
    FRPay3 = 0 - как оформить чек, закрытый на Неплательщика
    FRPay4 = 0 - как оформить чек, закрытый на Безналичные
    FICHECK.FRM не используется
    __________________________________________________ _______________________
    MSTAR-Ф 02 ПО 4.0
    __________________________________________________ _______________________
    В Rkeeper6.ini берет настройки:
    FiscRegCom = 1 - номер COM
    FRPsw = 0000 - пароль ФР
    FRPay1 = 1 - как оформить чек, оплаченный Наличными
    0 - не делать чек
    1-3 - номер вида оплаты в ФР
    FRPay2 = 2 - как оформить чек, оплаченный Кредитной картой
    FRPay3 = 0 - как оформить чек, закрытый на Неплательщика
    FRPay4 = 0 - как оформить чек, закрытый на Безналичные
    FICHECK.FRM не используется
    __________________________________________________ _______________________
    ========================================
    KACCA-ERRORS
    0 - Не запустился Paradox, часто плохой путь в local или плохие *.lck
    1 - нет файла Cashes.db
    2 - Нет конфигурации этой станции
    3 - Плохой формат макс/мин гостей
    4 - Не найден файл Printers.db
    5 - Не найден файл Usplink.db
    6 - Не найден файл Streams.db
    7 - Не найден файл Services.db
    8 - Не найден файл Printers.db
    9 - Для FF менее 2-х потоков
    10 - Не найден файл System.db
    11 - Нет директории "BmpFontPath"
    12 - Нет директории DataBase
    13 - Нет директории Results
    14 - Пустое меню
    15 - Пустой персонал
    16 - Проблемы со статьями расходов
    16-1 -Категория блюда в списке категорий отсутств (назв блюда при сообщ)
    17 - Защита N 4
    18 - Проблеммы сети
    19 - Не открылся Local.Db
    20 - Нет категории для какого-либо блюда
    21 - Не открылся eoday.db
    22 - Попытка работать после закрытия дня
    23 - Не открылась таблица
    24 - сетевое имя не получено при запуске
    25 - Get,Put,Append - Не прошел
    26 - RecCount - Не прошел
    27 - Не найден c:\dos\share.exe
    28 - Контроль версий файлов нарушен по share
    29 - Контроль к-ва записей
    30 - Не прошел PXSave
    31 - Не найдена карта для этого чека (при CardPay)
    32 - Плохое имя ресурса для внутренней печати
    33 - Ошибка создания таблиц внутренней печати
    34 - День сервера закрыт(или начато закрытие).
    Перегрузить сервер.
    35 - не найден файл языковой поддержки(работает как RunTime)
    36 - не найдено доступного меню
    37 - РАЗНЫЕ ВЕРСИИ СЕРВЕРА И КЛИЕНТА
    199 - как RUNTIME проблеммы с DLL
    ========================================

    ========================================
    Fix_Len
    ************************************************** ***************
    Использование системной библиотеки fix_len.dll
    ************************************************** ***************
    !Fix_Len рассчитан на работу с картами, на которых имеется минимум пять
    цифр, т.е. в записи на второй дорожке должны присутствовать минимум
    пять цифр, причем в любом порядке.
    --------------------------------------------------------------------------------------
    Описание модуля, позволяющего использовать практически любые магнитные карты, как Персональные дисконтно\депозитные карты R-KEEPER-а.
    --------------------------------------------------------------------------------------
    Модуль реализован в виде DLL файла FIX_LEN.DLL.
    Необходимо скопировать данную DLL на все кассы и официантские станции в папку EXTENS, которая находится в рабочей папке RKCLIENT.
    В RKEEPER6.INI, на каждой кассе и официантской станции, добавить строку с "маской" ваших карт. Формат записи:
    FIX_LEN_CARD=
    можно присвоить 0,1,2,3
    0 - персональная диск карта (по умолчанию)
    1 - неперсональная диск карта
    2 - гостиничная
    3 - карта на входе

    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
    ========================================


    SHOffice
    ************************************************** ***
    Установка UCS StoreHouse BackOffice
    ************************************************** ***
    (1)
    SH BackOffice устанавливается также как склад, т.е. устанавливаем необходимую версию InterBase (поддерживается следующие версии 4.1, 5.6, 6.5, но при совместной установке на один компьютер SHOffice и R-Keeper BackOffice Reports необходимо устанавливать InterBase 6.5, т.к. R-Keeper BackOffice Reports работает только под ним), устанавливаем Crystal Reports, BDE.
    !!!-ВАЖНО-!!! Библиотеку ibxp.dll необходимо записывать не в системную директорию Windows, а в директорию X:\Program Files\Borland\Interbase\UDF
    (2)
    Путь к базе данных прописывается так же как для SHouse в реестре,
    только используется раздел SHOffice.(это необходимо сделать "вручную", воспользовавшись программой regedit)
    Создаем раздел: \HKEY_LOCAL_MACHINE\Software\UCS\SHOffice
    Создаем в нем строковый параметр: DBPath
    Значение этого параметра=путь к базе SHOffice
    Создаем раздел: \HKEY_LOCAL_MACHINE\Software\UCS\SHOffice Administrator
    Создаем в нем строковый параметр: DBPath (значение аналогично предыдущему)
    Создаем в нем строковый параметр: AdmDBPath (путь к базе isc4.gdb)
    (3)
    Устанавливаем драйвер для электронных ключей Novex и работаем!

    (4)
    В программе SHOffice в разделе "Словари"->"Коды ресторанов" необходимо прописать все рестораны корпорации и присвоить каждому из них уникальный код, который потом прописываем в каждой локальной базе (см. ниже)
    (5)
    При заведении новых пользователей в локальной складской программе необходимо убирать у них все права на редактирование словарей (кроме "Списка блюд"-иначе будет невозможен импорт меня из R-Keeper). Это очень важно, т.к. при изменении каких-либо словарей системы в локальной базе приведет к ошибкам при транспорте данных из центрального офиса (SHOffice)
    (6)
    Существует два варианта exe-ников: shoffice.exe и shoffice_bde.exe. Разница между ними только в формате
    экпортируемых dbf-файлов (тот который _bde позволяет экспортировать файлы с длинными именами)
    (7)
    Последовательность закачки данных:
    1. Выгружаем из RKBO словари и передаем их на точки
    2. Выгружаем из SHOffice словари и передаем их на точки
    3. Закачиваем на точке (Trans32.exe) данные из RKBO в локальную
    менеджерскую
    4. Делаем импорт меню из локальной менеджерской в локальный склад
    5. Делаем "Импорт из StoreHouse BackOffice" (SHTrans.exe) в локальном
    складе
    -------------------------------------------------------------------------
    Некоторые настройки, необходимые для корректной работы SHOffice и локальных SHouse
    -------------------------------------------------------------------------
    /*Установка кода ресторана в локальной складской базе */
    update DatabaseParams
    set Rest_Code=1
    /*Для каждого ресторана выставляем свой код, который соответствует коду, заведенному в SHoffice (см. выше) */

    /*Установка следующего значения имеет смысл только в базе данных SHOffice, но там он еще не реализован. Применение этого парметра в локальной базе SHouse не имеет смысла. Установка этого параметра в ноль позволяет удалять данные в базе не физически, а только помечая их как удаленные*/

    update DatabaseParams
    set Eraser=0
    /*Устанавливаем одинаковую дату начала действия калькуляционных карт
    Эта дата должна быть одинакова во всех ресторанах и в центральном SHOffice*/
    select CC_Start_Date from DatabaseParams /*Выбор из базы значения */

    /* Обновление значения */
    update DatabaseParams
    Set CC_Start_Date="1-OCT-2003"
    /* Необходимо установить одинаковую единицу нормы
    закладки для блюд во всех ресторанах и в центральном SHOffice*/
    select Def_NMUnits_Ref from DatabaseParams
    /*Выбор текущего значения-по умолчанию 1-"порция"*/

    udate DatabaseParams
    set Def_NMUnits_Ref=1 /*Установка необходимого значения*/
    --------------------------------------------------
    Удаление документов в базе SHOffice
    --------------------------------------------------
    /*Удаление документoв в базе SHOffice за определенную дату */
    execute procedute sp_DEL_MAINDOCS
    SYS_FLAG,REST_CODE,DOC_DATE
    SYS_Flag - тип учета: 0-учет, 1- спец.учет.
    RES_CODE - код ресторана
    DOC_DATE - за какую дату удалять.
    /*Удаление расходов блюд за дату*/
    execute procedure sp_DEL_EXPDISH
    SYS_FLAG, REST_CODE, DOC_DATE
    SYS_Flag - тип учета: 0-учет, 1- спец.учет.
    RES_CODE - код ресторана
    DOC_DATE - за какую дату удалять.
    /*Удаление всех документов*/

    delete from MAINDOCS
    delete from GOODSCRC
    delete from MAINDOCS_HEAD
    delete from MAINDOCS_SUBCONTO
    delete from EXPDISH
    delete from RPT_DAYSEXPENSE
    delete from RPT_DISHEXPENSE
    delete from RPT_REASONSEXPENSE
    delete from RPT_SUNITSEXPENSE
    ************************************************** *******
    © UCS 02.08.2004
    ************************************************** *******
    Если есть необходимость импортировать меню в SHOffice не из RKeepr BackOffice Editor, а из менеджерской базы
    можно воспользоваться стандартных приложением SHTrans.exe, прописав путь к к базе данных SHOffice
    ========================================

    ************************************************** ***************
    Установка R-Keeper BackOffice Editor (Редактор)
    ************************************************** ***************
    Предназначение программы описано в файле rboman.txt, который находится в дистрибутиве
    Для работы данного приложения не требуется никаких СУБД (ни BDE, ни Interbase). Установка производится простым копированием директории RBO на жесткий диск и настройкой файла rbo.ini (необходимо указать путь к базе данных rbo.udb)
    Конфигурирование и настройка, а также заведение новых пользователей происходит в приложении Rbodisp.exe, при первом запуске которой необходимо ввести пароль дилера. Этот пароль для разных rbo.udb различный, поэтому каждый инсталятор или дилер должен получить соответствующую базу и пароль у Александра Шашкова (alex@ucs.ru), указав при этом в письме точную версию RBO
    В приложении "Диспетчер" также необходимо прописать наименование и код корпорации (Пользователь->Корпорация). Кодом корпорации является первые пять цифр (раньше было четыре) из общего кода ресторана, т.е. если организации выдан код 19999.0001, то кодом корпорации в этом случае является число 19999, а число 0001 является кодом конкретного ресторана. Т.к. при заведении кода корпорации в приложении "Диспетчер " есть возможность ввести только четыре цифры, то прописываются последние четыре цифры из присвоенного кода корпорации (на нашем примере это будет 9999, т.к. единица отброшена)
    Затем присваивается пароль новому диспетчеру (Пользователь ->Диспетчер), с помощью которого в дальнейшем можно заводить новых пользователей и их права
    В приложении Rboedit.exe необходимо прописать все рестораны корпорации (Файл->Рестораны) с указанием кода каждого ресторана (последние четыре цифры в общем коде ресторана,в нашем примере это 0001, для следующего ресторана 0002 и т.д.), а также указать каталоги рассылки, т.е. директории, куда будут записываться исходящие данные для локальных ресторанов
    ************************************************** **************
    © UCS 03.08.2004
    ************************************************** **************

    ========================================
    RemoteBoot
    Для поддержки PXE клиентов через DHCP необходимо установить "Опцию 60" (Windows 2000 Server)
    C:\WINDOWS\system32>netsh
    netsh>dhcp
    netsh dhcp>server \\<server_machine_name>
    netsh dhcp>add optiondef 60 PXEClient String 0 comment=PXE support
    netsh dhcp>set optionvalue 60 STRING PXEClient
    netsh dhcp>exit
    Программа которая создавала эту опцию в Win2000 в Win2003 не работает
    ========================================
    RK-Server
    Вопрос:
    В окне RK сервера мы видим такие две строки:
    "R-Keeper Transactions & Reports Server WIN32 for V 6.60a Queue Length0"
    " 0 0 "
    Что обозначяет две цыфры во второй строке? При работе касс они меняются
    Ответ:
    Первое число - количество необработанных запросов от клиентов в очреди
    Второе число - максмиальное время ответа на запос в сотых долях секунды
    ************************************************** **********
    ========================================
    Ошибки SHTrans

    ************************************************** **********
    IB -811: multiple rows in singleton select -появляется при импорте меню из R-Keeper в S-House (обозначает, что есть задублированные RK_SIFR)
    select * from Dishes2 a , Dishes2 b where a.RID< b.RID and a.RK_SIFR = b.RK_SIFR and
    a.MENU_GROUP_REF = B.MENU_GROUP_REF
    select * from Dishes2 a , Dishes2 b where a.RID<> b.RID and a.RK_SIFR = b.RK_SIFR and
    a.MENU_GROUP_REF = B.MENU_GROUP_REF
    после выполнения этого скрипта появиться список блюд, в которых задублированы RK_SIFR
    устанавливаем RK_SIFR этих блюд в null
    update Dishes2 set RK_SIFR=null where rid in (<перечень через запятую RID-ов тех блюд, которые выбрались в предыдущем запросе >)
    *********
    могут быть задублированны группы блюд (таблица DISH_GROUPS)
    выполняем:
    select * from Dish_groups a , Dish_groups b where a.RID<> b.RID and a.RK_SIFR = b.RK_SIFR and
    a.MENU_GROUP_REF = B.MENU_GROUP_REF
    после выполнения этого скрипта появиться список групп, в которых задублированы RK_SIFR
    устанавливаем RK_SIFR этих групп в null
    update dish_groups set rk_sifr = null where rid in (<перечень через запятую RID-ов тех групп, которые выбрались в предыдущем запросе >)
    ************************************************** ************
    Такая же ошибка может возникнуть при импорте меню, но при перекачке из таблицы categ.db. В таком случае использовать следующие скрипты:

    select * from Categories a , Categories b where a.RID< b.RID and a.RK_SIFR = b.RK_SIFR and
    a.MENU_GROUP_REF = B.MENU_GROUP_REF
    select * from Categories a , Categories b where a.RID<> b.RID and a.RK_SIFR = b.RK_SIFR and
    a.MENU_GROUP_REF = B.MENU_GROUP_REF
    после выполнения этого скрипта появиться список категорий, в которых задублированы RK_SIFR
    устанавливаем RK_SIFR этих блюд в null
    update Categories set RK_SIFR=null where rid in (<перечень через запятую RID-ов тех категорий, которые выбрались в предыдущем запросе >)

    ************************************************** ************

    Такая же ошибка может появляться при импорте расхода блюд (на таблице ACHECK.DB)-лечиться тем же скриптом, что и для menu.db (если не помогает, пробуем скрипт для categ.db)
    Если ошибка появляется при импорте расхода блюд на таблице ACHECK.DB, при этом происходит импорт возвратов,
    то необходимо выполнить следущий скрипт:
    update delreasons set EXT_CODE=NULL
    После выполнения скрипта обязательно импортировать заново меню

    Ошибка "IB-811: multiple rows in singleton select" может проявлятся при просмотре отчета "Список блюд". Проблема, скорее всего,
    в том, что на одном из блюд на закладке "Заголовок" установлено две галочки напротив складов списания (галочки определяют склад, по которому
    будет рассчитываться себестоимость). Проверить это можно с помощью следующего скрипта:
    select a.item_ref, a.item_type from paymentsoff_refs a
    where ( select count(*) from paymentsoff_refs b where a.Item_ref = b.Item_ref and a.Item_type = b.Item_type and b.Checked = 1) >1

    ========================================
    DocKill Info
    Еще раз про обрезание базы:
    1. Обрезаем базу с помощью DocKill. Если в конце появилась ошибка SP_CHECKMAINDOCS (а
    не просто SP_MAINDOCS), игнорируем ее, исправим ошибки потом
    2. Перекачиваем в чистую базу БЕЗ СТАТИСТИКИ (т.к. после обрезания
    старых докуметнов статистика по ним все-равно остается, то мы делаем
    перекачку сначала без статистики, а затем пересчет-таким образом
    избавляемся от лишнего мусора). Перекачка без статистики делается
    таким же образом, как и апгрейд, за исключением того, что в файле
    TRANSFER.TXT находим следующие строки:
    {move\ Статистика по документам: OutPtrs\ [300, 999]\ T\ OutPtrs\\ NO_GEN\ }
    {move\ Статистика по документам: Remns\ [300, 999]\ T\ Remns\\ NO_GEN\ }
    {move\ Статистика по документам: RemnsA\ [300, 999]\ T\ RemnsA\\ NO_GEN\ }
    и комментируем их или просто удаляем
    3. После перекачки без статистики запускаем SHCheck.exe, проверяем на
    ошибки и после окончания проверки и появления списка ошибок, нажимаем
    в любом месте окна правой кнопкой и выбираем пункт "Пересчитать все".
    После пересчета снова проверяем на ошибки, если необходимо исправляем
    ошибки и пересчитываем неверные очереди (чаще всего эту процедуру
    необходимо выполнять несколько-до полного исправления ошибок)
    Конечно, может быть ситуация, когда ошибки не исправяться, тогда
    необходимо смотреть тексты ошибок и разбираться более тщательно.
    И запомните-некоторые операции, особенно на больших базах, такие как
    проверка документов, пересчет всего, исправление ошибок,
    восстановление базы может длиться очень долго-будьте терпеливы-не
    прерывайте процесс!
    ************************
    24-09-2004 ©UCS
    ************************
    ========================================
    Ошибки SHouse
    ************************************************** *******
    /* Создание заголовков калькуляционных карт для блюд, у к-рых их нет */
    create procedure sp_CrtTmpHeaders
    as
    declare variable DISH_REF INTEGER;
    declare variable NMUNITS_REF INTEGER;
    declare variable TMP INTEGER;
    declare variable CARD_DATE DATE;
    declare variable STR varchar( 25 );
    begin
    select CC_START_DATE from DatabaseParams into :CARD_DATE;
    STR = null;
    for select RID from Dishes2 where RID not in( select distinct DISH_REF from CCHeaders )
    into ISH_REF
    do begin
    for select MUNITS_REF from CCItems where COMP_REF = ISH_REF and COMP_TYPE = 2 into :NMUNITS_REF
    do begin
    TMP = null;
    end
    execute procedure sp_InsertCCHeader( ISH_REF, :CARD_DATE, 1, :NMUNITS_REF,
    0, :TMP, :STR, 0, 1, :STR, 0, 0 ) returning_values :TMP;
    end
    end
    ************************************************** *********
    ib-913: deadlock - ошибка конкурентного доступа, т.е. с разных рабочих мест пытаются работать под одним и тем же пользователем
    ************************************************** *********

    ========================================
    Shouse 4.xx
    ************************************************** *********
    Если при запуске ib2sh.exe (апгрейд базы данных Склада 3.хх до версии 4.хх) появляется ошибка, необходимо
    использовать gds32.dll от 5-й версии Intebase (версия 5.6.0.29, размер 347 136 байт)
    ************************************************** *********

    ========================================
    CSHost
    Приветствую!
    Столкунулся со странной, на мой взгляд, вещью при работе с синхронизацией CSHost <> SynHost <> CardServ:
    Делаем 1-ую синхронизацию с цсхоста на чистую базу локал кардсерва.
    В результате получаем список карт в локале.
    Останвливаем локал кардсерв и кладем ему снова чистую базу
    Запускаем и снова делаем синхронизацию.
    А список карт НЕ ПРОГРУЖАЕТСЯ!!!
    Тогда затачиваем 2-ой локальный кардсерв с другим именем и делаем синхронизацию.
    Все зашибись! Только не попали карты у которых истек срок действия.
    Отсюда делаю вывод:
    1)Что список карт для отдельно взятого локального кардсерва можно прогрузить только ОДИН раз.
    2)Карты, у которых истек срок действия, в локал кардсерв не прогружаются.

    Ответ:
    Задача синхронизатора - не прокачивать через сеть ВСЕ карты и транзакции, а передать только НОВЫЕ.
    CSHost помнит - ЧТО он передавал своим клиентам в предыдущий раз и не станет с бухты-барахты слать то же самое.
    В том редком случае, когда локальная база сломалась и надо бы заново прокачать ВСЕ, применяется такой метод: в каталог, где лежит SynHost, записывается файл sysnum.sys. Нулевой длины. После этого запускается SynHost.
    Теперь насчет того, что "Карты, у которых истек срок действия, в локал кардсерв не прогружаются. "
    Ни фига подобного! Все прогружаются. Скорее "другое имя" уже ранее
    было использовано, и CSHost его помнил. И когда вы подцепились с ним - послал то новое, что появилось у него для этого имени.
    ========================================
    Последний раз редактировалось SH; 31.01.2011 в 07:15.

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •