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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.08.2018, 14:47   #1  
actNaturally is offline
actNaturally
Участник
Аватар для actNaturally
 
19 / 10 (1) +
Регистрация: 28.10.2014
? DAX 2012: Акапта автоматически добавляет условия в SELECT
Доброго дня!

Прошу поделиться опытом, кто сталкивался с функционалом разработки/настройки, который может вызывать такое поведение.

Одно и то же приложение на 2-х АОСах.
На одном из АОСов было замечено, что селект из InventLocation перестал возвращать значения.

Делаем тестовый джоб:

X++:
InventLocation              inventLocation;
;
select count(RecId) from inventLocation;
info(strFmt("%1", inventLocation.RecId));
выдаёт "0" на первом сервере, выдаёт "980" на втором сервере. На SQL значения есть, тот же запрос напрямую в SQL выдаёт 980.

Причина стала ясна после проверки через trace parser
С правильного АОСа уходит запрос:
X++:
SELECT COUNT(T1.RECID) 
FROM INVENTLOCATION T1 
WHERE ((PARTITION=5117145432) 
	AND (DATAAREAID=N'tmpCmp'))
Со второго тот же самый джоб генерирует запрос:
X++:
SELECT COUNT(T1.RECID) 
FROM INVENTLOCATION T1 
WHERE ((T1.PARTITION=5117145432) 
	AND (T1.DATAAREAID=N'tmpCmp')) 
	AND 
EXISTS (
SELECT 'RetailStore' 
FROM RETAILCHANNELTABLE T2 CROSS 
JOIN RETAILSTOREADDRESSBOOK T3 CROSS 
JOIN DIRADDRESSBOOKPARTY T4 CROSS 
JOIN DIRPERSONUSER T5 
WHERE (((T2.PARTITION=5117145432) 
	AND (T1.INVENTLOCATIONID=T2.INVENTLOCATION)) 
	AND (T2.INSTANCERELATIONTYPE IN (101893) )) 
	AND ((T3.PARTITION=5117145432) 
	AND (T2.RECID=T3.STORERECID)) 
	AND ((T4.PARTITION=5117145432) 
	AND (T3.ADDRESSBOOK=T4.ADDRESSBOOK)) 
	AND (((T5.PARTITION=5117145432) 
	AND ((T5.VALIDFROM<=?) 
	AND (T5.VALIDTO>=?))) 
	AND ((T5.USER_=?) 
	AND (T4.PARTY=T5.PERSONPARTY))))
Есть ещё несколько таблиц, которые стали себя вести так же, все они связаны с RetailStoreTable через ряд таблиц. Запрос к RetailStoreTable тоже ничего не возвращает, т.к. усложняется конструкцией с "Exists".

При этом после рестарта AOSа Аксапта какое-то время показывает значения всех этих таблиц на формах (и селекты через парсер мы видим корректные). После каких действий запросы снова портятся отловить не удаётся.

XDS не перенастраивали.
Что может добавлять такой хвост?

#HELPHELPHELP
Теги
#needhelp

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX: Microsoft Dynamics AX 2012 R3 global online launch event: April 10, 2014 Blog bot DAX Blogs 0 19.03.2014 07:11
DAX: Official Dynamics AX 2012 R2 Content (update) - Where is it, and how can you find out about updates? Blog bot DAX Blogs 0 03.12.2012 11:11
DAX: Processing U.S. Payroll with Microsoft Dynamics AX 2012 R2 Blog bot DAX Blogs 0 03.12.2012 11:11
DAX: A sneak peek tour: 4 Business Benefits of Microsoft Dynamics AX 2012 R2 Blog bot DAX Blogs 0 03.12.2012 11:11
dax-lessons: User Relations [Dynamics AX 2009 vs AX 2012, UserExternalParty and DirPersonUser Tables in AX 2012] Blog bot DAX Blogs 0 03.01.2012 17:11

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:17.