06.09.2005, 18:57 | #1 |
Участник
|
Временные таблицы должны быть вложенными (inner)...
Коллеги!
Столкнулся со следующей ошибкой, когда пытался на стандартной форме "Проводки по документу" нажать кнопку "Исходный документ": Невозможно выбрать запись в 'Журнал отчетов по складским журналам' ('InventJournalReportTable_RU') Временные таблицы должны быть вложенными (inner), когда вы объединяете их оператором join с постоянными таблицами. (C) \Classes\Originaldocuments\findFromLedgerTrans - line 330 (C) \Classes\Originaldocuments\findRelations - line 6 (C) \Forms\Originaldocuments\Data Sources\TmpLedgerBase\Methods\linkActive - line 13 Ошибка возникает только в тонкой 3-звенке. В 2-звенке всё работает. Сюда не отсылайте... Смотрел... Но проблема в том, что у нас ни одной доработки - всё стандартный функционал... Всё это происходит в абсолютно чистом приложении Axapta 3.0 SP4 HF1 HF2. Стоит Oracle 9.2.0.6. Сначала подумал, что были какие-то изменения в классе OriginalDocuments в SP4, действительно были. Пробовал на SP4 вернуть старый вариант класса из SP3. Не помогло. После трассировки нашёл место "вылета" : PHP код:
Возникает вопрос: как быть и что делать? |
|
07.09.2005, 13:36 | #2 |
Administrator
|
Точно такая же ошибка была у меня на MS SQL. Правда в моей модификации. Думаю, что это клиент SP4 "виноват". Контролирует он теперь вложенность временных таблиц. В целом, конечно, это контроль правильный. А что делать? Так поменять запрос, чтобы временная таблица вложенной стала. А так как это код русского MBS, написать им письмо с приветом.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
07.09.2005, 14:37 | #3 |
Гость
|
попробуйте разместить обе (все) таблицы на 1 стороне. На сервере.
PS сходил по ссылке... наверное, Вы уже попробовали frown |
|
07.09.2005, 14:41 | #4 |
Участник
|
Дык в том то и проблема, что у нас нет пока доработок - всё девственный стандартный функционал...
|
|
07.09.2005, 14:48 | #5 |
Гость
|
ну и что? глюки есть, были и будут.
|
|
07.09.2005, 17:40 | #6 |
Сенбернар
|
"глюки есть, были и будут..."
ОсобливО в российском функционале "Их там ТЫСЯЧИ"
__________________
Best Regards, Roman |
|
08.09.2005, 08:58 | #7 |
Участник
|
Можно глупый вопрос?
В выше приведенном запросе нет временных таблиц. По крайней мере в моей версии. Может что-то поменяли в SP4?
__________________
Axapta v.3.0 sp5 kr2 |
|
08.09.2005, 15:32 | #8 |
Administrator
|
Честно говоря, не могу проверить, так как нет у меня русской версии под рукой. Но вряд ли. Согласно сообщению, inventJournalReportTable должна быть временной.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
08.09.2005, 15:39 | #9 |
Участник
|
Если судить по исходному коду этого метода, то переменная таблицы только объявляется, а затем используется в запросе. Т.е. инициализации для временной таблицы, если бы это было так, нет.
Может быть какой-нибудь глюк интерпретатора? А может ли быть так, что таблицы нет на сервере и интерпретатор считает, что она временная (в порядке бреда)? Кстати, у себя специально проверял этот запрос - он целиком отрабатывается на сервере
__________________
Axapta v.3.0 sp5 kr2 |
|
08.09.2005, 15:45 | #10 |
Administrator
|
Видимо, что-то где-то действительно сглюкнуло. Может синхронизацию надо было сделать? Тем более, что при переносе на MSSQL все заработало.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
08.09.2005, 15:56 | #11 |
Участник
|
В общем действительно временных таблиц там нет.
Там ещё очень странная вещь... Дело в том, что на InventJournalReportTable_RU стоит SecurityKey = InventJournals и ConfigurationKey = CSECIS. В нашем приложении нет модуля управления запасами, вот и получается, что права на SecurityKey = InventJournals у нас в принципе не могут быть назначены. Поэтому эта таблица у нас не может быть использована... И этот стандартный функционал класса OriginalDocuments пытается обратиться к таблице, на которой у нас нет и не может быть никаких прав! Поскольку раскопки ничего не дали, я решил проблему банально: дописал примитивный if: PHP код:
|
|
08.09.2005, 16:01 | #12 |
Administrator
|
Предположу, что Аксапта использует временные таблицы, для того, чтобы обработать ситуацию, когда постоянной таблицы нет в БД из-за того, что к ней нет доступа. Насколько это правильно - вопрос. Наверное, все-таки ядро не должно так обрабатывать подобные запросы.
CSECIS - это, наверное, CountryConfigurationKey? Потому что к складу он, вообще-то, отношения не имеет. ConfigurationKey у этой таблицы, наверное, другой?
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
08.09.2005, 16:09 | #13 |
Участник
|
К таблице как раз таки привязан CSECIS, так что она должна быть (таблица), если включения локальная функциональность страны. Может какая-то проблема с синхронизацией?
__________________
Axapta v.3.0 sp5 kr2 |
|
08.09.2005, 16:12 | #14 |
Участник
|
|
|
08.09.2005, 16:23 | #15 |
Administrator
|
Мда. Действительно. У таблиц CountryConfigurationKey нет. Только у MenuItem'ов. Прошу прощения.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Временные таблицы в отчете | 25 | |||
Не страшно ли временные таблицы временно сделать постоянными? | 11 | |||
Временные таблицы в отчетах | 5 | |||
Временные таблицы | 6 | |||
Временные таблицы в запросе | 4 |
|