30.05.2006, 11:17 | #1 |
Участник
|
уже 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 {...} Расположены друг за другом.Первый цикл состоит из двух частей, соединенных оператором ИЛИ. Как легко заметить, вторая часть первого цикла и сам второй цикл полностью идентичны! Но вот проблема, во второй цикл программа заходит а в первый нет . Почему? |
|