Merge branch 'hotfix' into fix_by_voucher_order
This commit is contained in:
@@ -21,7 +21,7 @@ frappe.ui.form.on("Sales Invoice", {
|
||||
if(frm.doc.docstatus == 1 && !frm.is_dirty()
|
||||
&& !frm.doc.is_return && !frm.doc.ewaybill) {
|
||||
|
||||
frm.add_custom_button('Generate e-Way Bill JSON', () => {
|
||||
frm.add_custom_button('e-Way Bill JSON', () => {
|
||||
var w = window.open(
|
||||
frappe.urllib.get_full_url(
|
||||
"/api/method/erpnext.regional.india.utils.generate_ewb_json?"
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for(var j=0, k=data.length; j<k; j++) { %}
|
||||
{% for(var j=0, k=data.length-1; j<k; j++) { %}
|
||||
{%
|
||||
var row = data[j];
|
||||
var row_class = data[j].parent_account ? "" : "financial-statements-important";
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for(var i=0, l=data.length; i<l; i++) { %}
|
||||
{% for(var i=0, l=data.length-1; i<l; i++) { %}
|
||||
<tr>
|
||||
{% if(data[i].posting_date) { %}
|
||||
<td>{%= frappe.datetime.str_to_user(data[i].posting_date) %}</td>
|
||||
|
||||
@@ -102,7 +102,9 @@ def get_conditions(filters):
|
||||
("customer", " and `tabSales Invoice`.customer = %(customer)s"),
|
||||
("item_code", " and `tabSales Invoice Item`.item_code = %(item_code)s"),
|
||||
("from_date", " and `tabSales Invoice`.posting_date>=%(from_date)s"),
|
||||
("to_date", " and `tabSales Invoice`.posting_date<=%(to_date)s")):
|
||||
("to_date", " and `tabSales Invoice`.posting_date<=%(to_date)s"),
|
||||
("company_gstin", " and `tabSales Invoice`.company_gstin = %(company_gstin)s"),
|
||||
("invoice_type", " and `tabSales Invoice`.invoice_type = %(invoice_type)s")):
|
||||
if filters.get(opts[0]):
|
||||
conditions += opts[1]
|
||||
|
||||
|
||||
@@ -300,11 +300,15 @@ def insert_lab_test_to_medical_record(doc):
|
||||
|
||||
elif doc.special_test_items:
|
||||
item = doc.special_test_items[0]
|
||||
table_row = item.lab_test_particulars +" "+ item.result_value
|
||||
|
||||
if item.lab_test_particulars and item.result_value:
|
||||
table_row = item.lab_test_particulars +" "+ item.result_value
|
||||
|
||||
elif doc.sensitivity_test_items:
|
||||
item = doc.sensitivity_test_items[0]
|
||||
table_row = item.antibiotic +" "+ item.antibiotic_sensitivity
|
||||
|
||||
if item.antibiotic and item.antibiotic_sensitivity:
|
||||
table_row = item.antibiotic +" "+ item.antibiotic_sensitivity
|
||||
|
||||
if table_row:
|
||||
subject += "<br/>"+table_row
|
||||
|
||||
@@ -13,8 +13,6 @@ source_link = "https://github.com/frappe/erpnext"
|
||||
|
||||
develop_version = '12.x.x-develop'
|
||||
|
||||
error_report_email = "support@erpnext.com"
|
||||
|
||||
app_include_js = "assets/js/erpnext.min.js"
|
||||
app_include_css = "assets/css/erpnext.css"
|
||||
web_include_js = "assets/js/erpnext-web.min.js"
|
||||
|
||||
@@ -443,7 +443,7 @@ class SalarySlip(TransactionBase):
|
||||
else:
|
||||
component_row.additional_amount = amount
|
||||
|
||||
if not overwrite:
|
||||
if not overwrite and component_row.default_amount:
|
||||
amount += component_row.default_amount
|
||||
|
||||
component_row.amount = amount
|
||||
|
||||
@@ -367,6 +367,20 @@ def generate_ewb_json(dt, dn):
|
||||
|
||||
frappe.local.response.filename = '{0}_e-WayBill_Data_{1}.json'.format(doc_name, frappe.utils.random_string(5))
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_gstins_for_company(company):
|
||||
company_gstins =[]
|
||||
if company:
|
||||
company_gstins = frappe.db.sql("""select
|
||||
distinct `tabAddress`.gstin
|
||||
from
|
||||
`tabAddress`, `tabDynamic Link`
|
||||
where
|
||||
`tabDynamic Link`.parent = `tabAddress`.name and
|
||||
`tabDynamic Link`.parenttype = 'Address' and
|
||||
`tabDynamic Link`.link_doctype = 'Company' and
|
||||
`tabDynamic Link`.link_name = '{0}'""".format(company))
|
||||
return company_gstins
|
||||
|
||||
def get_address_details(data, doc, company_address, billing_address):
|
||||
data.fromPincode = validate_pincode(company_address.pincode, 'Company Address')
|
||||
|
||||
@@ -3,5 +3,31 @@
|
||||
/* eslint-disable */
|
||||
|
||||
{% include "erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.js" %}
|
||||
{% include "erpnext/regional/report/india_gst_common/india_gst_common.js" %}
|
||||
|
||||
frappe.query_reports["GST Itemised Sales Register"] = frappe.query_reports["Item-wise Sales Register"]
|
||||
let filters = frappe.query_reports["Item-wise Sales Register"]["filters"];
|
||||
|
||||
// Add GSTIN filter
|
||||
filters = filters.concat({
|
||||
"fieldname":"company_gstin",
|
||||
"label": __("Company GSTIN"),
|
||||
"fieldtype": "Select",
|
||||
"placeholder":"Company GSTIN",
|
||||
"options": [""],
|
||||
"width": "80"
|
||||
}, {
|
||||
"fieldname":"invoice_type",
|
||||
"label": __("Invoice Type"),
|
||||
"fieldtype": "Select",
|
||||
"placeholder":"Invoice Type",
|
||||
"options": ["", "Regular", "SEZ", "Export", "Deemed Export"]
|
||||
});
|
||||
|
||||
// Handle company on change
|
||||
for (var i = 0; i < filters.length; ++i) {
|
||||
if (filters[i].fieldname === 'company') {
|
||||
filters[i].on_change = fetch_gstins;
|
||||
}
|
||||
}
|
||||
|
||||
frappe.query_reports["GST Itemised Sales Register"] = { "filters": filters, "onload": fetch_gstins };
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
// For license information, please see license.txt
|
||||
/* eslint-disable */
|
||||
|
||||
{% include "erpnext/regional/report/india_gst_common/india_gst_common.js" %}
|
||||
|
||||
frappe.query_reports["HSN-wise-summary of outward supplies"] = {
|
||||
"filters": [
|
||||
{
|
||||
@@ -10,7 +12,8 @@ frappe.query_reports["HSN-wise-summary of outward supplies"] = {
|
||||
"fieldtype": "Link",
|
||||
"options": "Company",
|
||||
"reqd": 1,
|
||||
"default": frappe.defaults.get_user_default("Company")
|
||||
"default": frappe.defaults.get_user_default("Company"),
|
||||
"on_change": fetch_gstins
|
||||
},
|
||||
{
|
||||
"fieldname":"gst_hsn_code",
|
||||
@@ -18,6 +21,17 @@ frappe.query_reports["HSN-wise-summary of outward supplies"] = {
|
||||
"fieldtype": "Link",
|
||||
"options": "GST HSN Code",
|
||||
"width": "80"
|
||||
},
|
||||
{
|
||||
"fieldname":"company_gstin",
|
||||
"label": __("Company GSTIN"),
|
||||
"fieldtype": "Select",
|
||||
"placeholder":"Company GSTIN",
|
||||
"options": [""],
|
||||
"width": "80"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
onload: (report) => {
|
||||
fetch_gstins(report);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -87,7 +87,8 @@ def get_conditions(filters):
|
||||
conditions = ""
|
||||
|
||||
for opts in (("company", " and company=%(company)s"),
|
||||
("gst_hsn_code", " and gst_hsn_code=%(gst_hsn_code)s")):
|
||||
("gst_hsn_code", " and gst_hsn_code=%(gst_hsn_code)s"),
|
||||
("company_gstin", " and company_gstin=%(company_gstin)s")):
|
||||
if filters.get(opts[0]):
|
||||
conditions += opts[1]
|
||||
|
||||
@@ -193,7 +194,7 @@ def get_merged_data(columns, data):
|
||||
add_column_index.append(i)
|
||||
|
||||
for row in data:
|
||||
if merged_hsn_dict.has_key(row[0]):
|
||||
if row[0] in merged_hsn_dict:
|
||||
to_add_row = merged_hsn_dict.get(row[0])
|
||||
|
||||
# add columns from the add_column_index table
|
||||
|
||||
21
erpnext/regional/report/india_gst_common/india_gst_common.js
Normal file
21
erpnext/regional/report/india_gst_common/india_gst_common.js
Normal file
@@ -0,0 +1,21 @@
|
||||
function fetch_gstins(report) {
|
||||
var company_gstins = report.get_filter('company_gstin');
|
||||
var company = report.get_filter_value('company');
|
||||
if (company) {
|
||||
frappe.call({
|
||||
method:'erpnext.regional.india.utils.get_gstins_for_company',
|
||||
async: false,
|
||||
args: {
|
||||
company: company
|
||||
},
|
||||
callback: function(r) {
|
||||
r.message.unshift("");
|
||||
company_gstins.df.options = r.message;
|
||||
company_gstins.refresh();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
company_gstins.df.options = [""];
|
||||
company_gstins.refresh();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user