Проблемы с синонимами таблиц, созданных отдельно

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
Hershy
рег.отделение
Сообщения: 64
Зарегистрирован: Вт, 03/03/2009 07:53
Имя Фамилия: Николай Воронцов
Откуда: Галактика-Урал
Контактная информация:

Проблемы с синонимами таблиц, созданных отдельно

Сообщение Hershy »

Люди добрые помогите!

Такая ситуация:
1. Создали таблицы в базе, работают прекрасно, хоть напрямую, хоть через синонимы
2. В одном единственном интерфейсе на синонимы не работают гетфесты, лупы и все прочее

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

С чего можно хотя бы начать, чтобы выявить в чем проблема?

При необходимости можем дать базу и исходники, руки опускаются, волосы дыбом, гетфесты поломались, во что верить теперь?
Аватара пользователя
Screw
топ-софт
Сообщения: 73
Зарегистрирован: Пт, 14/09/2007 22:54
Имя Фамилия: Виталий Корзюк
Откуда: ТопСофт
Контактная информация:

Re: Проблемы с синонимами таблиц, созданных отдельно

Сообщение Screw »

Хорошо бы для начала увидеть описание ЛТ интерфейса.
Hershy
рег.отделение
Сообщения: 64
Зарегистрирован: Вт, 03/03/2009 07:53
Имя Фамилия: Николай Воронцов
Откуда: Галактика-Урал
Контактная информация:

Re: Проблемы с синонимами таблиц, созданных отдельно

Сообщение Hershy »

Логическая таблица интерфейса:

Код: Выделить всё

WHERE((
    TMALLMONTH.TABNMB    == LSCHET.TABN
AND fyear                == ATC_DEPREM.WYEAR
AND fmonth               == ATC_DEPREM.WMONTH
AND TMALLMONTH.CPERSONS  == ATC_DEPREM.CPERSONS
AND ctmpodr              == podrseg.nrec
AND 45                   == podrval.classcode
AND podrseg.nrec         == podrval.cclassseg
AND podrval.crec         == KATPODR.NREC
AND 'Транспортный цех'   == KATPODRATC.NAME
AND 2                    == TMALLMONTH.TYPE
and curPeriod            == TMALLMONTH.MESYACINT
AND 3                    == TMALLDAY.TYPE
and curPeriod            == TMALLDAY.MESYACINT
AND curPeriod            == TMPERIODS.MESYACINT
))
ORDER ByTBN BY TMALLMONTH.TABNMB
ORDER ByFIO BY TMALLMONTH.FIO
;
Где
ATC_DEPREM - созданная нами физическая таблица в базе;
KATPODRATC - синоним KATPODR
TMALLDAY, TMPERIODS, TMALL - таблицы в памяти
TMALLMONTH - синоним таблицы TMALL

Суть в том, что системные вещи не работают на таблицах, которые вообще никак не сцеплены в главной ЛТ интерфейса. Т.е. к примеру в нужном месте не срабатывает ни одной итерации вот этого:

Код: Выделить всё

_loop DOGOVOR {
        logo('Тест ошибки. Итерация DOGOVOR['+DOGOVOR.NREC+']');
}
Хотя в саппорте видно, что таблица не пуста, а DOGOVOR вообще нигде не указан в сцепках. Так же и на любой другой таблице. При этом ломается все только в определенной функции, в остальных местах все работает отлично.

Поставили траблу в ПИР, возможно, будем решать сообща или ещё как-нибудь. А то меня лично поразило - Таблица в саппорте не пустая, а в отладчике ни одной итерации не проходит, конец света какой-то!
vadim
топ-софт
Сообщения: 197
Зарегистрирован: Чт, 06/09/2007 17:38
Имя Фамилия: Вадим Володько
Откуда: ТопСофт
Контактная информация:

Re: Проблемы с синонимами таблиц, созданных отдельно

Сообщение vadim »

Hershy писал(а):...При этом ломается все только в определенной функции, в остальных местах все работает отлично....
а поподробнее? что за функция? где описана? ничем не перекрыта ли? если написать пустой интерфейс без логической таблицы и в cmnint сделать нужный loop, работает?
еще вопрос - база на чем? если oracle - как давно собиралась статистика администарором? ;)
Ответить