Приветствую. Есть следующий код.
X++:
public void UpdateVariableParms()
{
real saleLineAmount;
real priceUnit;
real qty;
SalesLineVariableParms saleLineVarParam;
PriceVariableParms::construct().run(this);
saleLineAmount = this.LineAmount;
select * from saleLineVarParam
where saleLineVarParam.SalesLineRef == this.RecId;
while select saleLineVarParam
{
if(saleLineVarParam.MinCharge == true)
{
saleLineAmount += saleLineVarParam.Charge;
}
else if(saleLineVarParam.PriceAs == PriceAs::Surcharge)
{
saleLineAmount += saleLineVarParam.Price;
}
else if(saleLineVarParam.PriceAs == PriceAs::ByItem)
{
priceUnit += saleLineVarParam.Price;
}
ttsBegin;
this.LineAmount = saleLineAmount;
this.PriceUnit = priceUnit;
this.update();
ttsCommit;
}
}
Не могу выйти из цикла while select salesLineVarParam. В таблице SalesLineVariableParms проверял есть только одна запись удовлетврояющая моему условию. В чем конкретно ошибка? Заранее спасибо за ответ.