19.11.2008, 08:50 | #1 |
Мрачный тип
|
Edit-метод и Relation - баг или фича ?
DAX 3.0 SP3
Есть на таблице А edit-метод, редактирующий одно ссылочное поле и возвращающий наименование из ссылочной таблицы B, следующего вида : X++: edit Name groupName(boolean _set = false, InvestmentAccessGroupCode _id = this.InvestmentAccessGroupCode) { if(_set) this.InvestmentAccessGroupCode = _id; return (select GroupName from InvestmentGroupAccess where this.InvestmentAccessGroupCode == InvestmentGroupAccess.GroupCode).GroupName; } Есть форма с гридом по таблице А, один из контролов которого завязан на этот edit-метод. Ситуация : встаем в форме на запись таблицы А с корректным значением ссылки(и результатом edit-метода, естесственно) и, не вызывая lookup, удаляем в контроле , привязанном к edit-методу и доступному для редактирования, часть текста и делаем переход на соседнюю строку. В оставленной нами строке результат edit-метода - пустой, значение ссылки на таблицу B - кусок текста, являвшегося результатом нашего редактирования и кастрированного до размера EDT ссылочного поля. Вопрос - где был обозначенный Relation в моменты изменения записи и перехода с нее и что он вообще делал ? Конечно, подобную ситуацию можно исправить, добавив к проверке на булевский _set еще и проверку на наличие записи в ссылочной таблице через ее метод exist(), однако в таком случае не оставляет смутное ощущение, что меня где-то обманули . P.S. В 4.0 SP2 FP2 EE аналогично ...
__________________
Мы летаем, кружимся, нагоняем ужасы ... Последний раз редактировалось TasmanianDevil; 19.11.2008 в 09:12. Причина: P.S. добавлял |
|