Показать сообщение отдельно
Старый 27.04.2011, 07:24   #11  
uchenik is offline
uchenik
Участник
 
119 / 20 (1) +++
Регистрация: 15.12.2008
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Т.е. загвоздка в том чтобы в одном условии использовать поля из разных таблиц?
Возможно проблема возникает из-за того что вы пытаетесь подсунуть нужное условие в первую таблицу. Попробуйте тоже самое условие переместить в подчинённый датасорс. Так будет работает?
X++:
    QueryBuildRange qbr;
    ;
    qbr = this.query().dataSourceName(stTable2_ds.name()).findRange(fieldnum(stTable2, RecId));
    if (!qbr)
    {
        qbr = this.query().dataSourceName(stTable2_ds.name()).addRange(fieldnum(stTable2, RecId));
    }
    qbr.value(strfmt('( %1.ItemId like "%2" )',
    this.name(),
    strlen(StringEdit.text()) ? strfmt('*%1*', StringEdit.text()) : "*"
    ));
    super();
    info(this.query().dataSourceName(this.name()).toString());
Этот вариант не накладывает ограничения на главную таблицу (RU4, RU5).
Да и потом если прикрепленных таблиц несколько?

Работает если вызвать executeQuery для ВСЕХ источников в ОБРАТНОМ ПОРЯДКЕ.
Как костыль сошло бы, но как же быть в случае нескольких дочерних источников?

Последний раз редактировалось uchenik; 27.04.2011 в 07:36.