AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.04.2013, 15:14   #1  
pimpf.rt is offline
pimpf.rt
Участник
 
5 / 10 (1) +
Регистрация: 02.08.2012
Всем привет!
Столкнулись с такой проблемой (краткое описание ситуации): Nav 5.0 SP1, MSSQL
Заказы продажи обрабатываются в несколько этапов. После каждого этапа изменения коммитятся.
На каждом этапе вызываются разные функции, некоторые стандартные, некоторые не очень. После каждого этапа в заголовке или строках заказа что-то меняется.
После очередной доработки вылезла ситуация, когда на некоторых этапах перестали обновляться данные. Что я имею ввиду: Например в ходе очередной операции закоммитили изменение количества товара в строках. На следующем этапе SalesLine.FINDSET или SalesLine.FIND('-') возвращают старые, не измененные данные.
При этом останавливаемся дебагом в этом месте и смотрим напрямую в таблицу через скуль или параллельный Нав. Там все нормально, количество изменилось. Идем дальше по дебагу, новая свежая локальная переменная SalesLine.FINDSET возвращает старые значения!
Решилось заменой FINDSET и FIND('-') на FINDFIRST. Это нормально? Кто-нибудь сталкивался с подобным? Что можно почитать на эту тему в сети?
Старый 22.04.2013, 16:52   #2  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
FINDSET и отличается от FIND('-') тем, что кеширует найденные записи. оттого он и быстрее.
руки бы оторвать коммитчикам, рекомендую переписать код.
Старый 22.04.2013, 17:27   #3  
pimpf.rt is offline
pimpf.rt
Участник
 
5 / 10 (1) +
Регистрация: 02.08.2012
Цитата:
Сообщение от Sancho Посмотреть сообщение
FINDSET и отличается от FIND('-') тем, что кеширует найденные записи. оттого он и быстрее.
руки бы оторвать коммитчикам, рекомендую переписать код.
/>
без коммитов проблематично, нужно фиксировать результаты каждого этапа
значит ли это что если FINDSETы заменить везде на FIND('-') проблемы с кэшем должны исчезнуть?
Старый 23.04.2013, 13:15   #4  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Наверное малеха глупо, но может SELECTLATESTVERSION ?
Старый 23.04.2013, 17:50   #5  
pimpf.rt is offline
pimpf.rt
Участник
 
5 / 10 (1) +
Регистрация: 02.08.2012
Цитата:
Сообщение от RedFox Посмотреть сообщение
Наверное малеха глупо, но может SELECTLATESTVERSION ?
Хм, не знал о ней, спасибо. Надо будет попробовать. Судя по всему она очищает кэш записей.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:32.