![]() |
#10 |
Участник
|
Чтобы обойти баг с кешированием по InventTrans - как правило перед выполнением запроса по InventTrans в кастомизациях отключают кеш
InventTrans.disableCache(true); Но в системе есть куча стандартных мест где используется такой кеш. Надежнее сделать следующую кастомизацию. Как правило кеш используется при вызове метода X++: \Data Dictionary\Tables\InventTrans\Methods\viewCacheInventTransId X++: \Classes\InventMovement\viewCacheInventTransId Заводим метод X++: \Classes\InventMovement\ClearViewCacheInventTransId X++: void ClearViewCacheInventTransId() { viewCacheInventTrans = NULL; } X++: \Classes\InventMovement\viewCacheInventTransId При таких изменениях кеш живет только на то время пока он нужен и не мешает при выполнении запросов по InventTrans - так что про багу можно забыть. (Баг проявлялся потому что кеш жил и после того как отработал метод UpdateNow() семейства классов InventUpdate - как правило в разносках проявлялось - теперь мы его своевременно убиваем и он не мешает) |
|
|
За это сообщение автора поблагодарили: denny (1), malex (1), gl00mie (5). |
Теги |
ax3.0 |
|
|