Commit bffba177 by Juan

inicial

1 parent 3ac9329a
......@@ -24,7 +24,7 @@
# Check https://github.com/odoo/odoo/blob/master/odoo/addons/base/module/module_data.xml
# for the full list
'category': 'Localization/Argentina',
'version': '1.07.01.21',
'version': '1.08.02.27',
# any module necessary for this one to work correctly
'depends': ['base',
......@@ -46,7 +46,9 @@
'views/comprobante.xml',
'views/referencia_compra.xml',
'views/menu_compras.xml',
'views/pago_discriminado.xml',
'wizard/vista_cobro_discriminado.xml',
'wizard/vista_pago_discriminado.xml',
],
# only loaded in demonstration mode
'demo': [
......
......@@ -5,3 +5,4 @@ from . import referencias
from . import referencia_compra
from . import gastosmobil
from . import currency
from . import pago_discriminado
\ No newline at end of file
......@@ -2,3 +2,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_asw_referencias,access_asw_referencias,model_asw_referencias,asw_tpv.module_category_asw_falange_usuario,1,1,1,0
access_hgt_refcompra,access_hgt_refcompra,model_hgt_refcompra,asw_tpv.module_category_asw_falange_usuario,1,1,1,0
access_hgt_mobil_gastos_config,access_hgt_mobil_gastos_config,model_hgt_mobil_gastos_config,,1,1,1,0
access_hgt_pago_multiple_avanzado,access_hgt_pago_multiple_avanzado,model_hgt_pago_multiple_avanzado,asw_tpv.module_category_asw_falange_usuario,1,1,1,0
\ No newline at end of file
......@@ -2,6 +2,7 @@
<data>
<menuitem name="Referencias" sequence="90" id="asw_tpv_compras_referencias" parent="asw_tpv.asw_tpv_compras"/>
<menuitem name="Referencias de Compras" id="asw_tpv_compras_referencias_refcompras" parent="asw_tpv_compras_referencias" action="hgt_refcompra_list_action"/>
<menuitem name="Pagos avanzados" sequence="70" id="hgt_pago_proveedor_avanzado_menu" parent="asw_tpv.asw_tpv_compras" action="hgt_pago_proveedor_avanzado_accion"/>/>
<!-- <menuitem name="Configuracion Mobil" sequence="99" id="asw_tpv_gasto_mobil_config" parent="asw_tpv.asw_tpv_compras_gastos" action="hgt_gastos_mobil_list_action" groups="hgt_dispositivos.group_administrador_dispositivos"/> -->
</data>
</odoo>
<odoo>
<data>
<record id="hgt_pago_proveedor_avanzado_form" model="ir.ui.view">
<field name="name">Pago a proveedor avanzado</field>
<field name="model">hgt.pago_multiple_avanzado</field>
<field name="arch" type="xml">
<form>
<h4>Nota 1: Si el monto a pagar no llega a cubrir totalmente el saldo de las facturas elegidas, saldará completamente de la más vieja a la más nueva quedando la última con un saldo parcial.</h4>
<h4>Nota 2: Si el pago excede a las facturas elegidas, el excedente se destinará automáticamente a saldar (total o parcialmente) a la factura con saldos pendientes más antigua en existencia.</h4>
<h4>Nota 3: Si el pago excede a las facturas elegidas y no existen facturas con saldos pendientes, por fuera de las elegidas, el excedente quedará a favor de la empresa en la cuenta corriente y podrá ser imputado a la primer factura nueva de forma automática.</h4>
<field name="pcw_cli_razon_social" invisible='1'/>
<group col="2">
<group col="2" >
<field name="pcw_cliente" colspan='2' domain="[('cli_es_cliente','=', True )]"/>
<field name="pcw_referencia" />
<field name="pcw_efectivo" colspan='2'/>
<field name="caja_efectivo"/>
</group>
<group string="Detalles" >
<field name="nota" nolabel="1"/>
</group>
</group>
<group col="4">
<!-- <field name="pcw_retencion_recibida" colspan="2"/>-->
<notebook colspan="4">
<page string="Cheques Propios">
<group col="4">
<field name="caja_cheque" colspan='4'/>
<field name="pcw_chq_emitidos" colspan='4' nolabel='1' widget='one2many'
context="{'default_val_razon_social' : pcw_cli_razon_social}">
<tree create="1" delete="1" edit="1" editable="bottom">
<field name="che_banco"/>
<field name="che_nro_cheque"/>
<field name="che_fecha_emision" required='1'/>
<field name="che_fecha_cobro" required='1'/>
<field name="che_fecha_vencimiento" required='1'/>
<field name="che_razon_social_emisor"/>
<field name="che_cuit_emisor"/>
<field name="che_monto"/>
</tree>
</field>
</group>
</page>
<page string="Cheques Terceros">
<group col="4">
<field name="caja_cheque_terceros" colspan='4'/>
<field name="buscador_cheque" colspan='4' />
<field name="pcw_chq_terceros" colspan='4' nolabel='1'
options="{'create_edit': True, 'readonly': False}" />
</group>
</page>
<page string="Transferencias Emitidas">
<group col="4">
<field name="pcw_transferencias_emitidas" colspan='4' nolabel='1' widget='one2many' >
<tree create="1" delete="1" edit="1" editable="bottom">
<field name="val_cuenta_bancaria"/>
<field name="val_fecha_emision"/>
<field name="valor_caja_id"/>
<field name="val_nro_pago"/>
<field name="val_monto" required='1'/>
</tree>
</field>
</group>
</page>
<page string="Pagado con tarjeta">
<group col="4">
<field name="pcw_tarjetas" colspan='4' nolabel='1' widget='one2many' >
<tree create="1" delete="1" edit="1" editable="bottom">
<field name="val_tipo" domain="[('tv_tipo','=', 'ta' )]"
string='Tarjeta' options="{'no_create': True, 'no_create_edit':True}"/>
<field name="val_nro_pago"/>
<field name="valor_caja_id"/>
<field name="val_monto" required='1'/>
</tree>
</field>
</group>
</page>
<page string="Retenciones Emitidas">
<group col="4">
<field name="pcw_retenciones" colspan='4' nolabel='1' widget='one2many' >
<tree create="1" delete="1" edit="1" editable="bottom">
<field name="val_tipo" domain="[('tv_tipo','=', 're' )]"
string='Retencion' options="{'no_create': True, 'no_create_edit':True}"/>
<field name="val_nro_pago"/>
<field name="val_monto" required='1'/>
</tree>
</field>
</group>
</page>
<page string="Facturas">
<group col="4">
<field name="comprobantes" colspan='4' readonly="1" >
</field>
</group>
</page>
</notebook>
<br/>
</group>
<group id='total' col='6'>
<field name="pcw_total" colspan='2'/>
</group>
<footer>
<button name="generar_recibo" string="Generar Recibo" type="object" class="btn btn-success"/>
<button special="cancel" string="Cancel"/>
</footer>
</form>
</field>
</record>
<record model="ir.ui.view" id="hgt_pago_proveedor_avanzado_tree">
<field name="name">Pagos a proveedores avanzados</field>
<field name="model">hgt.pago_multiple_avanzado</field>
<field name="arch" type="xml">
<tree>
<field name="pcw_cliente"/>
</tree>
</field>
</record>
<!-- accion con reglas de acceso -->
<record model="ir.actions.act_window" id="hgt_pago_proveedor_avanzado_accion">
<field name="name">Pagos a proveedores avanzados</field>
<field name="res_model">hgt.pago_multiple_avanzado</field>
<field name="view_mode">tree,form</field>
</record>
<!--<act_window id="hgt_pago_masivo_avanzado_wizzard_action" name="Pago masivo Avanzado" src_model="asw.comprobante"
res_model="hgt.pago_multiple" view_mode="form" target="new" multi="True"/>-->
</data>
</odoo>
\ No newline at end of file
......@@ -2,4 +2,5 @@ from . import prod_pfinal
from . import corregir_nro_tal
from . import generar_nota
from . import cobro_discriminado
from . import pago_discriminado
# -*- coding: utf-8 -*-
from odoo import models, fields, api
from odoo.exceptions import UserError, ValidationError
class asw_corrector_numtal(models.TransientModel):
_name = 'hgt.agregar_cheque_terceroasis'
_description = "Agregarcheque de tercero"
pcw_chq_terceros = fields.Many2many(
comodel_name='asw.cheque',
relation='pago_discriminado_chq_terceros', #ya lo edite
column1='asw_cheque_id',
column2='asw_cliente_id',
string='Cheques Propios',
domain=[],
readonly=False
)
\ No newline at end of file
File mode changed
# -*- coding: utf-8 -*-
###############################################################################
# License, author and contributors information in: #
# __manifest__.py file at the root folder of this module. #
###############################################################################
from odoo import models, fields, api, _
from odoo.exceptions import UserError, ValidationError, Warning
import datetime
class hgt_cobro_multiple(models.TransientModel):
_name = 'hgt.pago_multiple'
_description = 'Pago multiple avanzado'
_inherit = ['asw.action.manager']
# Informacion pago
pcw_cliente = fields.Many2one(
comodel_name='asw.cliente',
string='Cliente',
readonly=True,
compute='_compute_cliente',
required=True
)
nota = fields.Text(string='nota',readonly=True)
comprobantes = fields.Many2many(comodel_name='asw.comprobante', string='Comprobantes')
###########################################Validaciones y calculos ######################################
@api.depends('comprobantes')
def _compute_cliente(self):
if not len(self.pcw_cliente) == 0:
return(None)
context = self.env.context
if len(self.comprobantes) == 0:
active_ids = context.get('active_ids')
facturas = self.env['asw.comprobante'].search([('id', 'in', active_ids)])
self.comprobantes = facturas.ids
else:
facturas = self.comprobantes
idc = []
Texto = "Facturas de proveedores a pagar:"
Total = 0
for factura in facturas:
if not factura.comp_cliente.id in idc:
idc.append(factura.comp_cliente.id)
if not factura.comp_adeudado > 0:
raise UserError(f"Factura {factura.display_name} ya esta pagada o valor nulo")
if factura.comp_estado in ["b","c"]:
raise UserError(f"Factura {factura.display_name} en estado invalido para pagar")
if (factura.comp_talonario.tal_tipo == "e"):
raise UserError(f"El comprobante {factura.display_name} es de venta")
Total = Total + factura.comp_adeudado
Texto = f"{Texto}\n{factura.display_name} {factura.comp_adeudado}"
if not len(idc) == 1:
raise UserError("Solo se puede cobrar a un cliente a la vez, cierre la ventana y seleccione de vuelta los comprobantes a operar")
Texto = f"{Texto}\nTotal {Total}".replace(".",self.PuntoDecimal())
self.pcw_cliente = idc[0]
self.nota = Texto
############################################Asistente##################################################################
def PuntoDecimal(self):
"""devuelve si es coma o punto segun la configuracion del sistema"""
idioma = self.env.user.lang
res_lang = self.env["res.lang"].sudo().search([["code","=",idioma]])
decimal = res_lang.decimal_point
#print(decimal)
return(decimal)
def AgregarChequesMultiples(self):
print(self.comprobantes, self.pcw_cliente)
val = {"pcw_cliente":self.pcw_cliente,
"comprobantes": self.comprobantes.ids}
pg = self.env["hgt.pago_multiple_avanzado"].create(val)
pg.comprobantes = self.comprobantes.ids
print(pg)
return {
'context': self.env.context,
'view_type': 'form',
'view_mode': 'form',
'res_model': 'hgt.pago_multiple_avanzado',
'res_id': pg.id,
'view_id': False,
'type': 'ir.actions.act_window',
'target': 'self',
}
<odoo>
<data>
<record id="hgt_pago_proveedor_wizzard_form" model="ir.ui.view">
<field name="name">Pago a proveedor avanzado</field>
<field name="model">hgt.pago_multiple</field>
<field name="arch" type="xml">
<form>
<group col="2">
<group col="2" >
<field name="pcw_cliente" colspan='2' domain="[('cli_es_cliente','=', True )]"/>
</group>
<group string="Detalles" >
<field name="nota" nolabel="1"/>
</group>
</group>
<group string="Facturas a pagar" col="4">
<field name="comprobantes" colspan="4" nolabel="1"/>
</group>
<footer>
<button name="AgregarChequesMultiples" string="Continuar" type="object" class="oe_highlight btn-generar-recibo"/>
<button special="cancel" string="Cancelar accion"/>
</footer>
</form>
</field>
</record>
<act_window id="hgt_pago_masivo_avanzado_wizzard_action" name="Pago masivo Avanzado" src_model="asw.comprobante"
res_model="hgt.pago_multiple" view_mode="form" target="new" multi="True"/>
</data>
</odoo>
\ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!