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 fc49c37f
authored
2022-05-21 13:46:36 -0300
by
Juan
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Creo que anda
1 parent
ad0e7c7d
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
74 additions
and
5 deletions
models/cobrotpv.py
views/cobrotpv.xml
models/cobrotpv.py
View file @
fc49c37
...
@@ -160,6 +160,19 @@ class hgt_cobro_multiple(models.Model):
...
@@ -160,6 +160,19 @@ class hgt_cobro_multiple(models.Model):
readonly
=
True
,
readonly
=
True
,
default
=
"b"
)
default
=
"b"
)
rechasadas
=
fields
.
Char
(
string
=
'Facturas que se ignoraran, interno'
,
readonly
=
True
)
autorelacionadas
=
fields
.
Char
(
string
=
'Facturas que se relacionaron forzado'
,
readonly
=
True
)
total_temporal
=
fields
.
Float
(
string
=
'Tatal uso interno'
,
readonly
=
True
)
marcar_todos_detalles
=
fields
.
Boolean
(
string
=
'Marcar todo los detalles en resivo'
,
default
=
True
)
###########################################Validaciones y calculos ######################################
###########################################Validaciones y calculos ######################################
...
@@ -208,10 +221,11 @@ class hgt_cobro_multiple(models.Model):
...
@@ -208,10 +221,11 @@ class hgt_cobro_multiple(models.Model):
facturas
=
self
.
pcw_comprobante
#self.env['asw.comprobante'].search([('id', 'in', active_ids)],order="id asc")
facturas
=
self
.
pcw_comprobante
#self.env['asw.comprobante'].search([('id', 'in', active_ids)],order="id asc")
if
len
(
facturas
)
==
0
:
#no hay facturas seleccionadas
if
len
(
facturas
)
==
0
:
#no hay facturas seleccionadas
raise
Warning
(
"No se seleccionaron facturas"
)
raise
Warning
(
"No se seleccionaron facturas"
)
resivo
=
self
.
CrearValidarResivoMultiple
()
resivo
=
self
.
CrearValidarResivoMultiple
()
#Creo recibo
if
self
.
pcw_total
!=
resivo
.
comp_total
:
if
self
.
pcw_total
!=
resivo
.
comp_total
:
raise
Warning
(
"Error al procesar el pago informar a soporte"
)
raise
Warning
(
"Error al procesar el pago informar a soporte"
)
#Validacion al pedo
total
=
self
.
pcw_total
total
=
self
.
pcw_total
facturas
=
self
.
AgregarFacturasExtras
()
for
factura
in
facturas
:
for
factura
in
facturas
:
if
factura
.
comp_estado
in
[
"c"
,
"b"
]:
if
factura
.
comp_estado
in
[
"c"
,
"b"
]:
raise
Warning
(
f
"Factura {factura.display_name} esta cancelada o sin validar no se puede Cobrar"
)
raise
Warning
(
f
"Factura {factura.display_name} esta cancelada o sin validar no se puede Cobrar"
)
...
@@ -226,20 +240,69 @@ class hgt_cobro_multiple(models.Model):
...
@@ -226,20 +240,69 @@ class hgt_cobro_multiple(models.Model):
resivo
.
generar_monto_adeudado
()
resivo
.
generar_monto_adeudado
()
resivo
.
validar_nro_comprobante
()
resivo
.
validar_nro_comprobante
()
self
.
ArmarObservaciones
(
facturas
,
resivo
)
self
.
ArmarObservaciones
(
facturas
,
resivo
)
self
.
AsignarSaldoPositivo
(
resivo
)
resivo
.
generar_monto_adeudado
()
#a prueba
resivo
.
generar_monto_adeudado
()
#a prueba
return
(
resivo
)
return
(
resivo
)
def
AsignarSaldoPositivo
(
self
,
recibo
):
"""Luego de asignar movimientos de cuenta corrientes a las facturas seleccionada
Genero un movimiento si tengo saldo positivo para que se refleje en la cuenta corriente"""
if
self
.
total_temporal
>=
self
.
pcw_total
:
#Si se adeuda mas o igual que lo pagado
return
()
#Corto ejecuciono
Total
=
self
.
pcw_total
-
self
.
total_temporal
#Calculo cuanto sobra de lo que pago el cliente
#Metodo tomado de asw_tpv.asw.comprobantes por si queres revisar a futuro
cta_cte
=
self
.
env
[
'asw.cta_cte'
]
.
create
({
'cc_cliente'
:
self
.
pcw_cliente
.
id
,
'cc_comprobante'
:
recibo
.
id
,
#Aca puede que falle
'cc_moneda'
:
self
.
pcw_cliente
.
create_uid
.
company_id
.
currency_id
.
id
,
# moneda de la compáñia
'cc_monto'
:
Total
})
def
AgregarFacturasExtras
(
self
):
"""En este paso completaremos el saldo positivo con facturas antiguas"""
self
.
BuscarFacturasLimite
=
True
#Calculo el saldo actual de la operacion seleccionada por el operador
for
factura
in
self
.
pcw_comprobante
:
#esto deveria llamarlo con un onchange por las dudas o un boton mas seguro
self
.
total_temporal
=
self
.
total_temporal
+
factura
.
comp_adeudado
while
(
self
.
total_temporal
<
self
.
pcw_total
)
and
self
.
BuscarFacturasLimite
:
#Si me sobra plata agrego una factura desde las mas viejas
self
.
_AgregarFacturasExtras
()
return
(
self
.
pcw_comprobante
)
def
_AgregarFacturasExtras
(
self
):
#print("264", self.total_temporal, self.pcw_total, self.BuscarFacturasLimite)
actuales
=
self
.
pcw_comprobante
.
ids
dominio
=
[[
"comp_estado"
,
"not in"
,
[
"c"
,
"b"
]],
[
"id"
,
"not in"
,
actuales
],
[
"comp_estado"
,
"in"
,
[
"a"
]],
#Se agrega reintegrado???
[
"comp_cliente"
,
"="
,
self
.
pcw_cliente
.
id
],
[
"comp_tipo_comp"
,
"="
,
"e"
],
[
"comp_tal_menu"
,
"="
,
"fac"
]]
facturas
=
self
.
env
[
"asw.comprobante"
]
.
search
(
dominio
,
order
=
"id asc"
,
limit
=
1
)
#print(274, facturas, dominio)
if
len
(
facturas
)
==
1
:
actuales
.
append
(
facturas
.
id
)
#Si hay facturas a agregar se agrega
if
self
.
autorelacionadas
==
False
:
#Registro las agregadas por si no quiero mostrarlas en las observaciones
self
.
autorelacionadas
=
str
(
facturas
.
id
)
else
:
self
.
autorelacionadas
=
f
"{str(facturas.id)}, {self.autorelacionadas}"
self
.
total_temporal
=
self
.
total_temporal
+
facturas
.
comp_adeudado
self
.
pcw_comprobante
=
actuales
else
:
self
.
BuscarFacturasLimite
=
False
return
(
self
.
pcw_comprobante
)
def
ArmarObservaciones
(
self
,
facturas
,
resivo
):
def
ArmarObservaciones
(
self
,
facturas
,
resivo
):
obserbacion
=
"
\n
Facturas Afectadas | Total | Saldo"
obserbacion
=
"
\n
Facturas Afectadas | Total | Saldo"
for
factura
in
facturas
:
for
factura
in
facturas
:
obserbacion
=
f
"""{obserbacion}
\n
{factura.display_name} | {
factura.comp_total} | {factura.comp_adeudado
}"""
.
replace
(
"."
,
self
.
PuntoDecimal
())
obserbacion
=
f
"""{obserbacion}
\n
{factura.display_name} | {
round(factura.comp_total,2)} | {round(factura.comp_adeudado,2)
}"""
.
replace
(
"."
,
self
.
PuntoDecimal
())
resivo
.
comp_observaciones
=
obserbacion
resivo
.
comp_observaciones
=
obserbacion
@api.multi
@api.multi
def
generar_recibo
(
self
):
def
generar_recibo
(
self
):
#print(self._fields)
#raise Warning("Desarrollo")
resivo
=
self
.
pago_facturas_masivo
()
resivo
=
self
.
pago_facturas_masivo
()
self
.
ValoresEnCajas
(
resivo
)
self
.
ValoresEnCajas
(
resivo
)
return
{
return
{
...
...
views/cobrotpv.xml
View file @
fc49c37
...
@@ -54,6 +54,12 @@
...
@@ -54,6 +54,12 @@
<field
name=
"bitacora"
nolabel=
"1"
colspan=
'2'
/>
<field
name=
"bitacora"
nolabel=
"1"
colspan=
'2'
/>
</group>
</group>
</group>
</group>
<group
string=
"Configuracion"
col=
"4"
>
<field
name=
"marcar_todos_detalles"
/>
<field
name=
"total_temporal"
/>
<field
name=
"autorelacionadas"
/>
<field
name=
"rechasadas"
/>
</group>
<group
col=
"4"
string=
"Detalles de valores"
>
<group
col=
"4"
string=
"Detalles de valores"
>
<!-- <field name="pcw_retencion_recibida" colspan="2"/>-->
<!-- <field name="pcw_retencion_recibida" colspan="2"/>-->
<notebook
colspan=
"4"
>
<notebook
colspan=
"4"
>
...
...
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