resolved merge conflicts
This commit is contained in:
commit
3f3ac5652f
@ -2,7 +2,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import frappe
|
import frappe
|
||||||
|
|
||||||
__version__ = '8.3.1'
|
__version__ = '8.3.2'
|
||||||
|
|
||||||
def get_default_company(user=None):
|
def get_default_company(user=None):
|
||||||
'''Get default company for user'''
|
'''Get default company for user'''
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"document_type": "",
|
"document_type": "",
|
||||||
"editable_grid": 0,
|
"editable_grid": 0,
|
||||||
|
"engine": "InnoDB",
|
||||||
"fields": [
|
"fields": [
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
@ -1927,7 +1928,7 @@
|
|||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Item-wise Tax Breakup",
|
"label": "Tax Breakup",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -4687,7 +4688,7 @@
|
|||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"menu_index": 0,
|
"menu_index": 0,
|
||||||
"modified": "2017-07-04 17:11:09.477003",
|
"modified": "2017-07-07 13:05:37.469682",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Accounts",
|
"module": "Accounts",
|
||||||
"name": "Sales Invoice",
|
"name": "Sales Invoice",
|
||||||
|
|||||||
@ -11,7 +11,8 @@ def get_data():
|
|||||||
'Sales Invoice': 'return_against'
|
'Sales Invoice': 'return_against'
|
||||||
},
|
},
|
||||||
'internal_links': {
|
'internal_links': {
|
||||||
'Sales Order': ['items', 'sales_order']
|
'Sales Order': ['items', 'sales_order'],
|
||||||
|
'Delivery Note': ['items', 'delivery_note']
|
||||||
},
|
},
|
||||||
'transactions': [
|
'transactions': [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1116,7 +1116,7 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
})
|
})
|
||||||
si.insert()
|
si.insert()
|
||||||
|
|
||||||
tax_breakup_html = '''\n<div class="tax-break-up" style="overflow-x: auto;">\n\t<table class="table table-bordered table-hover">\n\t\t<thead><tr><th class="text-left" style="min-width: 120px;">Item Name</th>\n<th class="text-right" style="min-width: 80px;">Taxable Amount</th>\n<th class="text-right" style="min-width: 80px;">_Test Account Service Tax - _TC</th></tr></thead>\n\t\t<tbody><tr><td>_Test Item</td><td class="text-right">\u20b9 5,000.00</td><td class="text-right">(10.0%) \u20b9 500.00</td></tr></tbody>\n\t</table>\n</div>'''
|
tax_breakup_html = '''\n<div class="tax-break-up" style="overflow-x: auto;">\n\t<table class="table table-bordered table-hover">\n\t\t<thead><tr><th class="text-left" style="min-width: 120px;">Item Name</th><th class="text-right" style="min-width: 80px;">Taxable Amount</th><th class="text-right" style="min-width: 80px;">_Test Account Service Tax - _TC</th></tr></thead>\n\t\t<tbody><tr><td>_Test Item</td><td class="text-right">\u20b9 5,000.00</td><td class="text-right">(10.0%) \u20b9 500.00</td></tr></tbody>\n\t</table>\n</div>'''
|
||||||
|
|
||||||
self.assertEqual(si.other_charges_calculation, tax_breakup_html)
|
self.assertEqual(si.other_charges_calculation, tax_breakup_html)
|
||||||
|
|
||||||
|
|||||||
@ -531,8 +531,8 @@ class calculate_taxes_and_totals(object):
|
|||||||
<tbody>{rows}</tbody>
|
<tbody>{rows}</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>'''.format(**{
|
</div>'''.format(**{
|
||||||
"headings": "\n".join(headings),
|
"headings": "".join(headings),
|
||||||
"rows": "\n".join(rows)
|
"rows": "".join(rows)
|
||||||
})
|
})
|
||||||
|
|
||||||
def get_item_tax(self, item_tax, tax_accounts, company_currency):
|
def get_item_tax(self, item_tax, tax_accounts, company_currency):
|
||||||
@ -605,7 +605,7 @@ def get_table_rows(distinct_items, item_tax, tax_accounts, company_currency):
|
|||||||
rows.append("<tr><td>{item_name}</td><td class='text-right'>{taxable_amount}</td>{taxes}</tr>".format(**{
|
rows.append("<tr><td>{item_name}</td><td class='text-right'>{taxable_amount}</td>{taxes}</tr>".format(**{
|
||||||
"item_name": item.item_name,
|
"item_name": item.item_name,
|
||||||
"taxable_amount": fmt_money(item.net_amount, item.precision("net_amount"), company_currency),
|
"taxable_amount": fmt_money(item.net_amount, item.precision("net_amount"), company_currency),
|
||||||
"taxes": "\n".join(taxes)
|
"taxes": "".join(taxes)
|
||||||
}))
|
}))
|
||||||
|
|
||||||
return rows
|
return rows
|
||||||
BIN
erpnext/docs/assets/img/setup/email/email-alert-set-property.png
Normal file
BIN
erpnext/docs/assets/img/setup/email/email-alert-set-property.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 204 KiB |
@ -42,6 +42,7 @@ Email alerts allow you to set conditions according to the field data in your doc
|
|||||||
|
|
||||||
The above example will send an Email Alert when a Task is saved with the status "Open" and the Expected End Date for the Task is the date on or before the date on which it was saved on.
|
The above example will send an Email Alert when a Task is saved with the status "Open" and the Expected End Date for the Task is the date on or before the date on which it was saved on.
|
||||||
|
|
||||||
|
|
||||||
### Setting a Message
|
### Setting a Message
|
||||||
|
|
||||||
You can use both Jinja Tags (`{% raw %}{{ doc.[field_name] }}{% endraw %}`) and HTML tags in the message textbox.
|
You can use both Jinja Tags (`{% raw %}{{ doc.[field_name] }}{% endraw %}`) and HTML tags in the message textbox.
|
||||||
@ -64,6 +65,17 @@ You can use both Jinja Tags (`{% raw %}{{ doc.[field_name] }}{% endraw %}`) and
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Setting a Value after the Alert is Set
|
||||||
|
|
||||||
|
Sometimes to make sure that the email alert is not sent multiple times, you can
|
||||||
|
define a custom property (via Customize Form) like "Email Alert Sent" and then
|
||||||
|
set this property after the alert is sent by setting the **Set Property After Alert**
|
||||||
|
field.
|
||||||
|
|
||||||
|
Then you can use that as a condition in the **Condition** rules to ensure emails are not sent multiple times
|
||||||
|
|
||||||
|
<img class="screenshot" alt="Setting Property in Email Alert" src="{{docs_base_url}}/assets/img/setup/email/email-alert-subject.png">
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
1. Defining the Criteria
|
1. Defining the Criteria
|
||||||
|
|||||||
@ -414,3 +414,4 @@ erpnext.patches.v8_1.removed_roles_from_gst_report_non_indian_account
|
|||||||
erpnext.patches.v8_1.gst_fixes #2017-07-06
|
erpnext.patches.v8_1.gst_fixes #2017-07-06
|
||||||
erpnext.patches.v8_0.update_production_orders
|
erpnext.patches.v8_0.update_production_orders
|
||||||
erpnext.patches.v8_1.remove_sales_invoice_from_returned_serial_no
|
erpnext.patches.v8_1.remove_sales_invoice_from_returned_serial_no
|
||||||
|
erpnext.patches.v8_1.allow_invoice_copy_to_edit_after_submit
|
||||||
@ -44,7 +44,7 @@ def add_custom_fields():
|
|||||||
],
|
],
|
||||||
'Sales Invoice': [
|
'Sales Invoice': [
|
||||||
dict(fieldname='invoice_copy', label='Invoice Copy',
|
dict(fieldname='invoice_copy', label='Invoice Copy',
|
||||||
fieldtype='Select', insert_after='project', print_hide=1,
|
fieldtype='Select', insert_after='project', print_hide=1, allow_on_submit=1,
|
||||||
options='ORIGINAL FOR RECIPIENT\nDUPLICATE FOR TRANSPORTER\nTRIPLICATE FOR SUPPLIER'),
|
options='ORIGINAL FOR RECIPIENT\nDUPLICATE FOR TRANSPORTER\nTRIPLICATE FOR SUPPLIER'),
|
||||||
],
|
],
|
||||||
'Sales Order Item': [hsn_sac_field],
|
'Sales Order Item': [hsn_sac_field],
|
||||||
|
|||||||
@ -689,7 +689,7 @@ erpnext.taxes_and_totals = erpnext.payments.extend({
|
|||||||
return '<th style="min-width: 80px;" class="text-right">' + (head || "") + "</th>";
|
return '<th style="min-width: 80px;" class="text-right">' + (head || "") + "</th>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
).join("\n");
|
).join("");
|
||||||
|
|
||||||
var distinct_item_names = [];
|
var distinct_item_names = [];
|
||||||
var distinct_items = [];
|
var distinct_items = [];
|
||||||
@ -711,9 +711,9 @@ erpnext.taxes_and_totals = erpnext.payments.extend({
|
|||||||
return item_tax_record[head[0]] ?
|
return item_tax_record[head[0]] ?
|
||||||
"<td class='text-right'>(" + item_tax_record[head[0]][0] + ") " + item_tax_record[head[0]][1] + "</td>" :
|
"<td class='text-right'>(" + item_tax_record[head[0]][0] + ") " + item_tax_record[head[0]][1] + "</td>" :
|
||||||
"<td></td>";
|
"<td></td>";
|
||||||
}).join("\n")
|
}).join("")
|
||||||
});
|
});
|
||||||
}).join("\n");
|
}).join("");
|
||||||
|
|
||||||
if(!rows) return "";
|
if(!rows) return "";
|
||||||
return '<div class="tax-break-up" style="overflow-x: auto;">\
|
return '<div class="tax-break-up" style="overflow-x: auto;">\
|
||||||
|
|||||||
@ -63,37 +63,32 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
|||||||
});
|
});
|
||||||
|
|
||||||
frappe.ui.form.on(this.frm.doctype, "additional_discount_percentage", function(frm) {
|
frappe.ui.form.on(this.frm.doctype, "additional_discount_percentage", function(frm) {
|
||||||
if (frm.via_discount_amount) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!frm.doc.apply_discount_on) {
|
if(!frm.doc.apply_discount_on) {
|
||||||
frappe.msgprint(__("Please set 'Apply Additional Discount On'"));
|
frappe.msgprint(__("Please set 'Apply Additional Discount On'"));
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
frm.via_discount_percentage = true;
|
frm.via_discount_percentage = true;
|
||||||
|
|
||||||
if(frm.doc.additional_discount_percentage && frm.doc.discount_amount) {
|
if(frm.doc.additional_discount_percentage && frm.doc.discount_amount) {
|
||||||
// Reset discount amount and net / grand total
|
// Reset discount amount and net / grand total
|
||||||
frm.set_value("discount_amount", 0);
|
frm.doc.discount_amount = 0;
|
||||||
|
frm.cscript.calculate_taxes_and_totals();
|
||||||
}
|
}
|
||||||
|
|
||||||
var total = flt(frm.doc[frappe.model.scrub(frm.doc.apply_discount_on)]);
|
var total = flt(frm.doc[frappe.model.scrub(frm.doc.apply_discount_on)]);
|
||||||
var discount_amount = flt(total*flt(frm.doc.additional_discount_percentage) / 100,
|
var discount_amount = flt(total*flt(frm.doc.additional_discount_percentage) / 100,
|
||||||
precision("discount_amount"));
|
precision("discount_amount"));
|
||||||
|
|
||||||
frm.set_value("discount_amount", discount_amount);
|
frm.set_value("discount_amount", discount_amount)
|
||||||
delete frm.via_discount_percentage;
|
.then(() => delete frm.via_discount_percentage);
|
||||||
});
|
});
|
||||||
|
|
||||||
frappe.ui.form.on(this.frm.doctype, "discount_amount", function(frm) {
|
frappe.ui.form.on(this.frm.doctype, "discount_amount", function(frm) {
|
||||||
frm.cscript.set_dynamic_labels();
|
frm.cscript.set_dynamic_labels();
|
||||||
|
|
||||||
if (!frm.via_discount_percentage) {
|
if (!frm.via_discount_percentage) {
|
||||||
frm.via_discount_amount = true;
|
frm.doc.additional_discount_percentage = 0;
|
||||||
frm.set_value("additional_discount_percentage", 0);
|
|
||||||
delete frm.via_discount_amount;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
frm.cscript.calculate_taxes_and_totals();
|
frm.cscript.calculate_taxes_and_totals();
|
||||||
|
|||||||
@ -72,5 +72,5 @@ state_numbers = {
|
|||||||
"Tripura": "16",
|
"Tripura": "16",
|
||||||
"Uttar Pradesh": "35",
|
"Uttar Pradesh": "35",
|
||||||
"Uttarakhand": "36",
|
"Uttarakhand": "36",
|
||||||
"West Bengal": "37"
|
"West Bengal": "19"
|
||||||
}
|
}
|
||||||
@ -15,7 +15,7 @@
|
|||||||
"state_name": "Uttarakhand"
|
"state_name": "Uttarakhand"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"state_number": "37",
|
"state_number": "19",
|
||||||
"state_code": "WB",
|
"state_code": "WB",
|
||||||
"state_name": "West Bengal"
|
"state_name": "West Bengal"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -102,7 +102,7 @@ def make_custom_fields():
|
|||||||
fieldtype='Data', insert_after='company_address',
|
fieldtype='Data', insert_after='company_address',
|
||||||
options='company_address.gstin', print_hide=1),
|
options='company_address.gstin', print_hide=1),
|
||||||
dict(fieldname='invoice_copy', label='Invoice Copy',
|
dict(fieldname='invoice_copy', label='Invoice Copy',
|
||||||
fieldtype='Select', insert_after='project', print_hide=1,
|
fieldtype='Select', insert_after='project', print_hide=1, allow_on_submit=1,
|
||||||
options='ORIGINAL FOR RECIPIENT\nDUPLICATE FOR TRANSPORTER\nTRIPLICATE FOR SUPPLIER')
|
options='ORIGINAL FOR RECIPIENT\nDUPLICATE FOR TRANSPORTER\nTRIPLICATE FOR SUPPLIER')
|
||||||
],
|
],
|
||||||
'Item': [
|
'Item': [
|
||||||
|
|||||||
@ -7,10 +7,10 @@
|
|||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"doctype": "Print Format",
|
"doctype": "Print Format",
|
||||||
"font": "Default",
|
"font": "Default",
|
||||||
"format_data": "[{\"fieldname\": \"print_heading_template\", \"fieldtype\": \"Custom HTML\", \"options\": \"<div class=\\\"print-heading\\\">\\n\\t<h2>\\n\\t\\tSALES INVOICE<br>\\n\\t\\t<small>{{ doc.name }}</small>\\n\\t</h2>\\n</div>\\n<h2 class=\\\"text-center\\\">\\n\\t{% if doc.invoice_copy -%}\\n\\t\\t<small>{{ doc.invoice_copy }}</small>\\n\\t{% endif -%}\\n</h2>\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"company\", \"label\": \"Company\"}, {\"print_hide\": 0, \"fieldname\": \"company_address_display\", \"label\": \"Company Address\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"posting_date\", \"label\": \"Date\"}, {\"print_hide\": 0, \"fieldname\": \"due_date\", \"label\": \"Payment Due Date\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"options\": \"<hr>\", \"fieldname\": \"_custom_html\", \"fieldtype\": \"HTML\", \"label\": \"Custom HTML\"}, {\"fieldtype\": \"Section Break\", \"label\": \"Address\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"customer_name\", \"label\": \"Customer Name\"}, {\"print_hide\": 0, \"fieldname\": \"address_display\", \"label\": \"Address\"}, {\"print_hide\": 0, \"fieldname\": \"contact_display\", \"label\": \"Contact\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"shipping_address\", \"label\": \"Shipping Address\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"item_code\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"description\", \"print_width\": \"200px\"}, {\"print_hide\": 0, \"fieldname\": \"gst_hsn_code\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"qty\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"uom\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"rate\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"items\", \"label\": \"Items\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"total\", \"label\": \"Total\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"description\", \"print_width\": \"300px\"}], \"print_hide\": 0, \"fieldname\": \"taxes\", \"label\": \"Sales Taxes and Charges\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"grand_total\", \"label\": \"Grand Total\"}, {\"print_hide\": 0, \"fieldname\": \"rounded_total\", \"label\": \"Rounded Total\"}, {\"print_hide\": 0, \"fieldname\": \"in_words\", \"label\": \"In Words\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"other_charges_calculation\", \"align\": \"left\", \"label\": \"Item-wise Tax Breakup\"}, {\"fieldtype\": \"Section Break\", \"label\": \"Terms\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"terms\", \"label\": \"Terms and Conditions Details\"}]",
|
"format_data": "[{\"fieldname\": \"print_heading_template\", \"fieldtype\": \"Custom HTML\", \"options\": \"<div class=\\\"print-heading\\\">\\n\\t<h2>\\n\\t\\tTAX INVOICE<br>\\n\\t\\t<small>{{ doc.name }}</small>\\n\\t</h2>\\n</div>\\n<h2 class=\\\"text-center\\\">\\n\\t{% if doc.invoice_copy -%}\\n\\t\\t<small>{{ doc.invoice_copy }}</small>\\n\\t{% endif -%}\\n</h2>\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"company\", \"label\": \"Company\"}, {\"print_hide\": 0, \"fieldname\": \"company_address_display\", \"label\": \"Company Address\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"posting_date\", \"label\": \"Date\"}, {\"print_hide\": 0, \"fieldname\": \"due_date\", \"label\": \"Payment Due Date\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"options\": \"<hr>\", \"fieldname\": \"_custom_html\", \"fieldtype\": \"HTML\", \"label\": \"Custom HTML\"}, {\"fieldtype\": \"Section Break\", \"label\": \"Address\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"customer_name\", \"label\": \"Customer Name\"}, {\"print_hide\": 0, \"fieldname\": \"address_display\", \"label\": \"Address\"}, {\"print_hide\": 0, \"fieldname\": \"contact_display\", \"label\": \"Contact\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"shipping_address\", \"label\": \"Shipping Address\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"item_code\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"description\", \"print_width\": \"200px\"}, {\"print_hide\": 0, \"fieldname\": \"gst_hsn_code\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"qty\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"uom\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"rate\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"items\", \"label\": \"Items\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"total\", \"label\": \"Total\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"description\", \"print_width\": \"300px\"}], \"print_hide\": 0, \"fieldname\": \"taxes\", \"label\": \"Sales Taxes and Charges\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"grand_total\", \"label\": \"Grand Total\"}, {\"print_hide\": 0, \"fieldname\": \"rounded_total\", \"label\": \"Rounded Total\"}, {\"print_hide\": 0, \"fieldname\": \"in_words\", \"label\": \"In Words\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"other_charges_calculation\", \"align\": \"left\", \"label\": \"Tax Breakup\"}, {\"fieldtype\": \"Section Break\", \"label\": \"Terms\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"terms\", \"label\": \"Terms and Conditions Details\"}]",
|
||||||
"idx": 0,
|
"idx": 0,
|
||||||
"line_breaks": 0,
|
"line_breaks": 0,
|
||||||
"modified": "2017-07-06 17:47:38.279783",
|
"modified": "2017-07-07 13:06:20.042807",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Regional",
|
"module": "Regional",
|
||||||
"name": "GST Tax Invoice",
|
"name": "GST Tax Invoice",
|
||||||
|
|||||||
@ -351,7 +351,7 @@ def create_items(args):
|
|||||||
for i in xrange(1,6):
|
for i in xrange(1,6):
|
||||||
item = args.get("item_" + str(i))
|
item = args.get("item_" + str(i))
|
||||||
if item:
|
if item:
|
||||||
item_group = args.get("item_group_" + str(i))
|
item_group = _(args.get("item_group_" + str(i)))
|
||||||
is_sales_item = args.get("is_sales_item_" + str(i))
|
is_sales_item = args.get("is_sales_item_" + str(i))
|
||||||
is_purchase_item = args.get("is_purchase_item_" + str(i))
|
is_purchase_item = args.get("is_purchase_item_" + str(i))
|
||||||
is_stock_item = item_group!=_("Services")
|
is_stock_item = item_group!=_("Services")
|
||||||
@ -373,7 +373,7 @@ def create_items(args):
|
|||||||
"is_purchase_item": is_purchase_item,
|
"is_purchase_item": is_purchase_item,
|
||||||
"is_stock_item": is_stock_item and 1 or 0,
|
"is_stock_item": is_stock_item and 1 or 0,
|
||||||
"item_group": item_group,
|
"item_group": item_group,
|
||||||
"stock_uom": args.get("item_uom_" + str(i)),
|
"stock_uom": _(args.get("item_uom_" + str(i))),
|
||||||
"default_warehouse": default_warehouse
|
"default_warehouse": default_warehouse
|
||||||
}).insert()
|
}).insert()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user