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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.11.2008, 11:42   #1  
KpecT is offline
KpecT
Участник
 
56 / 10 (1) +
Регистрация: 14.08.2007
Reread() на форме c View
Есть форма. На форме в Gridе View.
Если мы встанем на строчку Viewшки и попытаемся вызвать метод reread(),
то вместо текущей строчки подставляется либо First или Last строчка DataSource.
Ошибка известна все строчки View имеют один и тот же RecId.

Необходимо каким-то образом реализовать подобие метода FindRecord().

При этот поиск работает через раз:
element.args().lookupField(fieldNum(View, InvoiceId));
element.args().lookupValue(InvoiceId);
View_ds.linkActive();
Старый 10.11.2008, 12:02   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Сколько таблиц во view и какой запрос?

На портале в 3.0 в некоторых частных случаях проблема решалась, если в запрос добавить maxof(RecId) или что-то в этом роде, если запрос был с группировкой, например. Может и тут что-то подобное получится. Нужно поэкспериментировать.
__________________
С уважением,
glibs®
Старый 10.11.2008, 12:12   #3  
KpecT is offline
KpecT
Участник
 
56 / 10 (1) +
Регистрация: 14.08.2007
View состоит из группированных строк одной таблицы Sum(поле).
Версия Аксапты 3.0
Старый 10.11.2008, 15:02   #4  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
М-да... Как все запущено. Смотрел в 4.0. Описанный выше мною способ можно сделать только в query формы, и для обновления записи это не помогает.

Я, пожалуй, пасс. По крайней мере пока. Извините, что не туда повел.
__________________
С уважением,
glibs®
Старый 10.11.2008, 16:22   #5  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Я вытаскивал из представления recID нужной таблицы, перетаскивал его в поля и с ним работал. На форме что то коренным образом меняется, если сделать запрос и передать в _ds.findRecord()?
__________________
Axapta book for developer
Старый 11.11.2008, 09:01   #6  
KpecT is offline
KpecT
Участник
 
56 / 10 (1) +
Регистрация: 14.08.2007
Miker. Честно сказать я не понял, что ты имеешь вывиду про вытаскивания RecID.
View у меня это группировка строк одной таблицы по нескольким полям.
И у всех строк View RecID получается равным 1010.
У меня есть поле во View, которое идентифицирует строку.
Мне необходимо при обновлении строки View, чтобы строка обновилась и курсор остался на текущей строке.
Старый 11.11.2008, 09:28   #7  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от KpecT Посмотреть сообщение
Miker. Честно сказать я не понял, что ты имеешь вывиду про вытаскивания RecID.
View у меня это группировка строк одной таблицы по нескольким полям.
И у всех строк View RecID получается равным 1010.
У меня есть поле во View, которое идентифицирует строку.
Мне необходимо при обновлении строки View, чтобы строка обновилась и курсор остался на текущей строке.
View - это объект в АОТ-е? Создай новый объект, например, с SalesLine, далее групировку max пополям SalesId и RecID и Sum(SalesQty) . У меня получилось нормально.
__________________
Axapta book for developer
Старый 11.11.2008, 11:27   #8  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от KpecT
...
Мне необходимо при обновлении строки View, чтобы строка обновилась и курсор остался на текущей строке.
...
Я пока успел обратить внимание, что обновление текущей записи в формах, в которых на источник данных наложена группировка (запрос "Запасы в наличии" я смотрел, если конкретно), не работает.

Боюсь, что и от вьюх в таком случае чуда ожидать не стоит, к сожалению.

Для вас очень принципиально такое обновление?

Внешне создается впечатление, что .findRecord() последовательно перебирает все записи в источнике данных. Т.е. можно нарисовать свой метод. Вот только стоит ли?

Может быть кто-то другой предложит идею получше...
__________________
С уважением,
glibs®
Старый 11.11.2008, 13:00   #9  
KpecT is offline
KpecT
Участник
 
56 / 10 (1) +
Регистрация: 14.08.2007
Цитата:
Сообщение от MikeR Посмотреть сообщение
View - это объект в АОТ-е? Создай новый объект, например, с SalesLine, далее групировку max пополям SalesId и RecID и Sum(SalesQty) . У меня получилось нормально.
Ты пробовал сделать ds.Reread() ?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Research, refresh, reread шпаргалка Qaz Qwerty DAX: База знаний и проекты 7 03.05.2024 12:17
Использование семейства InventDimCtrl_Frm_* - 2 DS InventDim на одной форме Pavlo AKA Panok DAX: База знаний и проекты 5 22.12.2008 17:15
Распределенная база данных на основе View Владимир Максимов DAX: Программирование 27 04.09.2007 13:21
Обновление данных в View rrkrivov DAX: Программирование 5 08.04.2005 20:56
View's - возможность добавления новых записей Андре DAX: Программирование 13 16.02.2005 12:16

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

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

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