Merge branch 'develop'
This commit is contained in:
commit
e2d4079363
@ -1 +1 @@
|
|||||||
__version__ = '4.9.2'
|
__version__ = '4.9.3'
|
||||||
|
@ -213,10 +213,11 @@ cur_frm.cscript.voucher_type = function(doc, cdt, cdn) {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var update_jv_details = function(doc, r) {
|
var update_jv_details = function(doc, r) {
|
||||||
$.each(r.message, function(i, d) {
|
|
||||||
var jvdetail = frappe.model.add_child(doc, "Journal Voucher Detail", "entries");
|
var jvdetail = frappe.model.add_child(doc, "Journal Voucher Detail", "entries");
|
||||||
jvdetail.account = d.account;
|
$.each(r, function(i, d) {
|
||||||
jvdetail.balance = d.balance;
|
var row = frappe.model.add_child(doc, "Journal Voucher Detail", "entries");
|
||||||
|
row.account = d.account;
|
||||||
|
row.balance = d.balance;
|
||||||
});
|
});
|
||||||
refresh_field("entries");
|
refresh_field("entries");
|
||||||
}
|
}
|
||||||
@ -231,7 +232,7 @@ cur_frm.cscript.voucher_type = function(doc, cdt, cdn) {
|
|||||||
},
|
},
|
||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
if(r.message) {
|
if(r.message) {
|
||||||
update_jv_details(doc, r);
|
update_jv_details(doc, [r.message]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -245,7 +246,7 @@ cur_frm.cscript.voucher_type = function(doc, cdt, cdn) {
|
|||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
frappe.model.clear_table(doc, "entries");
|
frappe.model.clear_table(doc, "entries");
|
||||||
if(r.message) {
|
if(r.message) {
|
||||||
update_jv_details(doc, r);
|
update_jv_details(doc, r.message);
|
||||||
}
|
}
|
||||||
cur_frm.set_value("is_opening", "Yes")
|
cur_frm.set_value("is_opening", "Yes")
|
||||||
}
|
}
|
||||||
|
@ -385,7 +385,7 @@ class JournalVoucher(AccountsController):
|
|||||||
for d in self.get("entries"):
|
for d in self.get("entries"):
|
||||||
master_type, master_name = frappe.db.get_value("Account", d.account,
|
master_type, master_name = frappe.db.get_value("Account", d.account,
|
||||||
["master_type", "master_name"])
|
["master_type", "master_name"])
|
||||||
if master_type == "Customer" and master_name:
|
if master_type == "Customer" and master_name and flt(d.debit) > 0:
|
||||||
super(JournalVoucher, self).check_credit_limit(d.account)
|
super(JournalVoucher, self).check_credit_limit(d.account)
|
||||||
|
|
||||||
def get_balance(self):
|
def get_balance(self):
|
||||||
|
@ -175,7 +175,7 @@ class StockController(AccountsController):
|
|||||||
_(self.doctype), self.name, item.get("item_code")))
|
_(self.doctype), self.name, item.get("item_code")))
|
||||||
|
|
||||||
def get_sl_entries(self, d, args):
|
def get_sl_entries(self, d, args):
|
||||||
sl_dict = {
|
sl_dict = frappe._dict({
|
||||||
"item_code": d.get("item_code", None),
|
"item_code": d.get("item_code", None),
|
||||||
"warehouse": d.get("warehouse", None),
|
"warehouse": d.get("warehouse", None),
|
||||||
"posting_date": self.posting_date,
|
"posting_date": self.posting_date,
|
||||||
@ -192,7 +192,7 @@ class StockController(AccountsController):
|
|||||||
"serial_no": d.get("serial_no"),
|
"serial_no": d.get("serial_no"),
|
||||||
"project": d.get("project_name"),
|
"project": d.get("project_name"),
|
||||||
"is_cancelled": self.docstatus==2 and "Yes" or "No"
|
"is_cancelled": self.docstatus==2 and "Yes" or "No"
|
||||||
}
|
})
|
||||||
|
|
||||||
sl_dict.update(args)
|
sl_dict.update(args)
|
||||||
return sl_dict
|
return sl_dict
|
||||||
|
@ -4,7 +4,7 @@ app_publisher = "Web Notes Technologies Pvt. Ltd. and Contributors"
|
|||||||
app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
|
app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations"
|
||||||
app_icon = "icon-th"
|
app_icon = "icon-th"
|
||||||
app_color = "#e74c3c"
|
app_color = "#e74c3c"
|
||||||
app_version = "4.9.2"
|
app_version = "4.9.3"
|
||||||
|
|
||||||
error_report_email = "support@erpnext.com"
|
error_report_email = "support@erpnext.com"
|
||||||
|
|
||||||
|
@ -131,6 +131,7 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({
|
|||||||
|
|
||||||
if(me.is_default("warehouse") ? true : me.warehouse == sl.warehouse) {
|
if(me.is_default("warehouse") ? true : me.warehouse == sl.warehouse) {
|
||||||
var item = me.item_by_name[sl.item_code];
|
var item = me.item_by_name[sl.item_code];
|
||||||
|
if(item.closing_qty_value==undefined) item.closing_qty_value = 0;
|
||||||
|
|
||||||
if(me.value_or_qty!="Quantity") {
|
if(me.value_or_qty!="Quantity") {
|
||||||
var wh = me.get_item_warehouse(sl.warehouse, sl.item_code);
|
var wh = me.get_item_warehouse(sl.warehouse, sl.item_code);
|
||||||
|
@ -52,11 +52,15 @@ class DeliveryNote(SellingController):
|
|||||||
else:
|
else:
|
||||||
df.delete_key("__print_hide")
|
df.delete_key("__print_hide")
|
||||||
|
|
||||||
toggle_print_hide(self.meta, "currency")
|
|
||||||
|
|
||||||
item_meta = frappe.get_meta("Delivery Note Item")
|
item_meta = frappe.get_meta("Delivery Note Item")
|
||||||
for fieldname in ("rate", "amount", "price_list_rate", "discount_percentage"):
|
print_hide_fields = {
|
||||||
toggle_print_hide(item_meta, fieldname)
|
"parent": ["grand_total_export", "rounded_total_export", "in_words_export", "currency", "net_total_export"],
|
||||||
|
"items": ["rate", "amount", "price_list_rate", "discount_percentage"]
|
||||||
|
}
|
||||||
|
|
||||||
|
for key, fieldname in print_hide_fields.items():
|
||||||
|
for f in fieldname:
|
||||||
|
toggle_print_hide(self.meta if key == "parent" else item_meta, f)
|
||||||
|
|
||||||
def get_portal_page(self):
|
def get_portal_page(self):
|
||||||
return "shipment" if self.docstatus==1 else None
|
return "shipment" if self.docstatus==1 else None
|
||||||
|
@ -27,7 +27,7 @@ def make_sl_entries(sl_entries, is_amended=None):
|
|||||||
if sle.get('is_cancelled') == 'Yes':
|
if sle.get('is_cancelled') == 'Yes':
|
||||||
sle['actual_qty'] = -flt(sle['actual_qty'])
|
sle['actual_qty'] = -flt(sle['actual_qty'])
|
||||||
|
|
||||||
if sle.get("actual_qty") or sle.voucher_type=="Stock Reconciliation":
|
if sle.get("actual_qty") or sle.get("voucher_type")=="Stock Reconciliation":
|
||||||
sle_id = make_entry(sle)
|
sle_id = make_entry(sle)
|
||||||
|
|
||||||
args = sle.copy()
|
args = sle.copy()
|
||||||
|
2
setup.py
2
setup.py
@ -1,7 +1,7 @@
|
|||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
import os
|
import os
|
||||||
|
|
||||||
version = "4.9.2"
|
version = "4.9.3"
|
||||||
|
|
||||||
with open("requirements.txt", "r") as f:
|
with open("requirements.txt", "r") as f:
|
||||||
install_requires = f.readlines()
|
install_requires = f.readlines()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user