27.05.2003, 17:12 | #1 |
Участник
|
Недопустимая комбинация поля/поля ссылки
Привет,
В таблице Table1 присутствуют два поля: - RefType (Enum, значения : 0, 1, 2) - RefId (String) На таблице заданы relations: - SalesTable Table1.RefType == 0 Table1.RefId == SalesTable.SalesId - Table2 Table1.RefType == 1 Table1.RefId == Table2.Id На форме (Table1) при попытке создать сложный фильтр (Ctrl + F3 ), добавляем DataSource Table2 (n:1) . Выдается сообщение об ошибке "Недопустимая комбинация поля/поля ссылки". Хотя переход к основной таблице работает правильно. При добавлении в фильтр SalesTable - она добавляется без проблем. Почему не добавляется Table2? |
|
29.05.2003, 15:54 | #2 |
Moderator
|
Все дело в том, что при построении query, когда система пытается прописать связи с Table2 согласно relations (класс SysQueryBuilder метод newDataSource()), она неправильно отрабатывает тип связи "Поле фиксировано". В методе видно, что получаемые числа система пытается интерпретировать как id полей. Так было в версии 2.5, а в 3.0 они все же решили эту проблему и проверяют тип связи в relation`е.
Можно сделать так: (класс SysQueryBuilder метод newDataSource()) PHP код:
__________________
Андрей. |
|
29.05.2003, 16:31 | #3 |
Участник
|
Круто!
Спасибо!
|
|