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

Тема: Перенос транзакций RK7 в БД GK

  1. #1
    Сведущий Аватар для Alexem
    Регистрация
    17.07.2014
    Адрес
    Омск
    Сообщений
    79
    Поблагодарил(а)
    7
    Благодарностей: 32 (сообщений: 18)

    Перенос транзакций RK7 в БД GK

    Недавно запустили комплекс - GK 3.28, общепит на RK7.5.4, связь между системами не предполагалась. Установлены на разных машинах, в одной локалке.

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

    Я не особо погружался в глубины GK и совсем не знаю структуру БД RK7, т.к. занимаюсь в основном Шелтером и Абонементом - а там несчастный FireBird.
    Хотелось бы получить совет от знающих людей - правильно копаю или это точно стоит делать не так. Сразу скажу, задвоение данных в разных системах никого не трогает.

    Идея следующая: в таблицу GK_Transacts записывать транзакции из таблицы Payments БД RK7. Заранее создать недостающие записи в таблицах GK UNITS, ACTIVITY и возможно прочих.


    Примерные направления такие: сделать триггер (только не знаю можно ли из одной БД делать запись в БД на другом сервере, используя триггер) либо выгружать во временный файл из одной БД и загружать в другую БД по расписанию (ежеминутная актуальность данных не важна).

    И не совсем понятно что произойдёт с генерируемыми где-то в недрах GK not null полями таблицы GK_TRANSACTS при вставке транзакции из RK - чем заполнять поля GUID и TRANSACTION_GUID? Остальные not null поля заполню проанализировав структуру БД GK.


    По результату напишу, что получилось.

  2. #2
    Сведущий Аватар для Alexem
    Регистрация
    17.07.2014
    Адрес
    Омск
    Сообщений
    79
    Поблагодарил(а)
    7
    Благодарностей: 32 (сообщений: 18)
    Или вообще возможно будет проще создать в базе GK новую таблицу, в нее совать необходимые данные и для неё сделать отдельный простейший суммовой отчёт по датам?

  3. #3
    Разбирающийся
    Регистрация
    20.10.2011
    Адрес
    Кыргызстан
    Сообщений
    988
    Поблагодарил(а)
    55
    Благодарностей: 35 (сообщений: 24)
    Правильно будет подключить в FastReport две базы и делать к ним запросы. Проще будет сделать думаю в Отчетах GameKeeper.

  4. #4
    Сведущий Аватар для Alexem
    Регистрация
    17.07.2014
    Адрес
    Омск
    Сообщений
    79
    Поблагодарил(а)
    7
    Благодарностей: 32 (сообщений: 18)
    Цитата Сообщение от mnekin Посмотреть сообщение
    Правильно будет подключить в FastReport две базы и делать к ним запросы. Проще будет сделать думаю в Отчетах GameKeeper.
    Спасибо!

    Вопрос подвис надолго, т.к. уточнений ТЗ не поступало. Сейчас снова "восстал".

    Получилось подцепить в GK_reports базу RK. Добавил Источник данных, взял запрос из нужного отчета Кипера.
    Но при добавлении самого отчета можно выбрать базу данных только GKDB, при выборе Источника данных указываю RKDB.

    Есть несоответствие форматов дат в GKFILTER.DLL и хранимой даты смены в базе RK - GKGILTER запрашивает в формате dd-mm-yyyy, а в поле dd.mm.yyyy.
    Но даже отключая ввод дат и убрав в запросе источника данных выборку по датам, при попытке построить отчет для построения макета появляется "Ошибка запроса данных! Access violation...", открывается текст запроса, а потом "Источник ... вернул испорченные или неверные данные".

    Хотя если редактировать источник, то он при выборе нужной БД (RKDB) отдает данные хорошо.

    Такое ощущение, что несмотря на указание в Источнике цепляться к RKDB, он лезет в GKDB.

    Также есть стандартный отчет "Системный балансовый отчет GK + RK7", оттуда также через Источник данных возвращаются данные.
    Но если его строить, то ругается на отсутствующую БД с ID = 3, хотя где он эту дурь берёт - непонятно.

  5. #5
    Сведущий Аватар для Alexem
    Регистрация
    17.07.2014
    Адрес
    Омск
    Сообщений
    79
    Поблагодарил(а)
    7
    Благодарностей: 32 (сообщений: 18)
    На трекере неожиданно вопрос получил продолжение, оказывается надо добавлять БД РК через rk7_server.
    Сейчас добиваюсь подробного описания настроек, т.к. тыканье наудачу не приносит успехов =)

    По итогам закину сюда небольшой мануал.

  6. #6
    Сведущий Аватар для Alexem
    Регистрация
    17.07.2014
    Адрес
    Омск
    Сообщений
    79
    Поблагодарил(а)
    7
    Благодарностей: 32 (сообщений: 18)
    Мануала никакого нет, делают очевидно по памяти. Давно так не плясал с бубном и не вытягивал инфу по кусочкам.

    Итак, чтобы заработала такая схема, надо правильно настроить подключение через DCOM. Для этого используется мануал 2011 года из Reports\docs.
    Настраивается rk7_server.ini на БД РК.
    На базу РК накатывается скрипт по добавлению пары системных пользователей.
    Приложения rk7_server.exe и gkreports.exe надо настроить, чтобы запускались от имени администратора.
    Не запуская rk7_server.exe, запускаем отчеты.
    Настраиваем новую БД РК через DCOM, причем имя компа - через его айпи.

    После этого можно работать с этой БД в отчётах.
    Кстати, меня устроил "предустановленный" отчет "Системный баласновый отчет GK+RK7", только основной макет не заработал, а на "копии" всё прошло успешно.

Похожие темы

  1. Ответов: 41
    Последнее сообщение: 03.06.2016, 22:13
  2. Перенос сервера RK7
    от Wa11ker в разделе Сервер справочников и сервер отчетов R-Keeper 7
    Ответов: 6
    Последнее сообщение: 23.08.2012, 01:10
  3. Перенос сервера
    от stars7as в разделе RK: Сервер
    Ответов: 11
    Последнее сообщение: 17.04.2012, 22:36
  4. Перенос остатков в 1с 8.2
    от AleksandrV в разделе OLE и обмен данными с 1С
    Ответов: 1
    Последнее сообщение: 19.07.2011, 17:59
  5. Ответов: 9
    Последнее сообщение: 25.05.2011, 11:02

Ваши права

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