AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 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. Причина: уменьшение кол-ва пробелов в запросе
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Performance - Analyzing key SQL Server configuration and database settings Blog bot DAX Blogs 0 28.09.2015 14:11
DAX: Microsoft Dynamics AX 2012 R3 is now available! Blog bot DAX Blogs 1 02.05.2014 23:00
DAX: How to gain additional value from the Microsoft application platform with Microsoft Dynamics AX 2012 R2 Blog bot DAX Blogs 3 21.06.2013 15:16
ax-erp: Get underlying SQL query using getSQLStatement [Dynamics AX 2012] Blog bot DAX Blogs 0 19.07.2012 18:11
Dynamics AX Sustained Engineering: Servicing of Dynamics AX 2012 and Dynamics AX 2012 Feature Pack Blog bot DAX Blogs 0 08.05.2012 23:12

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:41.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.