Merge pull request #25841 from nextchamp-saqib/fix(gstr-1)--incorrect-gstin-fetched-incase-of-branch-company-address

fix(gstr-1): incorrect gstin fetched incase of branch company address
This commit is contained in:
Deepesh Garg 2021-05-26 11:20:30 +05:30 committed by GitHub
commit 36a11bf9ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -574,7 +574,7 @@ class Gstr1Report(object):
def get_json(filters, report_name, data): def get_json(filters, report_name, data):
filters = json.loads(filters) filters = json.loads(filters)
report_data = json.loads(data) report_data = json.loads(data)
gstin = get_company_gstin_number(filters["company"]) gstin = get_company_gstin_number(filters["company"], filters["company_address"])
fp = "%02d%s" % (getdate(filters["to_date"]).month, getdate(filters["to_date"]).year) fp = "%02d%s" % (getdate(filters["to_date"]).month, getdate(filters["to_date"]).year)
@ -810,23 +810,29 @@ def get_rate_and_tax_details(row, gstin):
return {"num": int(num), "itm_det": itm_det} return {"num": int(num), "itm_det": itm_det}
def get_company_gstin_number(company): def get_company_gstin_number(company, address=None):
filters = [ if address:
["is_your_company_address", "=", 1], gstin = frappe.db.get_value("Address", address, "gstin")
["Dynamic Link", "link_doctype", "=", "Company"],
["Dynamic Link", "link_name", "=", company],
["Dynamic Link", "parenttype", "=", "Address"],
]
gstin = frappe.get_all("Address", filters=filters, fields=["gstin"]) if not gstin:
filters = [
["is_your_company_address", "=", 1],
["Dynamic Link", "link_doctype", "=", "Company"],
["Dynamic Link", "link_name", "=", company],
["Dynamic Link", "parenttype", "=", "Address"],
]
gstin = frappe.get_all("Address", filters=filters, pluck="gstin")
if gstin:
gstin[0]
if gstin: if not gstin:
return gstin[0]["gstin"] address = frappe.bold(address) if address else ""
else: frappe.throw(_("Please set valid GSTIN No. in Company Address {} for company {}").format(
frappe.throw(_("Please set valid GSTIN No. in Company Address for company {0}").format( address, frappe.bold(company)
frappe.bold(company)
)) ))
return gstin
@frappe.whitelist() @frappe.whitelist()
def download_json_file(): def download_json_file():
''' download json content in a file ''' ''' download json content in a file '''