Добрый всем день. Раньше у нас была Галактика 5.84. Там в таблице KATKAU было поле COTABLE, однозначно идентифицирующее таблицу, в которой хранилась та или иная аналитика. Теперь у нас Галактика 7.11, с удивлением обнаружил в ней отсутствие поля KATKAU.COTABLE.
Вопрос такой: хранится ли теперь где-нибудь в базе связь КАУ<->Таблица КАУ, или нет, а если да - то где?
7.11: Куда делся код таблицы КАУ из KATKAU?
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 783
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: 7.11: Куда делся код таблицы КАУ из KATKAU?
Попробуй выполнить следующие действия:
1. Инициализация сервиса для работы с КАУ (функция):
Initservkau : Boolean
2. Получение номера таблицы:
Getkaucotable(Word) : Word
3. Завершить сервис для работы с КАУ (процедура):
Doneservkau
Собственно ты эти же действия можешь проделать в любом месте Галактики, вызвав окно "Вычислить и модифицировать" по Ctrl+F4.
Там введи последовательно
Initservkau (должен появиться результат TRUE)
Getkaucotable(15) (должен появиться результат 3000)
Doneservkau
Все вышеописанное актуально для версии 5.8х. Но может быть сработает и на 7.11 (если разработчики просто перенесли куда-то поле coTable, никому об этом не сказав)
1. Инициализация сервиса для работы с КАУ (функция):
Initservkau : Boolean
2. Получение номера таблицы:
Getkaucotable(Word) : Word
3. Завершить сервис для работы с КАУ (процедура):
Doneservkau
Собственно ты эти же действия можешь проделать в любом месте Галактики, вызвав окно "Вычислить и модифицировать" по Ctrl+F4.
Там введи последовательно
Initservkau (должен появиться результат TRUE)
Getkaucotable(15) (должен появиться результат 3000)
Doneservkau
Все вышеописанное актуально для версии 5.8х. Но может быть сработает и на 7.11 (если разработчики просто перенесли куда-то поле coTable, никому об этом не сказав)
Re: 7.11: Куда делся код таблицы КАУ из KATKAU?
Деинис, спасибо.
Так я делал раньше. Сейчас идея такая: полностью отказаться от взаимодействия с Галактикой, и брать нужные данные исключительно из БД.
Так я делал раньше. Сейчас идея такая: полностью отказаться от взаимодействия с Галактикой, и брать нужные данные исключительно из БД.
Re: 7.11: Куда делся код таблицы КАУ из KATKAU?
Нашёл приемлемое решение. Функция GETKAUCOTABLE находится в dll-ке G_KAU.dll.
Имеет следующий прототип:
static extern Word /*Два байта*/ GETKAUCOTABLE(Word /*Два байта*/);
Никаких данных из БД функция не берёт (делаем вывод, что коды таблиц КАУ прошиты в бинарниках), достаточно в нужный момент подгрузить в своё приложение эту dll-лину и вызвать функцию GETKAUCOTABLE.
Имеет следующий прототип:
static extern Word /*Два байта*/ GETKAUCOTABLE(Word /*Два байта*/);
Никаких данных из БД функция не берёт (делаем вывод, что коды таблиц КАУ прошиты в бинарниках), достаточно в нужный момент подгрузить в своё приложение эту dll-лину и вызвать функцию GETKAUCOTABLE.
Re: 7.11: Куда делся код таблицы КАУ из KATKAU?
Ошибочка вышла... Функция всегда возвращает 8512... Что же делать ???
-
- Местный житель
- Сообщения: 783
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: 7.11: Куда делся код таблицы КАУ из KATKAU?
8512 - это код таблицы SpKAU ""Пользовательская аналитика"). Может ты этой функции все время подсовываешь код пользовательской аналитики, а не системной?
Re: 7.11: Куда делся код таблицы КАУ из KATKAU?
Подсовывал
1 (Организации) - системная
2 (Подразделения) - системная
и т.д., всегда возвращает код 8512
Видимо, эта функция для корректного использования на самом деле требует предварительного вызова InitServKau.
А эту функцию просто так не вызовешь. Требуется подключение к БД. Её вызов из произвольной программы обваливается с сообщением "...не удалось загрузить btrv_drv.dll..."
1 (Организации) - системная
2 (Подразделения) - системная
и т.д., всегда возвращает код 8512
Видимо, эта функция для корректного использования на самом деле требует предварительного вызова InitServKau.
А эту функцию просто так не вызовешь. Требуется подключение к БД. Её вызов из произвольной программы обваливается с сообщением "...не удалось загрузить btrv_drv.dll..."