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",
|
||||
"field_order": [
|
||||
"client",
|
||||
"account_number_length",
|
||||
"column_break_2",
|
||||
"client_number",
|
||||
"section_break_4",
|
||||
"column_break_2",
|
||||
"consultant_number",
|
||||
"consultant",
|
||||
"section_break_4",
|
||||
"account_number_length",
|
||||
"column_break_6",
|
||||
"consultant_number"
|
||||
"temporary_against_account_number"
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
@ -66,10 +67,17 @@
|
||||
"fieldtype": "Int",
|
||||
"label": "Account Number Length",
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"allow_in_quick_entry": 1,
|
||||
"fieldname": "temporary_against_account_number",
|
||||
"fieldtype": "Data",
|
||||
"label": "Temporary Against Account Number",
|
||||
"reqd": 1
|
||||
}
|
||||
],
|
||||
"links": [],
|
||||
"modified": "2020-11-05 17:52:11.674329",
|
||||
"modified": "2020-11-19 19:00:09.088816",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Regional",
|
||||
"name": "DATEV Settings",
|
||||
|
@ -96,6 +96,8 @@ def execute(filters=None):
|
||||
"""Entry point for frappe."""
|
||||
data = []
|
||||
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)
|
||||
|
||||
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',
|
||||
|
||||
/* 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 */
|
||||
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.voucher_no as 'Belegfeld 1',
|
||||
LEFT(gl.remarks, 60) as 'Buchungstext',
|
||||
@ -171,27 +173,10 @@ def get_transactions(filters, as_dict=1):
|
||||
|
||||
FROM `tabGL Entry` gl
|
||||
|
||||
/* Statistisches Konto (Debitoren/Kreditoren) */
|
||||
left join `tabParty Account` pa
|
||||
on gl.against = pa.parent
|
||||
and gl.company = pa.company
|
||||
|
||||
/* Kontonummer */
|
||||
left join `tabAccount` acc
|
||||
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
|
||||
AND DATE(gl.posting_date) >= %(from_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')
|
||||
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)
|
||||
account_names = get_account_names(filters)
|
||||
|
@ -126,7 +126,8 @@ def make_datev_settings(company):
|
||||
"doctype": "DATEV Settings",
|
||||
"client": company.name,
|
||||
"client_number": "12345",
|
||||
"consultant_number": "67890"
|
||||
"consultant_number": "67890",
|
||||
"temporary_against_account_number": "9999"
|
||||
}).insert()
|
||||
|
||||
|
||||
@ -137,7 +138,8 @@ class TestDatev(TestCase):
|
||||
self.filters = {
|
||||
"company": self.company.name,
|
||||
"from_date": today(),
|
||||
"to_date": today()
|
||||
"to_date": today(),
|
||||
"temporary_against_account_number": "9999"
|
||||
}
|
||||
|
||||
make_datev_settings(self.company)
|
||||
|
Loading…
x
Reference in New Issue
Block a user