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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2006, 11:17   #1  
evb is offline
evb
Участник
 
32 / 10 (1) +
Регистрация: 11.01.2008
уже 2 дня бьемся над проблемой - как об стенку...
в методе класса есть два цикла
цикл №1:
while select priceDiscTable
where (priceDiscTable.relation == PriceType::LineDiscSales &&
priceDiscTable.ItemCode == TableGroupAll::Table &&
priceDiscTable.ItemRelation == tmpSalesUpload.ItemId &&
((priceDiscTable.AccountCode == TableGroupAll::GroupId &&
priceDiscTable.AccountRelation == custTable.LineDisc) ||
(priceDiscTable.AccountCode == TableGroupAll::Table &&
priceDiscTable.AccountRelation == custTable.AccountNum)) &&
priceDiscTable.UnitId == inventUnit &&
priceDiscTable.FromDate <= tmpSalesUpload.UM_InvoiceDate &&
priceDiscTable.ToDate >= tmpSalesUpload.UM_InvoiceDate) ||
//ins >
(priceDiscTable.relation == PriceType::EndDiscSales &&
((priceDiscTable.AccountCode == TableGroupAll::GroupId &&
priceDiscTable.AccountRelation == custTable.EndDisc) ||
(priceDiscTable.AccountCode == TableGroupAll::Table &&
priceDiscTable.AccountRelation == custTable.AccountNum)) &&
priceDiscTable.FromDate <= tmpSalesUpload.UM_InvoiceDate &&
priceDiscTable.ToDate >= tmpSalesUpload.UM_InvoiceDate)
//ins <
outer join discType
where discType.UM_DiscTypeId == priceDiscTable.UM_DiscType
{...}

и цикл №2:
while select priceDiscTable
where (priceDiscTable.relation == PriceType::EndDiscSales &&
((priceDiscTable.AccountCode == TableGroupAll::GroupId &&
priceDiscTable.AccountRelation == custTable.EndDisc) ||
(priceDiscTable.AccountCode == TableGroupAll::Table &&
priceDiscTable.AccountRelation == custTable.AccountNum)) &&
priceDiscTable.FromDate <= tmpSalesUpload.UM_InvoiceDate &&
priceDiscTable.ToDate >= tmpSalesUpload.UM_InvoiceDate)
outer join discType
where discType.UM_DiscTypeId == priceDiscTable.UM_DiscType
{...}

Расположены друг за другом.Первый цикл состоит из двух частей, соединенных оператором ИЛИ. Как легко заметить, вторая часть первого цикла и сам второй цикл полностью идентичны! Но вот проблема, во второй цикл программа заходит а в первый нет . Почему?
Старый 30.05.2006, 11:50   #2  
Wamr_imported is offline
Wamr_imported
Участник
 
101 / 10 (1) +
Регистрация: 08.01.2004
Посмотрите какие запросы идут на SQL сервер, может там станет понятней.
Старый 30.05.2006, 11:53   #3  
evb is offline
evb
Участник
 
32 / 10 (1) +
Регистрация: 11.01.2008
смотрели, запрос правильный...
Старый 30.05.2006, 14:44   #4  
Wamr_imported is offline
Wamr_imported
Участник
 
101 / 10 (1) +
Регистрация: 08.01.2004
"правильный" это значит что через QA тоже ничего не вернет?
 


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

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

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