Показать сообщение отдельно
Старый 13.08.2020, 15:40   #1  
SuperStar88 is offline
SuperStar88
Участник
 
79 / 10 (1) +
Регистрация: 11.08.2017
? AX2009. Lookup без/со звёздочкой
Есть класс с диалогом. Перекрыл Lookup
X++:
public void itemIdFld_lookup()
{
    FormStringControl       formStringControl;
    Query                   query;
    QueryBuildDataSource    qbDS;

    SysTableLookup          sysTableLookup;
    ;
    formStringControl = dialog.formRun().controlCallingMethod();
    if (formStringControl)
    {
        query = new Query();
        qbDS = query.addDataSource(tablenum(Table1), "Table1_ds");
        qbDS.orderMode(orderMode::GroupBy);
        qbDS.addSortField(fieldnum(Table1, ItemId), sortOrder::Ascending);

        sysTableLookup = SysTableLookup::newParameters(tablenum(Table1), formStringControl);
        sysTableLookup.addLookupfield(fieldnum(Table1, ItemId), true);
        sysTableLookup.addLookupMethod(tablemethodstr(Table1, itemName));

        sysTableLookup.parmQuery(query);
        sysTableLookup.performFormLookup();
    }
}
Когда поле пустое, то всё ОК - lookup сгруппирован по номенклатуре
А когда вводится значение со звёздочкой (например: 01.01.*), то значения получаются не сгруппированы (куча одинаковых номенклатур в лукапе).

Как это побороть? Чтобы и так, и так всё было сгруппировано!