|
15.11.2012, 10:08 | #1 |
Участник
|
из Display метода на одном DS получить текущее значение другого приджойненного
Уважаемые, как в Display методе на одном DS формы получить текущее значение другого приджойненного DS?
|
|
15.11.2012, 10:26 | #2 |
Участник
|
как вы это себе представляете?
|
|
15.11.2012, 10:40 | #3 |
Участник
|
Приверно так:
X++: display Amount test(Common _common)
{
Common commonChild = _common.joinChild();
Common commonParent = _common.joinParent();
;
} Последний раз редактировалось ice321i; 15.11.2012 в 10:43. |
|
15.11.2012, 10:48 | #4 |
Участник
|
|
|
15.11.2012, 10:53 | #5 |
Участник
|
|
|
15.11.2012, 10:57 | #6 |
Участник
|
Цитата:
Последний раз редактировалось S.Kuskov; 15.11.2012 в 11:06. |
|
|
За это сообщение автора поблагодарили: alvares (1). |
15.11.2012, 10:43 | #7 |
Участник
|
ну как?
есть форма, на ней 2 связанных DS, мне нужно в display методе посчитать разницу сумм из этих DS.. |
|
15.11.2012, 10:45 | #8 |
Участник
|
А разве дисплейные методы допускают аргументы?
__________________
// no comments |
|
15.11.2012, 10:48 | #9 |
Участник
|
Используйте агрегатные функции в запросе формы, а в дисплейном методе посчитайте разницу двух полей.
__________________
// no comments Последний раз редактировалось dech; 15.11.2012 в 10:52. |
|
15.11.2012, 10:44 | #10 |
Участник
|
Почитайте про common.joinParent(), common.joinChild().
|
|
15.11.2012, 11:06 | #11 |
Участник
|
Да, спасибо, на форме работает
А вот если сделать на view которая в DS server display метод и написать: X++: server display real method1(common _rec) { ; if (_rec.SumOfLine > 0 && this.joinChild().RecId != 0) return _rec.SumOfLine - this.joinChild().(fieldnum(Table, SummOfLine2)); else return 0; } |
|
15.11.2012, 11:08 | #12 |
Участник
|
Цитата:
Сообщение от alvares
Да, спасибо, на форме работает
А вот если сделать на view которая в DS server display метод и написать: X++: server display real method1(common _rec) { ; if (_rec.SumOfLine > 0 && this.joinChild().RecId != 0) return _rec.SumOfLine - this.joinChild().(fieldnum(Table, SummOfLine2)); else return 0; } This вообще в этом случае не нужен - можно смело делать метод статическим. Последний раз редактировалось S.Kuskov; 15.11.2012 в 11:11. |
|
15.11.2012, 11:18 | #13 |
MCT
|
Имеет смысл добавить проверку по TableId, для пущей уверенности чтобы не произошла run time ошибка
X++: if(rec.TableId==(tableNum(YourdataSourceTable)))
__________________
Axapta book for developer |
|
15.11.2012, 13:48 | #14 |
Участник
|
столько фэйлов в одном треде я еще не видел
особенно порадовал "server display" Последний раз редактировалось lvan; 15.11.2012 в 13:51. |
|
15.11.2012, 14:46 | #15 |
Участник
|
alvares, а что вам мешает в display-методе написать select, в котором вы выберете запись из приджойненой таблицы? Или вас пугает лишнее обращение к БД?
|
|
15.11.2012, 14:52 | #16 |
Участник
|
|
|