Показать сообщение отдельно
Старый 05.08.2009, 12:56   #1  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Траблы с Display method"ом
Есть некая поисковая логика по кастомерам. В конце поиска отображается форма с результатом. Датасоурс - CustTable. Результат по сути выполненный квери над этим дэйтасоурсом. В гриде есть поле City - оно замаплено на дисплей метод. Код дисплей метода:
X++:
display AddressCity City()
{
    ;
    if (useDeliveryAddress)
    {
        return Address::find(tablenum(CustTable),CustTable.RecId,AddressType::Delivery).City;
    }
    else
    {
        return CustTable.City;
    }
}
Где useDeliveryAddress - параметр, указывающий на то, что при поиске был выставлен параметр искать по деливери адресу. То есть если пользователь указал в поисковом диалоге город и отметил эту опцию - будут искаться те кастомеры у кого такой город в адресе доставки.

В чем собственно проблема - когда рекорд активен город отображается корректно. Но когда курсор перемещается на другой рекорд значение City в строке грида, потерявшей фокус меняется на значение из другого рекорда, причем зачастую произвольным образом. То на значение из предидущего, то из следующего. Кто что скажет?
__________________
Axapta has seduced me deadly!