gastosmobil.py
2.49 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# -*- coding: utf-8 -*-
from odoo import models, fields, api, exceptions
from .qr import qrfiscal
from odoo.exceptions import UserError, ValidationError, Warning, RedirectWarning
import base64
class gastos_mobiles(models.Model):
_name = 'hgt.mobil_gastos_config'
_description = u'Configuracion carga rapida de Gastos Mobil'
_inherit = ['asw.action.manager', 'asw.generador_comprobante']
name = fields.Char(string='Descripcion')
habilitado = fields.Boolean(string='Habilitado', default=True)
talonario = fields.Many2one(
string = 'Talonario de gasto',
comodel_name = 'asw.talonario',
help="Es el talonario que oficia de pseudo factura",
ondelete = 'set null',
domain=lambda self: self.get_domain_talonario(),
)
talonario_recibo = fields.Many2one(
string = 'Resivos de gasto',
comodel_name = 'asw.talonario',
help="Es el talonario de Resivos en el que saldra plata de la caja",
ondelete = 'set null',
domain=lambda self: self.get_domain_talonario_recibo(),
)
producto = fields.Many2one(
string = 'Producto',
comodel_name = 'asw.producto',
ondelete = 'set null',
domain=lambda self: self.get_domain_producto(),
)
forma_pago = fields.Many2one(
string = 'Forma de Pago',
comodel_name = 'asw.tipos_valores',
ondelete = 'set null',
)
def BotonPrueba(self):
self.registrar("Prueba del sistema", importe=1.0)
def registrar(self, descripcion="", importe=1.0):
comprobante = self.generar_comprobante(
self.talonario,
False,
0,
'Gastos',
comp_observaciones = "Generado desde la app"
)
linea = comprobante.agregar_producto(self.producto, importe)
caja = self.env.user.caja_default.id
comprobante.write({'comprobante_caja_ids': caja})
if descripcion == '' or descripcion == False:
descripcion = self.producto.prod_descripcion
linea.lcp_descripcion_producto = descripcion
comprobante.validar()
comprobante.pago_rapido(self.forma_pago, self.talonario_recibo)
return(True)
def get_domain_producto(self):
return [('prod_es_gasto','=', True)]
def get_domain_talonario(self):
return [('tal_menu', '=', 'gas')]
def get_domain_talonario_recibo(self):
return [('tal_menu', '=', 'rec'),('tal_tipo','=', 'r')]