1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
from odoo import api, fields, models, _
from odoo.exceptions import UserError
class efaktur_wizard(models.TransientModel):
_name = 'vit.efaktur_auto'
start = fields.Date("Invoice Date Start",required=True)
end = fields.Date("Invoice Date End",required=True)
invoice_ids = fields.Many2many(comodel_name="account.move", string="Invoices", )
# @api.multi
def confirm_button(self):
invoice_ids = self.invoice_ids
efaktur_ids = self.env['vit.efaktur'].search([('is_used','=',False)],
order="name asc")
efaktur_len = len(efaktur_ids)
i = 0
for inv in invoice_ids:
if i < efaktur_len:
inv.efaktur_id = efaktur_ids[i]
else:
break
i+=1
self.env.cr.commit()
raise UserError("Selesai penomoran E-Faktur %s invoices(s)!" % i)
# @api.multi
def find_invoices(self):
start = self.start
end = self.end
inv_obj = self.env['account.move']
invoices = inv_obj.search([('invoice_date','>=', start),
('invoice_date','<=', end),
('state','=','open'),
('efaktur_id','=',False),
('type','=','out_invoice')
])
i = 0
invoice_ids = []
for inv in invoices:
invoice_ids.append((4,inv.id))
i+=1
self.invoice_ids=invoice_ids
self.env.cr.commit()
raise UserError("Found %s invoices(s)!" % i)
|