22.04.2013, 15:14 | #1 |
Участник
|
Всем привет!
Столкнулись с такой проблемой (краткое описание ситуации): Nav 5.0 SP1, MSSQL Заказы продажи обрабатываются в несколько этапов. После каждого этапа изменения коммитятся. На каждом этапе вызываются разные функции, некоторые стандартные, некоторые не очень. После каждого этапа в заголовке или строках заказа что-то меняется. После очередной доработки вылезла ситуация, когда на некоторых этапах перестали обновляться данные. Что я имею ввиду: Например в ходе очередной операции закоммитили изменение количества товара в строках. На следующем этапе SalesLine.FINDSET или SalesLine.FIND('-') возвращают старые, не измененные данные. При этом останавливаемся дебагом в этом месте и смотрим напрямую в таблицу через скуль или параллельный Нав. Там все нормально, количество изменилось. Идем дальше по дебагу, новая свежая локальная переменная SalesLine.FINDSET возвращает старые значения! Решилось заменой FINDSET и FIND('-') на FINDFIRST. Это нормально? Кто-нибудь сталкивался с подобным? Что можно почитать на эту тему в сети? |
|
22.04.2013, 16:52 | #2 |
Administrator
|
FINDSET и отличается от FIND('-') тем, что кеширует найденные записи. оттого он и быстрее.
руки бы оторвать коммитчикам, рекомендую переписать код. |
|
22.04.2013, 17:27 | #3 |
Участник
|
Цитата:
значит ли это что если FINDSETы заменить везде на FIND('-') проблемы с кэшем должны исчезнуть? |
|
23.04.2013, 13:15 | #4 |
Участник
|
Наверное малеха глупо, но может SELECTLATESTVERSION ?
|
|
23.04.2013, 17:50 | #5 |
Участник
|
|
|