This topic is locked

Implement Cascading Discount in PHPRunner

5/8/2017 1:33:01 PM
PHPRunner Tips and Tricks
romaldus author

Read more about cascading discount:
http://cascadebusnew...ts-of-discounts
or here:

https://appsfromraji...ding-discounts/
I have sales_order table in MySQL with the following fields:
-fashion_code [size="2"]---------------------------------[/size][size="2"] (char 25)[/size]

-fashion_name [size="2"]---------------------------------[/size][size="2"] (char 30)[/size]
-retail_price [size="2"]---------------------------------[/size] [size="2"](decimal 11,2)[/size]

-qty --------------------------------- (int 5)

-discount1 [size="2"]---------------------------------[/size] [size="2"] (decimal 5,2)[/size]

-discount2 [size="2"]---------------------------------[/size] [size="2"](decimal 5,2)[/size]

-discount3 [size="2"]---------------------------------[/size] [size="2"](decimal 5,2)[/size]

-total [size="2"]---------------------------------[/size] [size="2"]( decimal 11,2)[/size]
To calculatetotal field using cascading discount (percentage), use the following code in add page, javascript onload event:


var ctrlRetailPrice = Runner.getControl(pageid, 'retail_price');

var ctrlQty = Runner.getControl(pageid, 'qty');

var ctrlDiscount = Runner.getControl(pageid, 'discount1');

var ctrlDiscount2 = Runner.getControl(pageid, 'discount2');

var ctrlDiscount3 = Runner.getControl(pageid, 'discount3');

var ctrlTotal1 = Runner.getControl(pageid, 'total');

var ctrlTotal2 = Runner.getControl(pageid, 'total');

var ctrlTotal3 = Runner.getControl(pageid, 'total');
function func()

{
ctrlTotal1.setValue(Number(ctrlRetailPrice.getValue()) * Number(ctrlQty.getValue()) - (Number(ctrlDiscount.getValue())/100)*(Number(ctrlRetailPrice.getValue()) * Number(ctrlQty.getValue())));

ctrlTotal2.setValue(Number(ctrlTotal1.getValue()) - (Number(ctrlDiscount2.getValue())/100)*(Number(ctrlTotal1.getValue())));

ctrlTotal3.setValue(Number(ctrlTotal1.getValue()) - (Number(ctrlDiscount3.getValue())/100)*(Number(ctrlTotal1.getValue())));
};
ctrlRetailPrice.on('keyup', func);

ctrlQty.on('keyup', func);

ctrlDiscount.on('keyup', func);

ctrlDiscount2.on('keyup', func);

ctrlDiscount3.on('keyup', func);