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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.05.2010, 13:36   #1  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
_ds.research(true) не работает
День добрый!

Ситуация следующая.
На форме есть два связанных грида. Верхний грид с группировочными строками и суммами. Датасорс этого грида построен на основе временной таблицы.
Нижний грид со строками этих групп. Смысл в том, что при изменении чисел в строках, должны персчитываться суммы в верхнем гриде.

Перекрыл метод write датасорса строк. В нем делаю расчет сумм и записываю в таблицу с группами, обновляю датасорс групп, чтобы пользователь увидел изменения.
После вызова Groups_ds.research(true); сбрасывается позиция в гриде с группами, хотя, судя по описанию метода, она должна сохраниться.

В чем может быть дело?

Я конечно написал перепозиционирование руками через findRecord, но выглядит не очень красиво..

Спасибо!
Старый 18.05.2010, 14:44   #2  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
В данном случае вам достаточно будет сделать
X++:
_ds.reread();
_ds.refresh();
т.к., Вы обновляете текущий курсор на таблице. Будет работать намного быстрее.

p.s. А с research(true) нужно вообще быть аккуратнее. Вот тут Иван объясняет что это не аналог findRecord. Ищется не конкретная запись в гриде, а позиция.
Старый 18.05.2010, 14:58   #3  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
В том и дело, что надо обновить несколько записей, не только текущую. Т.к. меняем строку, меняется сумма в группе этой строки, потом в родительской группе и т.д.
В принципе мне подойдет и просто позиция.
Старый 18.05.2010, 16:36   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Вот тут писал про такое же поведение: Kashperuk Ivan: Tutorial: refresh, reread, research, executeQuery - which one to use?
Судя по ответу Ивана, так и должно быть
__________________
Ivanhoe as is..
Старый 18.05.2010, 16:53   #5  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
Да, читал этот пост. Дело в том, что позиция не сохраняется. После вызова метода, курсор улетает на первую строку. То есть поведение метода с параметром и без никак не отличается.
Старый 18.05.2010, 17:04   #6  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Какая версия системы?
__________________
Ivanhoe as is..
Старый 26.05.2010, 18:48   #7  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
Kernel version: 5.0.1000.52
Application version: 5.0.1001.176
Старый 26.05.2010, 22:43   #8  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от AlexeyVS Посмотреть сообщение
... делаю расчет сумм и записываю в таблицу с группами, обновляю датасорс групп...
Под записыванием таблицы с группами подразумевается только редактирование сумм, или пересоздание всей таблицы (с изменением RecId) ?
Старый 27.05.2010, 10:40   #9  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
Нет,таблица не пересоздается, просто обновляются суммы
Теги
research

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Kashperuk Ivan: Tutorial: refresh, reread, research, executeQuery - which one to use? Blog bot DAX Blogs 20 04.04.2017 13:23
AX UK: New Nucleus Research Guidebook: Maximising success delivering Microsoft Dynamics Blog bot DAX Blogs 0 12.08.2009 05:15
palleagermark: formdatasource.research(TRUE) Blog bot DAX Blogs 0 26.05.2009 01:10
Dynamics AX: AMR Research: Awakening a Sleeping Giant - Inside Microsoft Business Solutions' ERP Strategy Blog bot DAX Blogs 0 22.09.2008 22:05
jinx: MultiSelect und die DataSource-Methode research(). Blog bot DAX auf Deutsch 0 14.08.2008 22:06
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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