10.11.2008, 11:42 | #1 |
Участник
|
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 |
Member
|
Сколько таблиц во view и какой запрос?
На портале в 3.0 в некоторых частных случаях проблема решалась, если в запрос добавить maxof(RecId) или что-то в этом роде, если запрос был с группировкой, например. Может и тут что-то подобное получится. Нужно поэкспериментировать.
__________________
С уважением, glibs® |
|
10.11.2008, 12:12 | #3 |
Участник
|
View состоит из группированных строк одной таблицы Sum(поле).
Версия Аксапты 3.0 |
|
10.11.2008, 15:02 | #4 |
Member
|
М-да... Как все запущено. Смотрел в 4.0. Описанный выше мною способ можно сделать только в query формы, и для обновления записи это не помогает.
Я, пожалуй, пасс. По крайней мере пока. Извините, что не туда повел.
__________________
С уважением, glibs® |
|
10.11.2008, 16:22 | #5 |
MCT
|
Я вытаскивал из представления recID нужной таблицы, перетаскивал его в поля и с ним работал. На форме что то коренным образом меняется, если сделать запрос и передать в _ds.findRecord()?
__________________
Axapta book for developer |
|
11.11.2008, 09:01 | #6 |
Участник
|
Miker. Честно сказать я не понял, что ты имеешь вывиду про вытаскивания RecID.
View у меня это группировка строк одной таблицы по нескольким полям. И у всех строк View RecID получается равным 1010. У меня есть поле во View, которое идентифицирует строку. Мне необходимо при обновлении строки View, чтобы строка обновилась и курсор остался на текущей строке. |
|
11.11.2008, 09:28 | #7 |
MCT
|
Цитата:
Сообщение от KpecT
Miker. Честно сказать я не понял, что ты имеешь вывиду про вытаскивания RecID.
View у меня это группировка строк одной таблицы по нескольким полям. И у всех строк View RecID получается равным 1010. У меня есть поле во View, которое идентифицирует строку. Мне необходимо при обновлении строки View, чтобы строка обновилась и курсор остался на текущей строке.
__________________
Axapta book for developer |
|
11.11.2008, 11:27 | #8 |
Member
|
Цитата:
Сообщение от KpecT
...
Мне необходимо при обновлении строки View, чтобы строка обновилась и курсор остался на текущей строке. ... Боюсь, что и от вьюх в таком случае чуда ожидать не стоит, к сожалению. Для вас очень принципиально такое обновление? Внешне создается впечатление, что .findRecord() последовательно перебирает все записи в источнике данных. Т.е. можно нарисовать свой метод. Вот только стоит ли? Может быть кто-то другой предложит идею получше...
__________________
С уважением, glibs® |
|
11.11.2008, 13:00 | #9 |
Участник
|
|
|