feat: temporary against account (#24086)
* feat: add temporaray against account nmber to datev settings * feat: use temporary against account in datev report * test: add temp against account number to test data * test: include temp against aaccount in filters
This commit is contained in:
parent
fa3ec3c346
commit
1991ba7910
@ -7,13 +7,14 @@
|
|||||||
"engine": "InnoDB",
|
"engine": "InnoDB",
|
||||||
"field_order": [
|
"field_order": [
|
||||||
"client",
|
"client",
|
||||||
"account_number_length",
|
|
||||||
"column_break_2",
|
|
||||||
"client_number",
|
"client_number",
|
||||||
"section_break_4",
|
"column_break_2",
|
||||||
|
"consultant_number",
|
||||||
"consultant",
|
"consultant",
|
||||||
|
"section_break_4",
|
||||||
|
"account_number_length",
|
||||||
"column_break_6",
|
"column_break_6",
|
||||||
"consultant_number"
|
"temporary_against_account_number"
|
||||||
],
|
],
|
||||||
"fields": [
|
"fields": [
|
||||||
{
|
{
|
||||||
@ -66,10 +67,17 @@
|
|||||||
"fieldtype": "Int",
|
"fieldtype": "Int",
|
||||||
"label": "Account Number Length",
|
"label": "Account Number Length",
|
||||||
"reqd": 1
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow_in_quick_entry": 1,
|
||||||
|
"fieldname": "temporary_against_account_number",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Temporary Against Account Number",
|
||||||
|
"reqd": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2020-11-05 17:52:11.674329",
|
"modified": "2020-11-19 19:00:09.088816",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Regional",
|
"module": "Regional",
|
||||||
"name": "DATEV Settings",
|
"name": "DATEV Settings",
|
||||||
|
@ -96,6 +96,8 @@ def execute(filters=None):
|
|||||||
"""Entry point for frappe."""
|
"""Entry point for frappe."""
|
||||||
data = []
|
data = []
|
||||||
if filters and validate(filters):
|
if filters and validate(filters):
|
||||||
|
fn = 'temporary_against_account_number'
|
||||||
|
filters[fn] = frappe.get_value('DATEV Settings', filters.get('company'), fn)
|
||||||
data = get_transactions(filters, as_dict=0)
|
data = get_transactions(filters, as_dict=0)
|
||||||
|
|
||||||
return COLUMNS, data
|
return COLUMNS, data
|
||||||
@ -156,11 +158,11 @@ def get_transactions(filters, as_dict=1):
|
|||||||
case gl.debit when 0 then 'H' else 'S' end as 'Soll/Haben-Kennzeichen',
|
case gl.debit when 0 then 'H' else 'S' end as 'Soll/Haben-Kennzeichen',
|
||||||
|
|
||||||
/* account number or, if empty, party account number */
|
/* account number or, if empty, party account number */
|
||||||
coalesce(acc.account_number, acc_pa.account_number) as 'Konto',
|
acc.account_number as 'Konto',
|
||||||
|
|
||||||
/* against number or, if empty, party against number */
|
/* against number or, if empty, party against number */
|
||||||
coalesce(acc_against.account_number, acc_against_pa.account_number) as 'Gegenkonto (ohne BU-Schlüssel)',
|
%(temporary_against_account_number)s as 'Gegenkonto (ohne BU-Schlüssel)',
|
||||||
|
|
||||||
gl.posting_date as 'Belegdatum',
|
gl.posting_date as 'Belegdatum',
|
||||||
gl.voucher_no as 'Belegfeld 1',
|
gl.voucher_no as 'Belegfeld 1',
|
||||||
LEFT(gl.remarks, 60) as 'Buchungstext',
|
LEFT(gl.remarks, 60) as 'Buchungstext',
|
||||||
@ -171,27 +173,10 @@ def get_transactions(filters, as_dict=1):
|
|||||||
|
|
||||||
FROM `tabGL Entry` gl
|
FROM `tabGL Entry` gl
|
||||||
|
|
||||||
/* Statistisches Konto (Debitoren/Kreditoren) */
|
|
||||||
left join `tabParty Account` pa
|
|
||||||
on gl.against = pa.parent
|
|
||||||
and gl.company = pa.company
|
|
||||||
|
|
||||||
/* Kontonummer */
|
/* Kontonummer */
|
||||||
left join `tabAccount` acc
|
left join `tabAccount` acc
|
||||||
on gl.account = acc.name
|
on gl.account = acc.name
|
||||||
|
|
||||||
/* Gegenkonto-Nummer */
|
|
||||||
left join `tabAccount` acc_against
|
|
||||||
on gl.against = acc_against.name
|
|
||||||
|
|
||||||
/* Statistische Kontonummer */
|
|
||||||
left join `tabAccount` acc_pa
|
|
||||||
on pa.account = acc_pa.name
|
|
||||||
|
|
||||||
/* Statistische Gegenkonto-Nummer */
|
|
||||||
left join `tabAccount` acc_against_pa
|
|
||||||
on pa.account = acc_against_pa.name
|
|
||||||
|
|
||||||
WHERE gl.company = %(company)s
|
WHERE gl.company = %(company)s
|
||||||
AND DATE(gl.posting_date) >= %(from_date)s
|
AND DATE(gl.posting_date) >= %(from_date)s
|
||||||
AND DATE(gl.posting_date) <= %(to_date)s
|
AND DATE(gl.posting_date) <= %(to_date)s
|
||||||
@ -347,7 +332,9 @@ def download_datev_csv(filters):
|
|||||||
coa = frappe.get_value('Company', company, 'chart_of_accounts')
|
coa = frappe.get_value('Company', company, 'chart_of_accounts')
|
||||||
filters['skr'] = '04' if 'SKR04' in coa else ('03' if 'SKR03' in coa else '')
|
filters['skr'] = '04' if 'SKR04' in coa else ('03' if 'SKR03' in coa else '')
|
||||||
|
|
||||||
filters['account_number_length'] = frappe.get_value('DATEV Settings', company, 'account_number_length')
|
datev_settings = frappe.get_doc('DATEV Settings', company)
|
||||||
|
filters['account_number_length'] = datev_settings.account_number_length
|
||||||
|
filters['temporary_against_account_number'] = datev_settings.temporary_against_account_number
|
||||||
|
|
||||||
transactions = get_transactions(filters)
|
transactions = get_transactions(filters)
|
||||||
account_names = get_account_names(filters)
|
account_names = get_account_names(filters)
|
||||||
|
@ -126,7 +126,8 @@ def make_datev_settings(company):
|
|||||||
"doctype": "DATEV Settings",
|
"doctype": "DATEV Settings",
|
||||||
"client": company.name,
|
"client": company.name,
|
||||||
"client_number": "12345",
|
"client_number": "12345",
|
||||||
"consultant_number": "67890"
|
"consultant_number": "67890",
|
||||||
|
"temporary_against_account_number": "9999"
|
||||||
}).insert()
|
}).insert()
|
||||||
|
|
||||||
|
|
||||||
@ -137,7 +138,8 @@ class TestDatev(TestCase):
|
|||||||
self.filters = {
|
self.filters = {
|
||||||
"company": self.company.name,
|
"company": self.company.name,
|
||||||
"from_date": today(),
|
"from_date": today(),
|
||||||
"to_date": today()
|
"to_date": today(),
|
||||||
|
"temporary_against_account_number": "9999"
|
||||||
}
|
}
|
||||||
|
|
||||||
make_datev_settings(self.company)
|
make_datev_settings(self.company)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user