public boolean validateInvoiceAmtwithDiscount()// calucalte the invocie amount with discount on 21-aug -17
{
boolean ret = true;
container displayFields;
AmountCur invocieAmt = 0.00, TotalSalesAmt = 0.00, TotalAmtWithDiscount = 0.00;
salesLine salesLine;
smmParametersTable smmParametersTable;
;
if(this && this.SalesType == salesType::Sales)
{
displayFields = SalesTotals::displayFieldsServer(this, salesUpdate::All, CompanyInfo::standardCurrency());
invocieAmt = conpeek(displayFields, TradeTotals::posTotalAmount());
while select salesLine
where salesLine.SalesId == this.SalesId
{
TotalSalesAmt += (salesLine.MSP * salesLine.SalesQty) ;
}
if(smmParametersTable::find().DiscountPercentage)
TotalAmtWithDiscount = TotalSalesAmt - (TotalSalesAmt * (smmParametersTable::find().DiscountPercentage / 100));
else
TotalAmtWithDiscount = TotalSalesAmt;
info(strFmt("discount percentage %1",smmParametersTable::find().DiscountPercentage));
if(invocieAmt < TotalAmtWithDiscount)
ret = checkFailed("Invocie Amount should not Less than the Sales Lines Amount. ");
}
return ret;
}
{
boolean ret = true;
container displayFields;
AmountCur invocieAmt = 0.00, TotalSalesAmt = 0.00, TotalAmtWithDiscount = 0.00;
salesLine salesLine;
smmParametersTable smmParametersTable;
;
if(this && this.SalesType == salesType::Sales)
{
displayFields = SalesTotals::displayFieldsServer(this, salesUpdate::All, CompanyInfo::standardCurrency());
invocieAmt = conpeek(displayFields, TradeTotals::posTotalAmount());
while select salesLine
where salesLine.SalesId == this.SalesId
{
TotalSalesAmt += (salesLine.MSP * salesLine.SalesQty) ;
}
if(smmParametersTable::find().DiscountPercentage)
TotalAmtWithDiscount = TotalSalesAmt - (TotalSalesAmt * (smmParametersTable::find().DiscountPercentage / 100));
else
TotalAmtWithDiscount = TotalSalesAmt;
info(strFmt("discount percentage %1",smmParametersTable::find().DiscountPercentage));
if(invocieAmt < TotalAmtWithDiscount)
ret = checkFailed("Invocie Amount should not Less than the Sales Lines Amount. ");
}
return ret;
}