Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Maria Agustina
/
tpv_correcciones
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
1
Wiki
Network
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit 3b60e318
authored
2021-12-26 11:24:02 -0300
by
Juan
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
laburo medio
1 parent
8b63cdeb
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
91 additions
and
12 deletions
wizard/cobro_discriminado.py
wizard/cobro_discriminado.py
View file @
3b60e31
...
...
@@ -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
})
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment