16.05.2006, 10:50 | #1 |
Участник
|
Ошибка: СУБД или приложение?
Уважаемые коллеги!
Имеем: Axapta 3.0 SP1 _itemId имеется в наличии А штук по складской аналитике InventDimCriteria (см. ниже), о чем свидетельствует и форма "В Наличии" и оборотка Кто-нибудь сталкивался со следующей проблемой: при попытке запустить приемку (стандартная функциональность) по карантинному заказу при проверке через класс InventOnHand (в наличии) при выполнении следующего запроса: select #inventSumFields from inventSum where inventSum.itemId == _itemId && inventSum.closed == NoYes::No #inventDimjoin(inventSum.InventDimId,inventDim,InventDimCriteria,InventDimParm); в inventSum'е возвращается в наличии = 0!!!!. Если вынести этот же запрос с теми же входящими параметрами допустим в Job, то возвращает, как положено, в наличии = A штук. (разница запросов пожалуй лишь в том, что в первом случае запрос выполняется на сервере, во втором на клиенте) Локальная перекомпиляция, реиндексация и синхронизация не помогла. База очень большая, поэтому для экспериментов просто нет времени. Проверку целостности данных не запускали уже с год, опять же по причине большой базы или скорее нехватки времени (система работает 6дней в неделю) Кто-нибудь сталкивался с подобной проблемой? И как лечить подобное? |
|
16.05.2006, 11:07 | #2 |
Участник
|
Разница очевидно в "с теми же входящими параметрами " - проверьте на всякий случай еще раз - все ли параметры передаются в функцию в нужном виде?
|
|
16.05.2006, 11:16 | #3 |
Участник
|
В том-то и нелепость ситуации, что входящие параметры абсолютно идентичны (на всякий случай проверил в 30раз). Только в первом случае InventSum.ItemId = "" возвращает и AvailPhysical = 0,
во втором InventSum.ItemId = 010101010"" возвращает и AvailPhysical = A штук. |
|
16.05.2006, 11:24 | #4 |
Участник
|
К сожалению, такого рода проблемы на форуме, по-моему, не представляются к решению (слишком мало информации и очевидна проблема)
Тут вопрос скорее другой: не как решить сейчас совместными усилиями эту проблему, а был ли подобный прецендент у кого-либо, и что в таком случае помогло? |
|
16.05.2006, 12:02 | #5 |
Участник
|
Цитата:
Сообщение от VIS
во втором InventSum.ItemId = 010101010"" возвращает и AvailPhysical = A штук.
|
|
16.05.2006, 12:28 | #6 |
Участник
|
Да вот и в том-то и идиотизм ситуации (даже появляется чувство сумасшествия) : и ItemID и InventDimCriteria и InventDimParm в запрос идут ИДЕНТИЧНЫЕ (проверил в debugger в 31раз), а возвращается результат РАЗНЫЙ в двух вышеперечисленных случаях.
Внимание вопрос: такое возможно? кто-нить с подобным сталкивался? Могу сказать более: я с подобным уже сталкивался на тестовой базе в другом месте кода (помогла реиндексация и расширенная синхронизация), и я собственно не придал этому значения, пока не выстрелило на рабочей базе. |
|
16.05.2006, 12:54 | #7 |
Участник
|
Наводящий вопрос - новые складские аналитики создавали? Было что-то подобное, лечили перекомпиляцией методов таблицы InventSum, (конкретно - InventSum::findSum), там возникала проблема с макросом InventDimJoin. Не видел он новых аналитик. Не уверен, что Ваш случай, но вдруг.
|
|
16.05.2006, 13:16 | #8 |
Участник
|
таблицу InventSum (и не только, а также классы InventMov_*, InventOnHand) перекомпилировал в первую очередь + сделал реиндексацию = не помогло, хотя в предыдущий раз помогло на тестовой.
По ходу дело надо запустить глобальную компиляцию + Проверку целостности данных = но оценить время сложно, так как время на такие вещи всего лишь один день - воскресенье. |
|
16.05.2006, 13:32 | #9 |
Участник
|
Ну, что еще можно сделать... Если все-таки трогали макрос InventDimJoin - зайти в него, пересохранить и повторить все действия по компиляции. (хотя это уже из серии шаманства). Еще вопрос - проблема возникает по одной номенклатуре или по всем?
|
|
16.05.2006, 13:40 | #10 |
Участник
|
по одной конкретной позиции
|
|
16.05.2006, 13:45 | #11 |
Участник
|
Не хотелось, что бы это превратилось в массовый характер
|
|
16.05.2006, 14:18 | #12 |
Участник
|
В любом случае дело не в целостности данных - иначе бы и job у Вас не отрабатывал.
|
|
22.05.2006, 18:32 | #13 |
Участник
|
2/3 tier ?
2 VIS
А сколькоуровневая система? 2 или 3? Если с АОСом, может, попробовать выполнить в 2-tier? Может быть, как-то связано с кэшем?... У нас кэш АОСов вытворял кое-какие интересные фокусы. |
|
Теги |
ax3.0 |
|
Похожие темы | ||||
Тема | Ответов | |||
Ошибка при запуске 3-tier | 3 | |||
Ошибка в формате числа. | 7 | |||
Ошибка при обработке С-Ф | 7 | |||
Ошибка при сохранении поставщика | 19 | |||
Русская локализация Axapta 3 ? | 59 |
|