mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-06 05:39:12 +00:00
Discount in purchase cycle
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
{
|
||||
'creation': '2010-08-08 17:09:12',
|
||||
'docstatus': 0,
|
||||
'modified': '2011-12-08 14:09:24',
|
||||
'modified': '2011-12-08 16:05:27',
|
||||
'modified_by': 'Administrator',
|
||||
'owner': 'Administrator'
|
||||
},
|
||||
@@ -21,7 +21,7 @@
|
||||
'section_style': 'Tray',
|
||||
'server_code_error': ' ',
|
||||
'show_in_menu': 0,
|
||||
'version': 52
|
||||
'version': 54
|
||||
},
|
||||
|
||||
# These values are common for all DocField
|
||||
@@ -108,7 +108,7 @@
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'purchase_rate',
|
||||
'fieldtype': 'Currency',
|
||||
'label': 'Rate (Default Curr.)',
|
||||
'label': 'Rate (Default Curr.) *',
|
||||
'oldfieldname': 'purchase_rate',
|
||||
'oldfieldtype': 'Currency',
|
||||
'permlevel': 0,
|
||||
@@ -123,7 +123,7 @@
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'purchase_ref_rate',
|
||||
'fieldtype': 'Currency',
|
||||
'label': 'Ref Rate',
|
||||
'label': 'Ref Rate *',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
'fieldname': 'import_rate',
|
||||
'fieldtype': 'Currency',
|
||||
'hidden': 0,
|
||||
'label': 'Rate *',
|
||||
'label': 'Rate ',
|
||||
'oldfieldname': 'import_rate',
|
||||
'oldfieldtype': 'Currency',
|
||||
'permlevel': 0,
|
||||
@@ -185,7 +185,7 @@
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'import_ref_rate',
|
||||
'fieldtype': 'Currency',
|
||||
'label': 'Ref Rate *',
|
||||
'label': 'Ref Rate ',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
|
||||
@@ -125,6 +125,22 @@ cur_frm.cscript.import_rate = function(doc, cdt, cdn) {
|
||||
cur_frm.cscript.calc_amount(doc, 1);
|
||||
}
|
||||
|
||||
//==================== Discount Rate ================================================================
|
||||
cur_frm.cscript.discount_rate = function(doc, cdt, cdn) {
|
||||
// Calculate Amount
|
||||
cur_frm.cscript.calc_amount(doc, 4);
|
||||
}
|
||||
//==================== Purchase Ref Rate ================================================================
|
||||
cur_frm.cscript.purchase_ref_rate = function(doc, cdt, cdn) {
|
||||
// Calculate Amount
|
||||
cur_frm.cscript.calc_amount(doc, 4);
|
||||
}
|
||||
//==================== Import Ref Rate ================================================================
|
||||
cur_frm.cscript.import_ref_rate = function(doc, cdt, cdn) {
|
||||
// Calculate Amount
|
||||
cur_frm.cscript.calc_amount(doc, 5);
|
||||
}
|
||||
|
||||
|
||||
//====================== Calculate Amount ============================================================
|
||||
/*cur_frm.cscript.calc_amount = function(doc, n) {
|
||||
@@ -242,19 +258,64 @@ cur_frm.cscript.calc_amount = function(doc, n) {
|
||||
for(var i=0;i<cl.length;i++)
|
||||
{
|
||||
if(n == 1){
|
||||
set_multiple(tname, cl[i].name, {'purchase_ref_rate':flt(cl[i].import_ref_rate)*flt(doc.conversion_rate)}, fname);
|
||||
set_multiple(tname, cl[i].name, {'discount_rate': flt(flt( flt( flt(cl[i].import_ref_rate) - flt(cl[i].import_rate) ) * 100 )/flt(cl[i].import_ref_rate)) }, fname);
|
||||
set_multiple(tname, cl[i].name, {'purchase_rate': flt(doc.conversion_rate) * flt(cl[i].import_rate) }, fname);
|
||||
set_multiple(tname, cl[i].name, {'amount': flt(flt(cl[i].qty) * flt(doc.conversion_rate) * flt(cl[i].import_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].import_rate))}, fname);
|
||||
|
||||
}
|
||||
if(n == 2){
|
||||
set_multiple(tname, cl[i].name, {'amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate)), 'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate)) }, fname);
|
||||
set_multiple(tname, cl[i].name, {'purchase_ref_rate':flt(cl[i].import_ref_rate)*flt(doc.conversion_rate)}, fname);
|
||||
set_multiple(tname, cl[i].name, {'discount_rate': flt(flt( flt( flt(cl[i].purchase_ref_rate) - flt(cl[i].purchase_rate) ) * 100 )/flt(cl[i].purchase_ref_rate)) }, fname);
|
||||
set_multiple(tname, cl[i].name, {'amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate)),}, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate)) }, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
|
||||
}
|
||||
|
||||
}
|
||||
if(n == 3){
|
||||
set_multiple(tname, cl[i].name, {'purchase_rate': flt(flt(cl[i].amount) / flt(cl[i].qty)) }, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
|
||||
}
|
||||
if( n==4){
|
||||
set_multiple(tname, cl[i].name, {'import_ref_rate': flt(flt(cl[i].purchase_ref_rate) / flt(doc.conversion_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'purchase_rate':flt( flt(cl[i].purchase_ref_rate) - flt(flt(cl[i].purchase_ref_rate)*flt(cl[i].discount_rate)/100) )}, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'amount':flt(flt(cl[i].qty) * flt(cl[i].purchase_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
|
||||
|
||||
}
|
||||
|
||||
if( n==5){
|
||||
set_multiple(tname, cl[i].name, {'purchase_ref_rate': flt(flt(cl[i].import_ref_rate) * flt(doc.conversion_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'purchase_rate':flt( flt(cl[i].import_ref_rate) - flt(flt(cl[i].import_ref_rate)*flt(cl[i].discount_rate)/100) ) * flt(doc.conversion_rate) }, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'amount':flt(flt(cl[i].qty) * flt(cl[i].purchase_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
|
||||
|
||||
}
|
||||
if( n==6){
|
||||
|
||||
//set_multiple(tname, cl[i].name, {'import_ref_rate': flt(flt(cl[i].purchase_ref_rate) / flt(doc.conversion_rate))}, fname);
|
||||
if (cl[i].purchase_ref_rate){
|
||||
set_multiple(tname, cl[i].name, {'purchase_rate':flt( flt(cl[i].purchase_ref_rate) - flt(flt(cl[i].purchase_ref_rate)*flt(cl[i].discount_rate)/100) )}, fname);
|
||||
}
|
||||
else{
|
||||
set_multiple(tname, cl[i].name, {'purchase_rate': flt(flt(cl[i].import_rate) * flt(doc.conversion_rate))}, fname);
|
||||
}
|
||||
if (cl[i].import_ref_rate){
|
||||
set_multiple(tname, cl[i].name, {'import_rate':flt( flt(cl[i].import_ref_rate) - flt(flt(cl[i].import_ref_rate)*flt(cl[i].discount_rate)/100) )}, fname);
|
||||
}
|
||||
else{
|
||||
set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].import_rate) * flt(doc.conversion_rate))}, fname);
|
||||
}
|
||||
|
||||
set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'amount':flt(flt(cl[i].qty) * flt(cl[i].purchase_rate))}, fname);
|
||||
set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
|
||||
|
||||
}
|
||||
if (n != 3){
|
||||
net_total += flt(flt(cl[i].qty) * flt(cl[i].purchase_rate));
|
||||
net_total_import += flt(flt(cl[i].qty) * flt(cl[i].import_rate));
|
||||
|
||||
Reference in New Issue
Block a user