[fix] fixed conversion rate for mapping any documents

This commit is contained in:
Akhilesh Darjee 2013-10-15 20:24:34 +05:30
parent 8f90e1c8f4
commit 61b5c59e70
6 changed files with 18 additions and 16 deletions

View File

@ -29,7 +29,7 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte
// toggle to pos view if is_pos is 1 in user_defaults
if ((cint(wn.defaults.get_user_defaults("is_pos"))===1 || cur_frm.doc.is_pos) &&
cint(wn.defaults.get_user_defaults("fs_pos_view"))===1) {
if(this.frm.doc.__islocal && !this.frm.doc.amended_from) {
if(this.frm.doc.__islocal && !this.frm.doc.amended_from && !this.frm.doc.customer) {
this.frm.set_value("is_pos", 1);
this.is_pos(function() {cur_frm.cscript.toggle_pos(true);});
}

View File

@ -52,7 +52,7 @@ class AccountsController(TransactionBase):
msgprint(_("Account for this ") + fieldname + _(" has been freezed. ") +
self.doc.doctype + _(" can not be made."), raise_exception=1)
def set_price_list_currency(self, buying_or_selling, for_validate=False):
def set_price_list_currency(self, buying_or_selling):
if self.meta.get_field("currency"):
company_currency = get_company_currency(self.doc.company)
@ -66,7 +66,7 @@ class AccountsController(TransactionBase):
if self.doc.price_list_currency == company_currency:
self.doc.plc_conversion_rate = 1.0
elif not self.doc.plc_conversion_rate or not for_validate:
elif not self.doc.plc_conversion_rate:
self.doc.plc_conversion_rate = self.get_exchange_rate(
self.doc.price_list_currency, company_currency)
@ -76,7 +76,7 @@ class AccountsController(TransactionBase):
self.doc.conversion_rate = self.doc.plc_conversion_rate
elif self.doc.currency == company_currency:
self.doc.conversion_rate = 1.0
elif not self.doc.conversion_rate or not for_validate:
elif not self.doc.conversion_rate:
self.doc.conversion_rate = self.get_exchange_rate(self.doc.currency,
company_currency)

View File

@ -28,7 +28,7 @@ class BuyingController(StockController):
super(BuyingController, self).set_missing_values(for_validate)
self.set_supplier_from_item_default()
self.set_price_list_currency("Buying", for_validate)
self.set_price_list_currency("Buying")
# set contact and address details for supplier, if they are not mentioned
if self.doc.supplier and not (self.doc.contact_person and self.doc.supplier_address):

View File

@ -20,7 +20,7 @@ class SellingController(StockController):
# set contact and address details for customer, if they are not mentioned
self.set_missing_lead_customer_details()
self.set_price_list_and_item_details(for_validate)
self.set_price_list_and_item_details()
if self.doc.fields.get("__islocal"):
self.set_taxes("other_charges", "charge")
@ -38,8 +38,8 @@ class SellingController(StockController):
if not self.doc.fields.get(fieldname) and self.meta.get_field(fieldname):
self.doc.fields[fieldname] = val
def set_price_list_and_item_details(self, for_validate=False):
self.set_price_list_currency("Selling", for_validate)
def set_price_list_and_item_details(self):
self.set_price_list_currency("Selling")
self.set_missing_item_details(get_item_details)
def get_other_charges(self):

View File

@ -42,7 +42,7 @@ These numbers help to track individual units or batches of Items which you sell.
> Important: Once you mark an item as serialized or batched or neither, you cannot change it after you have made any stock entry.
- [Disucssion on Serialized Inventory](docs.user.stock.serialized.html)
- [Discussion on Serialized Inventory](docs.user.stock.serialized.html)
### Re Ordering

View File

@ -25,8 +25,6 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({
if(me.frm.fields_dict[fieldname] && !me.frm.doc[fieldname])
me.frm.set_value(fieldname, value);
});
me.frm.script_manager.trigger("company");
}
if(this.other_fname) {
@ -39,9 +37,9 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({
},
onload_post_render: function() {
if(this.frm.doc.__islocal && this.frm.doc.company &&
!this.frm.doc.customer && !this.frm.doc.is_pos) {
var me = this;
if(this.frm.doc.__islocal && this.frm.doc.company && !this.frm.doc.is_pos) {
if(!this.frm.doc.customer) {
return this.frm.call({
doc: this.frm.doc,
method: "onload_post_render",
@ -50,8 +48,12 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({
// remove this call when using client side mapper
me.set_default_values();
me.set_dynamic_labels();
me.calculate_taxes_and_totals()
}
});
} else {
this.calculate_taxes_and_totals();
}
}
},