Merge branch 'version-11-hotfix' into v11-work-order-bugs

This commit is contained in:
Rohan
2019-10-22 17:11:39 +05:30
committed by GitHub
7 changed files with 29 additions and 19 deletions

View File

@@ -16,7 +16,7 @@ frappe.ui.form.on('Share Transfer', {
}; };
}; };
}); });
if (frm.doc.docstatus == 1) { if (frm.doc.docstatus == 1 && frm.doc.equity_or_liability_account && frm.doc.asset_account ) {
frm.add_custom_button(__('Make Journal Entry'), function () { frm.add_custom_button(__('Make Journal Entry'), function () {
erpnext.share_transfer.make_jv(frm); erpnext.share_transfer.make_jv(frm);
}); });
@@ -92,6 +92,7 @@ erpnext.share_transfer.make_jv = function (frm) {
debit_applicant_type = "Shareholder"; debit_applicant_type = "Shareholder";
debit_applicant = frm.doc.from_shareholder; debit_applicant = frm.doc.from_shareholder;
} }
frappe.call({ frappe.call({
args: { args: {
"company": frm.doc.company, "company": frm.doc.company,

View File

@@ -292,11 +292,14 @@ def make_jv_entry( company, account, amount, payment_account,\
"party_type": debit_applicant_type, "party_type": debit_applicant_type,
"party": debit_applicant, "party": debit_applicant,
}) })
account_amt_list.append({ account_amt_list.append({
"account": payment_account, "account": payment_account,
"credit_in_account_currency": amount, "credit_in_account_currency": amount,
"party_type": credit_applicant_type, "party_type": credit_applicant_type,
"party": credit_applicant, "party": credit_applicant,
}) })
journal_entry.set("accounts", account_amt_list) journal_entry.set("accounts", account_amt_list)
return journal_entry.as_dict() return journal_entry.as_dict()

View File

@@ -9,7 +9,7 @@
</div> </div>
<div class="col-xs-{{ "3" if df.fieldtype=="Check" else "7" }} value"> <div class="col-xs-{{ "3" if df.fieldtype=="Check" else "7" }} value">
{% if doc.get(df.fieldname) != None -%} {% if doc.get(df.fieldname) != None -%}
{{ frappe.utils.fmt_money((doc[df.fieldname])|int|abs, currency=doc.currency) }} {{ frappe.utils.fmt_money((doc[df.fieldname])|abs, currency=doc.currency) }}
{% endif %} {% endif %}
</div> </div>
</div> </div>
@@ -26,7 +26,7 @@
<div class="col-xs-5 {%- if doc.align_labels_right %} text-right{%- endif -%}"> <div class="col-xs-5 {%- if doc.align_labels_right %} text-right{%- endif -%}">
<label>{{ charge.get_formatted("description") }}</label></div> <label>{{ charge.get_formatted("description") }}</label></div>
<div class="col-xs-7 text-right"> <div class="col-xs-7 text-right">
{{ frappe.utils.fmt_money((charge.tax_amount)|int|abs, currency=doc.currency) }} {{ frappe.utils.fmt_money((charge.tax_amount)|abs, currency=doc.currency) }}
</div> </div>
</div> </div>
{%- endif -%} {%- endif -%}
@@ -65,8 +65,10 @@
{% for tdf in visible_columns %} {% for tdf in visible_columns %}
{% if not d.flags.compact_item_print or tdf.fieldname in doc.get(df.fieldname)[0].flags.compact_item_fields %} {% if not d.flags.compact_item_print or tdf.fieldname in doc.get(df.fieldname)[0].flags.compact_item_fields %}
<td class="{{ get_align_class(tdf) }}" {{ fieldmeta(df) }}> <td class="{{ get_align_class(tdf) }}" {{ fieldmeta(df) }}>
{% if tdf.fieldtype == 'Currency' %} {% if tdf.fieldname == 'qty' %}
<div class="value">{{ frappe.utils.fmt_money((d[tdf.fieldname])|int|abs, currency=doc.currency) }}</div></td> <div class="value">{{ (d[tdf.fieldname])|abs }}</div></td>
{% elif tdf.fieldtype == 'Currency' %}
<div class="value">{{ frappe.utils.fmt_money((d[tdf.fieldname])|abs, currency=doc.currency) }}</div></td>
{% else %} {% else %}
<div class="value">{{ print_value(tdf, d, doc, visible_columns) }}</div></td> <div class="value">{{ print_value(tdf, d, doc, visible_columns) }}</div></td>
{% endif %} {% endif %}
@@ -117,7 +119,7 @@
{{ render_currency(df, doc) }} {{ render_currency(df, doc) }}
{% elif df.fieldtype =='Table' %} {% elif df.fieldtype =='Table' %}
{{ render_table(df, doc)}} {{ render_table(df, doc)}}
{% elif doc[df.fieldname] %} {% elif doc[df.fieldname] and df.fieldname != 'total_qty' %}
{{ render_field(df, doc) }} {{ render_field(df, doc) }}
{% endif %} {% endif %}
{% endfor %} {% endfor %}

View File

@@ -124,6 +124,7 @@ def update_disbursement_status(doc):
""", (doc.payment_account, doc.name), as_dict=1)[0] """, (doc.payment_account, doc.name), as_dict=1)[0]
disbursement_date = None disbursement_date = None
status = ''
if not disbursement or disbursement.disbursed_amount == 0: if not disbursement or disbursement.disbursed_amount == 0:
status = "Sanctioned" status = "Sanctioned"
elif disbursement.disbursed_amount == doc.loan_amount: elif disbursement.disbursed_amount == doc.loan_amount:

View File

@@ -117,7 +117,7 @@ frappe.ui.form.on("BOM", {
args: { args: {
update_parent: true, update_parent: true,
from_child_bom:false, from_child_bom:false,
save: false save: frm.doc.docstatus === 1 ? true : false
}, },
callback: function(r) { callback: function(r) {
refresh_field("items"); refresh_field("items");

View File

@@ -34,7 +34,8 @@ class BOM(WebsiteGenerator):
# name can be BOM/ITEM/001, BOM/ITEM/001-1, BOM-ITEM-001, BOM-ITEM-001-1 # name can be BOM/ITEM/001, BOM/ITEM/001-1, BOM-ITEM-001, BOM-ITEM-001-1
# split by item # split by item
names = [name.split(self.item)[-1][1:] for name in names] names = [name.split(self.item, 1) for name in names]
names = [d[-1][1:] for d in filter(lambda x: len(x) > 1 and x[-1], names)]
# split by (-) if cancelled # split by (-) if cancelled
names = [cint(name.split('-')[-1]) for name in names] names = [cint(name.split('-')[-1]) for name in names]

View File

@@ -24,7 +24,7 @@ def execute(filters=None):
data = [] data = []
for item in items: for item in items:
total_outgoing = consumed_item_map.get(item.name, 0) + delivered_item_map.get(item.name,0) total_outgoing = flt(consumed_item_map.get(item.name, 0)) + flt(delivered_item_map.get(item.name,0))
avg_daily_outgoing = flt(total_outgoing / diff, float_preceision) avg_daily_outgoing = flt(total_outgoing / diff, float_preceision)
reorder_level = (avg_daily_outgoing * flt(item.lead_time_days)) + flt(item.safety_stock) reorder_level = (avg_daily_outgoing * flt(item.lead_time_days)) + flt(item.safety_stock)
@@ -55,18 +55,20 @@ def get_item_info(filters):
def get_consumed_items(condition): def get_consumed_items(condition):
cn_items = frappe.db.sql("""select se_item.item_code, consumed_items = frappe.db.sql("""
sum(se_item.transfer_qty) as 'consume_qty' select item_code, abs(sum(actual_qty)) as consumed_qty
from `tabStock Entry` se, `tabStock Entry Detail` se_item from `tabStock Ledger Entry`
where se.name = se_item.parent and se.docstatus = 1 where actual_qty < 0
and (ifnull(se_item.t_warehouse, '') = '' or se.purpose = 'Subcontract') %s and voucher_type not in ('Delivery Note', 'Sales Invoice')
group by se_item.item_code""" % (condition), as_dict=1) %s
group by item_code
""" % condition, as_dict=1)
cn_items_map = {} consumed_items_map = {}
for item in cn_items: for item in consumed_items:
cn_items_map.setdefault(item.item_code, item.consume_qty) consumed_items_map.setdefault(item.item_code, item.consumed_qty)
return cn_items_map return consumed_items_map
def get_delivered_items(condition): def get_delivered_items(condition):
dn_items = frappe.db.sql("""select dn_item.item_code, sum(dn_item.stock_qty) as dn_qty dn_items = frappe.db.sql("""select dn_item.item_code, sum(dn_item.stock_qty) as dn_qty