|
![]() |
#1 |
Участник
|
У табличного буфера есть методы joinChild()/joinParent(), по ним можно получить связанный черезе запрос буфер другой таблицы.
|
|
|
За это сообщение автора поблагодарили: Logger (3). |
![]() |
#2 |
Участник
|
joinChild()/joinParent(), не нашел как достучаться из дисплейметода на датасорсе
пытался X++: display Comment(ActionDetailTable _actionDetailTable)
{
ActionTable actionTable;
;
actionTable = _actionDetailTable.dataSource().cursor().joinParent();
} |
|
![]() |
#3 |
Участник
|
В SQL это было бы так:
X++: select isNull(detailTable.Comment, actionTable.Comment) as comment from actionTable left outer join detailTable on actionTable.ActionId = detailTable.ActionId |
|
![]() |
#4 |
Участник
|
Цитата:
![]() X++: display Description test(CustTable _custTable) { CustTrans ct = _custTable.joinChild(); RecId id = ct.RecId ? ct.RecId : _custTable.RecId; Description ret = strfmt('%1 %2', id, ct.RecId ? 'trans' : 'table'); return ret; } |
|
|
За это сообщение автора поблагодарили: ex3em (1). |
![]() |
#5 |
Участник
|
![]() ![]() ![]() на OuterJoin если из чилд датасорса лезть по _actionDetailTable.joinParent(); не получается, похоже из-за отсутствия в чилде записи. а вот наоборот получилось. В паренте метод и из него лезть к чилду и проверять есть у него RecId - если есть то коммент чилда. Иначе комент парента. Огромное человеческое спасибо всем ![]() |
|