83 lines
2.8 KiB
YAML
83 lines
2.8 KiB
YAML
-
|
|
Accountant can also be created receipt and validate it there for I checked it with that user who is accountant.
|
|
-
|
|
!context
|
|
uid: 'res_users_account_voucher_user'
|
|
-
|
|
Creating a Voucher Receipt for partner Seagate with amount 30000.0
|
|
-
|
|
!record {model: account.voucher, id: account_voucher_seagate_0, view: view_sale_receipt_form}:
|
|
account_id: account.a_recv
|
|
amount: 30000.0
|
|
company_id: base.main_company
|
|
journal_id: account.sales_journal
|
|
line_cr_ids:
|
|
- account_id: account.a_sale
|
|
amount: 30000.0
|
|
type: cr
|
|
partner_id: base.res_partner_19
|
|
period_id: account.period_9
|
|
type: sale
|
|
|
|
-
|
|
I check that the voucher state is Draft
|
|
-
|
|
!assert {model: account.voucher, id: account_voucher_seagate_0}:
|
|
- state == 'draft'
|
|
|
|
-
|
|
I click on post button to post the voucher
|
|
-
|
|
!workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_seagate_0}
|
|
|
|
-
|
|
Check that the voucher state is Posted
|
|
-
|
|
!assert {model: account.voucher, id: account_voucher_seagate_0}:
|
|
- state == 'posted'
|
|
|
|
-
|
|
I check that move lines are validated but not reconciled
|
|
-
|
|
!python {model: account.voucher}: |
|
|
reconciled = False
|
|
for l in self.browse(cr, uid, [ref("account_voucher_seagate_0")])[0].move_ids:
|
|
if l.reconcile_id:
|
|
reconciled = True
|
|
break
|
|
assert (not reconciled), "Found reconciled move lines, should not be"
|
|
-
|
|
I create and post a voucher payment of amount 30000.0 for the partner Seagate
|
|
-
|
|
!python {model: account.voucher}: |
|
|
vals = {}
|
|
journal_id = self.default_get(cr, uid, ['journal_id']).get('journal_id',None)
|
|
res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_19"), journal_id, 0.0, 1, ttype='receipt', date=False)
|
|
vals = {
|
|
'account_id': ref('account.cash'),
|
|
'amount': 30000.0,
|
|
'company_id': ref('base.main_company'),
|
|
'journal_id': ref('account.bank_journal'),
|
|
'partner_id': ref('base.res_partner_19'),
|
|
'period_id': ref('account.period_8'),
|
|
'type': 'receipt',
|
|
}
|
|
if not res['value']['line_cr_ids']:
|
|
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
|
|
res['value']['line_cr_ids'][0]['amount'] = 30000.0
|
|
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
|
|
id = self.create(cr, uid, vals)
|
|
voucher_id = self.browse(cr, uid, id)
|
|
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
|
|
voucher_id.signal_workflow('proforma_voucher')
|
|
-
|
|
I check that move lines are reconciled meaning voucher is paid
|
|
-
|
|
!python {model: account.voucher}: |
|
|
reconciled = False
|
|
for l in self.browse(cr, uid, [ref("account_voucher_seagate_0")])[0].move_ids:
|
|
if l.reconcile_id:
|
|
reconciled = True
|
|
break
|
|
assert reconciled, "Found unreconciled move lines/unpaid voucher"
|