Commit 3b60e318 by Juan

laburo medio

1 parent 8b63cdeb
......@@ -109,7 +109,7 @@ class hgt_cobro_multiple(models.TransientModel):
string='Recibo',
comodel_name='asw.comprobante'
)
###########################################Validaciones y calculos ######################################
@api.depends('pcw_total')
def _compute_cliente(self):
if not len(self.pcw_cliente) == 0:
......@@ -140,16 +140,6 @@ class hgt_cobro_multiple(models.TransientModel):
@api.multi
def pago_facturas_masivo(self):
context = self.env.context
active_ids = context.get('active_ids')
facturas = self.env['asw.comprobante'].search([('id', 'in', active_ids)])
for factura in facturas:
if factura.comp_adeudado > 0:
factura.pago_rapido(self.forma_pago)
@api.depends('pcw_efectivo', 'pcw_che_recibidos', 'pcw_transferencias_recibidas', 'pcw_tarjetas', 'pcw_chq_emitidos', 'pcw_transferencias_emitidas', 'pcw_retencion_recibida','pcw_retenciones')
def _calcular_total(self):
......@@ -166,4 +156,93 @@ class hgt_cobro_multiple(models.TransientModel):
total = total + record.val_monto
for record in self.pcw_retenciones:
total = total + record.val_monto
self.pcw_total = total + self.pcw_efectivo + self.pcw_retencion_recibida
\ No newline at end of file
self.pcw_total = total + self.pcw_efectivo + self.pcw_retencion_recibida
#################################LOGICA DE PAGO #####################################################################
@api.multi
def pago_facturas_masivo(self):
context = self.env.context
active_ids = context.get('active_ids')
facturas = self.env['asw.comprobante'].search([('id', 'in', active_ids)])
if len(facturas) == 0:#no hay facturas seleccionadas
raise Warning("No se seleccionaron facturas")
resivo = self.CrearValidarResivoMultiple()
for factura in facturas:
if not factura.comp_adeudado > 0:
raise Warning(f"Factura {factura.display_name} en cero revisar")
if factura.comp_estado in ["c","b"]:
raise Warning(f"Factura {factura.display_name} esta cancelada o sin validar no se puede pagar")
if(not factura.comp_talonario.tal_genera_cta_cte):
raise Warning(f"Factura {factura.display_name} no mueve cuenta corriente no puedo manejarla")
self.LogicaFacturas(factura,resivo)
return(resivo)
@api.multi
def generar_recibo(self):
resivo = self.pago_facturas_masivo()
return {
'view_type': 'form',
'view_mode': 'form',
'res_model': 'asw.comprobante',
'type': 'ir.actions.act_window',
'target': 'self',
'res_id': resivo.id,
}
def LogicaFacturas(self,factura,resivo):
pass
def CrearValidarResivoMultiple(self,tipo="e"):
talonario = self.env['asw.talonario'].search([('tal_menu','=','rec'),('tal_tipo','=',tipo),('tal_mov_caja', '!=', 'sn')], limit=1)
self.pcw_recibo = self.env['asw.comprobante'].generar_comprobante(
talonario,
self.pcw_cliente,
self.pcw_total,
self.pcw_referencia
)
self.agregar_efectivo()
self.agregar_retencion()
self.agregar_cheques_recibidos()
self.agregar_transferencias_recibidas()
self.agregar_tarjetas()
return(self.pcw_recibo)
#################################################LOGICA CREACION RESIVO##################################################
def agregar_efectivo(self):
if self.pcw_efectivo != 0:
efectivo = self.env['asw.tipos_valores'].search([('tv_tipo', '=', 'ef')])
self.pcw_recibo.agregar_valor(self.pcw_efectivo, efectivo, self.env.user.turno.caja.id)
def agregar_retencion(self):
if(len(self.pcw_retenciones) != 0):
retencion = self.env['asw.tipos_valores'].search([('tv_tipo','=','rr')])
else:
return(None)#Si no hay alguna retencion
for linea in self.pcw_retenciones:
self.pcw_recibo.agregar_valor(linea.val_monto, retencion, self.env.user.turno.caja.id)
def agregar_cheques_recibidos(self):
if(len(self.pcw_che_recibidos) > 0):
print("cszdfcvaszdcv")
cheque_recibido = self.env['asw.tipos_valores'].search([('tv_tipo', '=', 'chr')])
for cheque in self.pcw_che_recibidos:
print(cheque, cheque_recibido, self.env.user.turno.caja.id)
self.pcw_recibo.agregar_cheque(cheque, cheque_recibido, self.env.user.turno.caja.id)
def agregar_transferencias_recibidas(self):
transferencia_recibida = self.env['asw.tipos_valores'].search([('tv_tipo','=','trr')])
self.pcw_transferencias_recibidas.write({'val_comprobante' : self.pcw_recibo.id, 'val_tipo' : transferencia_recibida.id})
def agregar_tarjetas(self):
tarjeta_credito = self.env['asw.tipos_valores'].search([('tv_tipo','=','ta'),('tv_descripcion','ilike','credito')])
tarjeta_debito = self.env['asw.tipos_valores'].search([('tv_tipo','=','ta'),('tv_descripcion','ilike','débito')])
for record in self.pcw_tarjetas:
if(record.val_tipo.tv_descripcion == 'Tarjeta de Credito'):
record.write({'val_comprobante' : self.pcw_recibo.id, 'val_tipo' : tarjeta_credito.id})
if(record.val_tipo.tv_descripcion == 'Tarjeta de Débito'):
record.write({'val_comprobante' : self.pcw_recibo.id, 'val_tipo' : tarjeta_debito.id})
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!