Показать сообщение отдельно
Старый 27.02.2013, 19:29   #1  
sashanka is offline
sashanka
Участник
 
28 / 10 (1) +
Регистрация: 07.02.2013
Сложный Range
Задаем несложный Range:
X++:
    str60                   wrkgroup                = "W0123*";

    ;

    queryBuildDatasource.addRange( fieldNum( wrkCtrTable, WrkCtrGroupId )).value(
    strFmt('(%1 == %2)', fieldStr( wrkCtrTable, WrkCtrGroupId ), fieldStr( wrkCtrTable, WrkCtrId ) ) );

   queryBuildDatasource.addRange( fieldNum( wrkCtrTable, WrkCtrId )).value( wrkgroup );
Имеем:

Название: Безымянный.png
Просмотров: 1455

Размер: 108.2 Кб

Задача:

Убрать верхнюю строчку из lookup, т.е. отображать только тех фрезеровщиков у которых есть разряд.

Читаем:
Expressions in query ranges
Сложный Range с датами

Пытаемся повторить :

X++:
    str60                   wrkgroup                = "W0123*";
    str60                   notwrkgroup             = "W012300000";

queryBuildDatasource.addRange( fieldNum( wrkCtrTable, WrkCtrGroupId )).value(
    strFmt('(%1 == %2)', fieldStr( wrkCtrTable, WrkCtrGroupId ), fieldStr( wrkCtrTable, WrkCtrId ) ) );
  
   queryBuildDatasource.addRange( fieldNum( wrkCtrTable, WrkCtrId )).value(
    strFmt('( (%1 == "%2") && (%1 != "%3") )',
    fieldStr(wrkCtrTable, WrkCtrId),
    queryValue( wrkgroup) )
    queryValue( notwrkgroup ) )
     );
НО получаем пустой lookup
Делаем запрос на таблице, убеждаемся что все таки имеются записи удовлетворяющие нашим условиям:

Нажмите на изображение для увеличения
Название: Безымянный1.png
Просмотров: 296
Размер:	97.0 Кб
ID:	8087

Пытаемся решить задачу своими силами:

немного упрощаем Range:
X++:
    str60                   wrkgroup                = "W0123*";

queryBuildDatasource.addRange( fieldNum( wrkCtrTable, WrkCtrGroupId )).value(
    strFmt('(%1 == %2)', fieldStr( wrkCtrTable, WrkCtrGroupId ), fieldStr( wrkCtrTable, WrkCtrId ) ) );
  
   queryBuildDatasource.addRange( fieldNum( wrkCtrTable, WrkCtrId )).value(
    strFmt(' (%1 == "%2") ',
    fieldStr(wrkCtrTable, WrkCtrId),
    queryValue( wrkgroup ) )
     );
И все равно получаем пустой lookup.

Что я делаю не так?