diff options
| -rw-r--r-- | indoteknik_custom/models/invoice_reklas.py | 73 | ||||
| -rw-r--r-- | indoteknik_custom/views/invoice_reklas.xml | 4 |
2 files changed, 54 insertions, 23 deletions
diff --git a/indoteknik_custom/models/invoice_reklas.py b/indoteknik_custom/models/invoice_reklas.py index 7c29ebca..43736059 100644 --- a/indoteknik_custom/models/invoice_reklas.py +++ b/indoteknik_custom/models/invoice_reklas.py @@ -13,39 +13,70 @@ class InvoiceReklas(models.TransientModel): _description = "digunakan untuk reklas Uang Muka Penjualan" reklas_id = fields.Many2one('account.move', string='Nomor CAB') pay_amt = fields.Float(string='Yang dibayarkan') + reklas_type = fields.Selection([ + ('penjualan', 'Penjualan'), + ('pembelian', 'Pembelian'), + ], string='Reklas Tipe') def create_reklas(self): + if not self.reklas_type: + raise UserError('Reklas Tipe harus diisi') if not self.reklas_id: raise UserError('Nomor CAB harus diisi') invoices = self.env['account.move'].browse(self._context.get('active_ids', [])) current_time = datetime.now() for invoice in invoices: - parameters_header = { - 'ref': 'REKLAS '+self.reklas_id.name+" UANG MUKA PENJUALAN "+invoice.name+" "+invoice.partner_id.name, - 'date': current_time, - 'journal_id': 13 - } + if self.reklas_type == 'penjualan': + parameters_header = { + 'ref': 'REKLAS '+self.reklas_id.name+" UANG MUKA PENJUALAN "+invoice.name+" "+invoice.partner_id.name, + 'date': current_time, + 'journal_id': 13 + } + else: + parameters_header = { + 'ref': 'REKLAS ' + self.reklas_id.name + " UANG MUKA PEMBELIAN " + invoice.name + " " + invoice.partner_id.name, + 'date': current_time, + 'journal_id': 13 + } account_move = request.env['account.move'].create([parameters_header]) _logger.info('Success Reklas with %s' % account_move.name) - parameter_debit = { - 'move_id': account_move.id, - 'account_id': 449, - 'partner_id': invoice.partner_id.id, - 'currency_id': 12, - 'debit': self.pay_amt, - 'credit': 0 - } - parameter_credit = { - 'move_id': account_move.id, - 'account_id': 395, - 'partner_id': invoice.partner_id.id, - 'currency_id': 12, - 'debit': 0, - 'credit': self.pay_amt - } + if self.reklas_type == 'penjualan': + parameter_debit = { + 'move_id': account_move.id, + 'account_id': 449, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': self.pay_amt, + 'credit': 0 + } + parameter_credit = { + 'move_id': account_move.id, + 'account_id': 395, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': 0, + 'credit': self.pay_amt + } + else: + parameter_debit = { + 'move_id': account_move.id, + 'account_id': 438, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': self.pay_amt, + 'credit': 0 + } + parameter_credit = { + 'move_id': account_move.id, + 'account_id': 401, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': 0, + 'credit': self.pay_amt + } request.env['account.move.line'].create([parameter_debit, parameter_credit]) return { 'name': _('Journal Entries'), diff --git a/indoteknik_custom/views/invoice_reklas.xml b/indoteknik_custom/views/invoice_reklas.xml index 126ba71e..e807dca5 100644 --- a/indoteknik_custom/views/invoice_reklas.xml +++ b/indoteknik_custom/views/invoice_reklas.xml @@ -6,10 +6,10 @@ <field name="arch" type="xml"> <form string="Invoice Sales Order"> <p class="oe_grey"> - Invoices will be created in draft so that you can review - them before validation. + Reklas Uang Muka Penjualan / Pembelian akan terbuat Draft, mohon dicek kembali </p> <group> + <field name="reklas_type"/> <field name="reklas_id"/> <field name="pay_amt"/> </group> |
