|
![]() |
#1 |
Модератор
|
Долго бодался со следующим глюком: Аксапта 3.0 SP3, тонкий клиент. Приложение закрывается по критической ошибке при создании заказа. Причем у некоторых пользователей ошибка воспроизводится, у некоторых - нет. Все, что можно - реиндексация, синхронизации, удаление файлов кэша, чистка SysLastValue, подсовывание чужих файлов кэша и master.aoc - было перепробовано несколько раз в различных свяках - не помогло. Двухуровневая конфигурация у тех же пользователей работает без проблем.
Кончилось тем, что прибег к помощи утюга и паяльника, вернее, дебагера. В результате вычислил место, где происходит "падение" класс \Classes\SalesTableType.initValue() <div class='XPPtop'>X++</div><div class='XPP'> [color=:blue]public[/color] [color=:blue]void[/color] initValue() { ; .... salesTable.transactionCode = IntraStatParameters::find().defaultSalePurchase; .... }</div> Далее - выяснилось, что физически таблицы IntraStatParameters не существует, она привязана к отключенному конфигурационному ключу "Внешняя торговля" (Foreign trade). При этом в двухуровневой конфигурации клиент спокойно переживает операцию SELECT по несуществующей таблице, возвращая "пустой" результат (RecId = 0), а в трехуровневой - падает. Дальше - больше. Можно было работать с отключенной "внешней торговлей", но для этого каждый пользователь должен был включить конфигурационный ключ и затем выключить его. После этого, видимо, данные о таблице оседали в кэше (.aoc) и все работало стабильно. Волевым решением конфигурационный ключ был таки оставлен включенным. Пошел дальше - создал новый конфигурационный ключ и привязал к нему новую таблицу. Отключаем ключ - трехуровневый клиент при обращении к таблице падает. В общем, одним запросом сервисной системе больше ![]() И только потом, уже когда знал, что искать, наткнулся на описание проблемы на Axforum-е
__________________
-ТСЯ или -ТЬСЯ ? |
|