Показать сообщение отдельно
Старый 25.12.2020, 06:33   #1  
Nick42 is offline
Nick42
Участник
 
12 / 10 (1) +
Регистрация: 11.06.2019
Проблема с Query в классе RunBaseBatch в AX 2012
Доброго времени суток!!! Столкнулся с такой проблемой в динамическом запросе класса RunBaseBatch при добавления метода InitQuery() в класс и выборкой критериев не работает запрос ( приведен ниже). т.е. не находит запись хотя тот же запрос в джобе работает на ура. Сначала думал что проблема в запаковке, наткнулся на то что влияет на неработоспособность запроса кол-во выбранных критериев по одному полю из таблицы. если добавить на форме диалога еще критерий то при этом на диалоговом окне класса запрос обрезает критерии. Но если смотреть строку запроса то она не обрезанная.
Запрос
protected void initQuery()

{

Query query = new Query();

QueryBuildDataSource qbdsCustEtranInvoices, qbdsEtranInvoicesStateTable;

QueryBuildRange qbrCustEtranInvoices, qbrEtranInvoicesStateTable;

;

qbdsCustEtranInvoices = query.addDataSource(tableNum(CustEtranInvoices));

qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldNum(CustEtranInvoices, GU27Num));

qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldNum(CustEtranInvoices, GU27NumForClaim));//ЭУ091220

qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldNum(CustEtranInvoices, TypeRelationship));

qbrCustEtranInvoices.value(queryValue(EtranTypeRelationship::Cust));

qbrCustEtranInvoices.status(RangeStatus::Locked);

qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldnum(CustEtranInvoices, SendPost));

qbrCustEtranInvoices.value(queryValue(NoYes::No));

qbrCustEtranInvoices.status(RangeStatus::Locked);

qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldnum(CustEtranInvoices, TicketPost));

qbrCustEtranInvoices.value(queryValue(NoYes::No));

qbrCustEtranInvoices.status(RangeStatus::Locked);

/*qbdsEtranInvoicesStateTable = qbdsCustEtranInvoices.addDataSource(tableNum(EtranInvoicesStateTable));

qbdsEtranInvoicesStateTable.joinMode(JoinMode::InnerJoin);

qbdsEtranInvoicesStateTable.relations(true);*/ // Джоин таблицы названий енумов пока не в приоритете

qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldnum(CustEtranInvoices, EtranInvoiceState));

qbrCustEtranInvoices.value(queryValue(enum2int(EtranInvoiceState::vputi)));

qbrCustEtranInvoices.status(RangeStatus::Locked);

qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldnum(CustEtranInvoices, EtranInvoiceState));

qbrCustEtranInvoices.value(queryValue(enum2int(EtranInvoiceState::rabotasdokumentomokonchena)));

qbrCustEtranInvoices.status(RangeStatus::Locked);

qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldnum(CustEtranInvoices, EtranInvoiceState));

qbrCustEtranInvoices.value(queryValue(enum2int(EtranInvoiceState::gruzpribyl)));

qbrCustEtranInvoices.status(RangeStatus::Locked);


qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldnum(CustEtranInvoices, EtranInvoiceState));

qbrCustEtranInvoices.value(queryValue(enum2int(EtranInvoiceState:oluchateluvedomlen)));

qbrCustEtranInvoices.status(RangeStatus::Locked);


qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldnum(CustEtranInvoices, EtranInvoiceState));

qbrCustEtranInvoices.value(queryValue(enum2int(EtranInvoiceState::raskreditovan)));

qbrCustEtranInvoices.status(RangeStatus::Locked);


qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldnum(CustEtranInvoices, EtranInvoiceState));

qbrCustEtranInvoices.value(queryValue(enum2int(EtranInvoiceState::gotovkomplektdokumentov)));

qbrCustEtranInvoices.status(RangeStatus::Locked);


qbrCustEtranInvoices = qbdsCustEtranInvoices.addRange(fieldnum(CustEtranInvoices, EtranInvoiceState));

qbrCustEtranInvoices.value(queryValue(enum2int(EtranInvoiceState::gruzprinjatkperevozke)));

qbrCustEtranInvoices.status(RangeStatus::Locked); //TODO:MNI какой то баг нашел разбираться нужно.

//info(strFmt("%1", query.dataSourceNo(1).toString()));

queryRun = new SysQueryRun(query);

}

Последний раз редактировалось Nick42; 25.12.2020 в 06:39. Причина: уменьшение кол-ва пробелов в запросе