7.11: Куда делся код таблицы КАУ из KATKAU?

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

Ответить
__nogc
Посетитель
Сообщения: 35
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

7.11: Куда делся код таблицы КАУ из KATKAU?

Сообщение __nogc »

Добрый всем день. Раньше у нас была Галактика 5.84. Там в таблице KATKAU было поле COTABLE, однозначно идентифицирующее таблицу, в которой хранилась та или иная аналитика. Теперь у нас Галактика 7.11, с удивлением обнаружил в ней отсутствие поля KATKAU.COTABLE.
Вопрос такой: хранится ли теперь где-нибудь в базе связь КАУ<->Таблица КАУ, или нет, а если да - то где?
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: 7.11: Куда делся код таблицы КАУ из KATKAU?

Сообщение Deinis »

Попробуй выполнить следующие действия:
1. Инициализация сервиса для работы с КАУ (функция):
Initservkau : Boolean
2. Получение номера таблицы:
Getkaucotable(Word) : Word
3. Завершить сервис для работы с КАУ (процедура):
Doneservkau

Собственно ты эти же действия можешь проделать в любом месте Галактики, вызвав окно "Вычислить и модифицировать" по Ctrl+F4.
Там введи последовательно
Initservkau (должен появиться результат TRUE)
Getkaucotable(15) (должен появиться результат 3000)
Doneservkau

Все вышеописанное актуально для версии 5.8х. Но может быть сработает и на 7.11 (если разработчики просто перенесли куда-то поле coTable, никому об этом не сказав) ;)
__nogc
Посетитель
Сообщения: 35
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: 7.11: Куда делся код таблицы КАУ из KATKAU?

Сообщение __nogc »

Деинис, спасибо.
Так я делал раньше. Сейчас идея такая: полностью отказаться от взаимодействия с Галактикой, и брать нужные данные исключительно из БД.
__nogc
Посетитель
Сообщения: 35
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: 7.11: Куда делся код таблицы КАУ из KATKAU?

Сообщение __nogc »

Нашёл приемлемое решение. Функция GETKAUCOTABLE находится в dll-ке G_KAU.dll.
Имеет следующий прототип:
static extern Word /*Два байта*/ GETKAUCOTABLE(Word /*Два байта*/);

Никаких данных из БД функция не берёт (делаем вывод, что коды таблиц КАУ прошиты в бинарниках), достаточно в нужный момент подгрузить в своё приложение эту dll-лину и вызвать функцию GETKAUCOTABLE.
__nogc
Посетитель
Сообщения: 35
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: 7.11: Куда делся код таблицы КАУ из KATKAU?

Сообщение __nogc »

Ошибочка вышла... Функция всегда возвращает 8512... Что же делать ???
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: 7.11: Куда делся код таблицы КАУ из KATKAU?

Сообщение Deinis »

8512 - это код таблицы SpKAU ""Пользовательская аналитика"). Может ты этой функции все время подсовываешь код пользовательской аналитики, а не системной?
__nogc
Посетитель
Сообщения: 35
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: 7.11: Куда делся код таблицы КАУ из KATKAU?

Сообщение __nogc »

Подсовывал
1 (Организации) - системная
2 (Подразделения) - системная
и т.д., всегда возвращает код 8512
Видимо, эта функция для корректного использования на самом деле требует предварительного вызова InitServKau.
А эту функцию просто так не вызовешь. Требуется подключение к БД. Её вызов из произвольной программы обваливается с сообщением "...не удалось загрузить btrv_drv.dll..."
Ответить