Люди добрые помогите!
Такая ситуация:
1. Создали таблицы в базе, работают прекрасно, хоть напрямую, хоть через синонимы
2. В одном единственном интерфейсе на синонимы не работают гетфесты, лупы и все прочее
Пробовали через отладку, в таблице есть что-то, луп по ней не делается, даже без каких-либо связок, просто обычный луп
Разное пробовали, ничего не помогает
Такая же ситуация была на этом же интерфейсе, только уже не с синонимом, а с таблицей в памяти.
С чего можно хотя бы начать, чтобы выявить в чем проблема?
При необходимости можем дать базу и исходники, руки опускаются, волосы дыбом, гетфесты поломались, во что верить теперь?
Проблемы с синонимами таблиц, созданных отдельно
- Screw
- топ-софт
- Сообщения: 73
- Зарегистрирован: Пт, 14/09/2007 22:54
- Имя Фамилия: Виталий Корзюк
- Откуда: ТопСофт
- Контактная информация:
Re: Проблемы с синонимами таблиц, созданных отдельно
Хорошо бы для начала увидеть описание ЛТ интерфейса.
-
- рег.отделение
- Сообщения: 64
- Зарегистрирован: Вт, 03/03/2009 07:53
- Имя Фамилия: Николай Воронцов
- Откуда: Галактика-Урал
- Контактная информация:
Re: Проблемы с синонимами таблиц, созданных отдельно
Логическая таблица интерфейса:
Где
ATC_DEPREM - созданная нами физическая таблица в базе;
KATPODRATC - синоним KATPODR
TMALLDAY, TMPERIODS, TMALL - таблицы в памяти
TMALLMONTH - синоним таблицы TMALL
Суть в том, что системные вещи не работают на таблицах, которые вообще никак не сцеплены в главной ЛТ интерфейса. Т.е. к примеру в нужном месте не срабатывает ни одной итерации вот этого:
Хотя в саппорте видно, что таблица не пуста, а DOGOVOR вообще нигде не указан в сцепках. Так же и на любой другой таблице. При этом ломается все только в определенной функции, в остальных местах все работает отлично.
Поставили траблу в ПИР, возможно, будем решать сообща или ещё как-нибудь. А то меня лично поразило - Таблица в саппорте не пустая, а в отладчике ни одной итерации не проходит, конец света какой-то!
Код: Выделить всё
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+']');
}
Поставили траблу в ПИР, возможно, будем решать сообща или ещё как-нибудь. А то меня лично поразило - Таблица в саппорте не пустая, а в отладчике ни одной итерации не проходит, конец света какой-то!
-
- топ-софт
- Сообщения: 197
- Зарегистрирован: Чт, 06/09/2007 17:38
- Имя Фамилия: Вадим Володько
- Откуда: ТопСофт
- Контактная информация:
Re: Проблемы с синонимами таблиц, созданных отдельно
а поподробнее? что за функция? где описана? ничем не перекрыта ли? если написать пустой интерфейс без логической таблицы и в cmnint сделать нужный loop, работает?Hershy писал(а):...При этом ломается все только в определенной функции, в остальных местах все работает отлично....
еще вопрос - база на чем? если oracle - как давно собиралась статистика администарором? ;)