Показать сообщение отдельно
Старый 20.06.2007, 08:47   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Там в форме датасорс EmplTable соединяется с мастер-таблицей через LinkType Delayed. По-этому просто попытка вывести поле из этого датасорса на грид ни к чему хорошему не приводит.

Я бы посоветовал поменять LinkType на InnerJoin, вывести поле в грид и добавить в метод modified() поля EmplAccount датасорса EmplAdvTable_RU примерно такой код
X++:
public void modified()
{
// добавить -->
    EmplTable et;
    ;
// добавить <--
    super();

    EmplAdvTable_RU.Dimension = EmplTable::find(EmplAdvTable_RU.EmplAccount).Dimension;
// добавить -->
    if (EmplAdvTable_RU.EmplAccount)
    {
        et = EmplTable::find(EmplAdvTable_RU.EmplAccount)
        if (et)
        {
            EmplTable.data(et);
            EmplTable_ds.active();
        }
    }
// добавить <--
}
Тогда изменение подотчетного лица при добавлении нового авансового отчета будет проходить корректно.

Еще один варинат - сделать дисплейный метод. Только учтите, что если он будет на форме или на датасорсе, то включить его в кэширование будет нельзя.
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Zepp (1).