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

Тема: Edelweiss и R-Keeper

  1. #1
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)

    Edelweiss и R-Keeper

    Тема, конечно, про Shelter, но Эдельвейс тоже для автоматизации гостиницы
    Итак, просто хочу объявить, что мы теперь умеем настраивать связку гостиничной системы Edelweiss с системой R-Keeper 6. Боевое крещение состоялось, так что кому нужно - обращайтесь. Как обычно для систем UCS, все нетривиально, так что проконсультировать вряд ли сможем, но на месте разобраться повторно, думаю, сумеем.
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  2. #2
    Разбирающийся Аватар для St@rch
    Регистрация
    31.01.2008
    Адрес
    50RUS
    Сообщений
    1,093
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Добавлю, что для дружбы кипера и эдельвейса нужна программа-связка, она стоит ДЕНЕГ
    The Emperor wants to control the outer space, Yoda wants to explore the inner space.That's the fundamental difference between the good and the bad sides of the Force!

  3. #3
    Новичок
    Регистрация
    13.07.2009
    Адрес
    Yekaterinburg
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)

    Smile

    Цитата Сообщение от SH Посмотреть сообщение
    Тема, конечно, про Shelter, но Эдельвейс тоже для автоматизации гостиницы
    Итак, просто хочу объявить, что мы теперь умеем настраивать связку гостиничной системы Edelweiss с системой R-Keeper 6. Боевое крещение состоялось, так что кому нужно - обращайтесь. Как обычно для систем UCS, все нетривиально, так что проконсультировать вряд ли сможем, но на месте разобраться повторно, думаю, сумеем.
    Очень интересно,.. а что дает сама по себе ваша связка.., какой принцип организации связи между Эдельвейсом и R-Keeper?
    Судя по слухам существует какой то модуль связи.. но как он работает и что позволяет для меня пока загадка..

    Тут на медне решая задачу организации безналичных оплат использовал счет Эдельвейса в качестве расчетного, т.е туда заносится депозит, и туда же попадают все проводки с ресторана, бара, кафе итд.. соответственно если на счете минус то проводка не проходит. К любому счету в Эдельвейсе можно привязать карту оплаты (в моем случае это ключи от замков Salto).
    Сам по себе R-Keeper связан с базой Эдельвейса через модуль к Farcards.
    Проект пока не доделан, т.к. заказчик выдвинул новое требование (сходу и в обход ТЗ) о сокращении операций со счетом, т.е. чтобы после резервирования номера и выписывании карты-ключа, карта автоматически привязывалась к последнему созданному счету гостя. Но так как в базе Эдельвейса никакой информации о ключах не нашел (видимо она сейвится Hams'ом в закрытую mdb-базу), вот счас сижу ломаю голову, что со всем этим добром делать, проект не принимают
    Последний раз редактировалось Jordan_fx; 26.03.2011 в 13:47.

  4. #4
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    Цитата Сообщение от Jordan_fx Посмотреть сообщение
    а что дает сама по себе ваша связка
    Она не наша, это стандартный модуль от разработчиков Edelweiss и dll для R-Keeper.
    Цитата Сообщение от Jordan_fx Посмотреть сообщение
    Судя по слухам существует какой то модуль связи
    Точно, существует. Собственно, Игорь (St@rch) об этом прямо написал.
    Цитата Сообщение от Jordan_fx Посмотреть сообщение
    но как он работает и что позволяет для меня пока загадка
    Вот тут доподлинно не отвечу.
    Информация от разработчика:
    "...архив с rk.dll. rk.ini и скрипт , который следует исполнить по БД отеля.
    Со стороны АСУ "Эдельвейс" следует так же настроить "привязку услуги" в конфигураторе:
    Конфигуратор -> меню "Interfaces" -> Настройка 1С -> Подразделения -> Дважды кликнуть на раздел "Ресторан" -> в поле Код 1С внести Слово "Restoran"
    Конфигуратор -> меню "Interfaces" -> Restoran Configaration -> Создать привязку к услуге.

    Описание функций rk.dll:
    Список экспортируемых функций:
    BYTE GetRoomInfo(LONG roomNum, char* listPerson, char* errtxt)
    BYTE GetMaxSum(LONG persID, LONG transactionID, double* aMaxCredit, char* guestName, char* roomNum, char* errtxt)
    BYTE Transaction(LONG persID,LONG transactionID,LONG checkNum,LONG waiterNum,LONG kassirNum,LONG guests,LONG unitNum,double aPrice,char* errTxt)
    BYTE CheckDetailInfo(LONG checkNum, char* info, char* txterr)
    BYTE DelTrans(LONG personID,LONG transactionID,LONG unitNum,double aPrice,LONG checkNum,char* errTxt)


    *Возвращается список персон с их persID в формате \x01SurName\x02persID\x01SurName\x02persID.... проживающих в одно комнате
    если все удачно то возвращается 0, если нет, то код ощибки.
    использует процедуру (call RKeeperGetRoomInfo('%s'),szRoomNum) {!!! Комната почему-то на входе функции идет как числовое значение?! а потом конвертируется в символьное}
    BYTE GetRoomInfo(LONG roomNum,
    char* listPerson, - возвращается список персон с их persID в формате \x01SurName\x02persID\x01SurName\x02persID....
    char* errtxt) - словесное описание латиницей.

    *Возвращает сумму кредита
    если все удачно то возвращается 0, если нет, то код ощибки.
    использует процедуру ("call RKeeperGetMaxCredit(%ld)", persID)
    BYTE GetMaxSum(LONG persID,
    LONG transactionID, - зарезервировано и не используется должно быть = 0 или же служеб инфа ресторанной системы
    double* aMaxCredit, - возвращает значение кредита
    char* guestName, - возвращает имя гостя
    char* roomNum, - возвращает номер комнаты
    char* errtxt) - словесное описание ошибки латиницей.

    *Заносит проводку от ресторана на счет конкретной персоны
    если все удачно то возвращается 0, если нет, то код ощибки.
    использует процедуру (call RKeeperToEdelweiss(%ld,%ld,%ld,%ld,%ld,%ld,%ld,%.2 f), - использует InsertAccountContent
    persID,
    transactionID,
    checkNum,
    waiterNum,
    kassirNum,
    guests,
    unitNum,
    aPrice);
    BYTE Transaction(LONG persID, - id интересующей нас персоны (полученное при вызове GetRoomInfo)
    LONG transactionID, - зарезервировано и не используется должно быть = 0 или же служеб инфа ресторанной системы
    LONG checkNum, - видимо номер чека (инфа известная ресторанной системе)
    LONG waiterNum, - код официанта
    LONG kassirNum, - номер кассира
    LONG guests, - зарезервировано и не используется должно быть = 0
    LONG unitNum, - используется как информация при занесении проводки в аккаунтконтент
    double aPrice, - price
    char* errTxt) - словесное описание ошибки латиницей.

    *Дополнительная информация по чеку, которая будет записана в поле AccountContent.MEMOFLD
    если все удачно то возвращается 0, если нет, то код ощибки.
    в ВД update AccountContent set MEMOFLD = '%s' where RKeeperCheckNum = checkNum; %s = MEMOFLD {info}
    BYTE CheckDetailInfo(LONG checkNum,
    char* info, - дополнительная информация, которая будет записана в поле AccountContent.MEMOFLD
    char* txterr) - словесное описание ошибки латиницей.

    *Помечает ранее занесенную проводку ресторана, как удаленную
    если все удачно то возвращается 0, если нет, то код ощибки.
    использует процедуру (call RKeeperDelTrans(%ld,%ld,%ld,%.2f,%ld),
    personID,
    transactionID,
    unitNum,
    aPrice,
    checkNum);
    {все что она делает так это: update AccountContent set Deleted = 1 where RKeeperCheckNum=a_CheckNum and OrgPrice=a_FullSum;}
    BYTE DelTrans(LONG personID, - id интересующей нас персоны (полученное при вызове GetRoomInfo)
    LONG transactionID, - зарезервировано и не используется должно быть = 0
    LONG unitNum, - зарезервировано и не используется должно быть = 0
    double aPrice, - сумма ресторана
    LONG checkNum, - номер ранее пробитого чека
    char* errTxt) - словесное описание ошибки латиницей.

    *Восстанавливает ранее удаленную проводку ресторана на счету конкретного гостя
    если все удачно то возвращается 0, если нет, то код ощибки.
    использует процедуру call RKeeperRestoreTrans(%ld,%ld,%ld,%.2f,%ld),
    personID,
    transactionID,
    unitNum,
    aPrice,
    checkNum);
    {все что она делает так это: update AccountContent set Deleted = 0 where RKeeperCheckNum=a_CheckNum and OrgPrice=a_FullSum;}
    BYTE RestoreTrans(LONG personID, - id интересующей нас персоны (полученное при вызове GetRoomInfo)
    LONG transactionID, - зарезервировано и не используется должно быть = 0
    LONG unitNum, - зарезервировано и не используется должно быть = 0
    double aPrice, - сумма ресторана
    LONG checkNum, - номер ранее пробитого чека
    char* errTxt) - словесное описание ошибки латиницей. "

    Еще раз отмечу, что кроме dll для R-Keeper (в архиве) нужна еще платная связка от Edelweiss!
    Вложения Вложения
    • Тип файла: zip rk.zip (165.1 Кб, Просмотров: 12)
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  5. #5
    Новичок
    Регистрация
    13.07.2009
    Адрес
    Yekaterinburg
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)

    Thumbs up

    Тем не менее Алексей огромное Вам спасибо, посмотрю что из этого можно получить..

  6. #6
    Разбирающийся
    Регистрация
    13.12.2009
    Адрес
    Москва
    Сообщений
    3,647
    Поблагодарил(а)
    3
    Благодарностей: 26 (сообщений: 22)
    Ставил с горем пополам, но до сих пор работает
    Напишу из того, что помню.
    для начала необходимо получить (купить) у Эделинка эту саму пресловутую связку.
    Савится она на одном из клиентов АСУ "Эдельвейс" (я ставил на ресепшене)
    Для настройки услуги, которая будет помещаться на счёт гостя при передаче задолженности от ресторанной системы следует в конфигураторе АСУ "Эдельвейс" в меню Interfaces -> Magic confuration -> Выбрать соотвествующую услугу из списка, например "Услуги ресторана"(предварительно эту услугу следует создать в разделе План счетов -> Услуги -> Дополнительные услуги ).

    В дистибутиве всего 4 файла, настраивается инишник (2 строки) и запускается сервер связки. Связь идет непосредственно с кассой. Я ставил по NETBEUI (в инишнике надо будет прописывать номер адаптера, ищется стандартными средствами из дистибутива кассы), но теоретически можно и по tcp/ip, прописав имя сервера связки с хостах.
    При запуске сервера связки запускается окошко как в сервере р-кипер на винде и видно, что есть соединение с кассой.
    потом на кассу кидаем прилагаемую в дистибутиве длл, прописываем ее в rkeeper6.ini , в локал.дб имя сервера связки, создаем валюту "гостиничный счет"
    Если будут на сервере связки появляться ошибки, связанные с базой данных, то надо будет для Эдельвейса выполнить скрипт, который ранее выложил SH.
    И работаем. Стыковка должна позволять выводить список всех проживающих гостей в АСУ "Эдельвейс" из ресторанной системы и перенос в АСУ "Эдельвейс" суммы из ресторанной системы в счёт определенного гостя.

Ваши права

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