Ejemplo n.º 1
0
    def setupUi(self, Form):
        self.setWindowTitle("Informe de ventas por grupo")
        layoutPpal = QVBoxLayout(Form)

        layoutFecha = QHBoxLayout()
        lblDesdeFecha = Etiqueta(texto="Desde fecha")
        self.textDesdeFecha = Fecha()
        self.textDesdeFecha.setFecha(-30)
        lblHastaFecha = Etiqueta(texto="Hasta fecha")
        self.textHastaFecha = Fecha()
        self.textHastaFecha.setFecha()
        layoutFecha.addWidget(lblDesdeFecha)
        layoutFecha.addWidget(self.textDesdeFecha)
        layoutFecha.addWidget(lblHastaFecha)
        layoutFecha.addWidget(self.textHastaFecha)

        layoutPpal.addLayout(layoutFecha)

        self.avance = Avance()
        self.avance.setVisible(False)
        layoutPpal.addWidget(self.avance)

        layoutBotones = QHBoxLayout()
        self.btnExcel = Boton(texto="Exporta", imagen=imagen("Excel.png"))
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnExcel)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
Ejemplo n.º 2
0
class ConsultaCtaCteView(VistaBase):
    def __init__(self, *args, **kwargs):
        VistaBase.__init__(self, *args, **kwargs)
        self.initUi()

    def initUi(self):
        self.setWindowTitle("Resumen cuenta corriente cliente")
        self.layoutPpal = QVBoxLayout(self)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.layoutPpal.addWidget(self.lblTitulo)

        self.layoutCliente = QHBoxLayout()
        self.lblCodigoCliente = Etiqueta(texto="Codigo")
        self.lineEditCliente = Clientes.Valida()
        self.lblNombreCliente = Etiqueta()
        self.lineEditCliente.widgetNombre = self.lblNombreCliente
        self.layoutCliente.addWidget(self.lblCodigoCliente)
        self.layoutCliente.addWidget(self.lineEditCliente)
        self.layoutCliente.addWidget(self.lblNombreCliente)
        self.layoutPpal.addLayout(self.layoutCliente)

        self.lblDesdeFecha = Etiqueta(texto="Desde Fecha")
        self.desdeFecha = Fecha()
        self.desdeFecha.setFecha(-30)
        self.lblHastaFecha = Etiqueta(texto="Hasta Fecha")
        self.hastaFecha = Fecha()
        self.hastaFecha.setFecha()
        self.layoutCliente.addWidget(self.lblDesdeFecha)
        self.layoutCliente.addWidget(self.desdeFecha)
        self.layoutCliente.addWidget(self.lblHastaFecha)
        self.layoutCliente.addWidget(self.hastaFecha)

        self.gridDatos = Grilla()
        self.gridDatos.enabled = True
        self.gridDatos.ArmaCabeceras(cabeceras=[
            'Cond Vta', 'Tipo', 'Numero', 'Fecha', 'Debe', 'Haber', 'Saldo'
        ])
        self.layoutPpal.addWidget(self.gridDatos)

        self.layoutBotones = QHBoxLayout()
        self.btnMostrar = Boton(texto="&Mostrar", imagen='imagenes/buscar.png')
        self.btnExcel = Boton(texto="&Exportar", imagen='imagenes/excel.png')
        self.btnCerrar = BotonCerrarFormulario()
        self.layoutBotones.addWidget(self.btnMostrar)
        self.layoutBotones.addWidget(self.btnExcel)
        self.layoutBotones.addWidget(self.btnCerrar)
        self.layoutPpal.addLayout(self.layoutBotones)

    def MostrarDeuda(self, data):
        self.gridDatos.setRowCount(0)
        for d in data:
            item = d
            self.gridDatos.AgregaItem(item)
    def setupUi(self, Form):
        self.setWindowTitle("Importacion comprobantes AFIP")
        layoutPpal = QVBoxLayout(Form)

        self.avance = Avance()
        layoutPpal.addWidget(self.avance)

        layout_archivo_cab = QHBoxLayout()
        lblArchivo = Etiqueta(texto="Archivo cabecera")
        self.textArchivo = EntradaTexto(placeholderText="Ubicacion cabecera")
        self.btnArchivo = Boton(imagen=imagen("folder_search.png"))
        layout_archivo_cab.addWidget(lblArchivo)
        layout_archivo_cab.addWidget(self.textArchivo)
        layout_archivo_cab.addWidget(self.btnArchivo)
        layoutPpal.addLayout(layout_archivo_cab)

        layout_archivo_det = QHBoxLayout()
        lblArchivo_det = Etiqueta(texto="Archivo IVA")
        self.textArchivo_det = EntradaTexto(placeholderText="Ubicacion IVA")
        self.btnArchivo_det = Boton(imagen=imagen("folder_search.png"))
        layout_archivo_det.addWidget(lblArchivo_det)
        layout_archivo_det.addWidget(self.textArchivo_det)
        layout_archivo_det.addWidget(self.btnArchivo_det)
        layoutPpal.addLayout(layout_archivo_det)

        layoutFechas = QHBoxLayout()
        lblDesdeFecha = Etiqueta(texto="Desde fecha")
        self.textDesdeFecha = Fecha(fecha=InicioMes())
        lblHastaFecha = Etiqueta(texto="Hasta fecha")
        self.textHastaFecha = Fecha(fecha=FinMes())
        layoutFechas.addWidget(lblDesdeFecha)
        layoutFechas.addWidget(self.textDesdeFecha)
        layoutFechas.addWidget(lblHastaFecha)
        layoutFechas.addWidget(self.textHastaFecha)
        layoutPpal.addLayout(layoutFechas)

        layoutParametros = QHBoxLayout()
        self.checkBorra = CheckBox(texto="Borra los movimientos?",
                                   checked=True)
        self.consultaAFIP = CheckBox(texto="Consulta datos con AFIP?")
        layoutParametros.addWidget(self.checkBorra)
        layoutParametros.addWidget(self.consultaAFIP)
        layoutPpal.addLayout(layoutParametros)

        layoutBotones = QHBoxLayout()
        self.btnImportar = Boton(texto="Importar",
                                 imagen=imagen("importar.png"))
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnImportar)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
    def setupUi(self, Form):
        self.setWindowTitle("Re impresion de facturas")
        self.verticalLayoutDatos = QVBoxLayout(Form)

        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.verticalLayoutDatos.addWidget(self.lblTitulo)
        self.layoutCliente = self.ArmaEntrada('cliente',
                                              control=Clientes.Valida())
        self.lblNombreCliente = Etiqueta()
        self.controles['cliente'].widgetNombre = self.lblNombreCliente
        self.layoutCliente.addWidget(self.lblNombreCliente)
        self.ArmaEntrada(boxlayout=self.layoutCliente,
                         nombre='fecha',
                         control=Fecha())
        self.controles['fecha'].setFecha(-30)
        self.gridDatos = Grilla()
        self.gridDatos.enabled = True
        cabeceras = ['Fecha', 'Comprobante', 'Total', 'idcabecera']
        self.verticalLayoutDatos.addWidget(self.gridDatos)
        self.gridDatos.ArmaCabeceras(cabeceras=cabeceras)
        self.layoutBotones = QHBoxLayout()
        self.btnImprimir = Boton(texto="Imprimir", imagen=imagen('print.png'))
        self.btnCargar = Boton(
            texto="Cargar",
            imagen=imagen("if_SEO_usability_audit_search__969250.png"))
        self.envioCorreo = Boton(texto="Enviar por correo",
                                 imagen=imagen('email.png'))
        self.btnCerrar = BotonCerrarFormulario()
        self.layoutBotones.addWidget(self.btnCargar)
        self.layoutBotones.addWidget(self.btnImprimir)
        self.layoutBotones.addWidget(self.envioCorreo)
        self.layoutBotones.addWidget(self.btnCerrar)
        self.verticalLayoutDatos.addLayout(self.layoutBotones)
    def setupUi(self, Form):
        self.setWindowTitle("Emision de recibos de cta cte")
        self.resize(750, 550)
        self.verticalLayoutDatos = QVBoxLayout(Form)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.verticalLayoutDatos.addWidget(self.lblTitulo)

        self.layoutCliente = self.ArmaEntrada(nombre='cliente',
                                              control=Clientes.Valida())
        self.lblNombreCliente = Etiqueta()
        self.controles['cliente'].widgetNombre = self.lblNombreCliente
        self.layoutCliente.addWidget(self.lblNombreCliente)
        self.ArmaEntrada(nombre='fecha',
                         control=Fecha(enabled=False),
                         boxlayout=self.layoutCliente)
        self.controles['fecha'].setFecha()

        self.gridDeuda = Grilla()
        self.gridDeuda.enabled = True
        cabecera = [
            'Tipo Comprobante', 'Comprobante', 'Fecha', 'Saldo', 'a Saldar',
            'id'
        ]
        self.gridDeuda.columnasHabilitadas = [
            4,
        ]
        self.gridDeuda.ArmaCabeceras(cabeceras=cabecera)
        self.verticalLayoutDatos.addWidget(self.gridDeuda)
        self.layoutDeudas = self.ArmaEntrada('deuda', enabled=False)
        self.ArmaEntrada(boxlayout=self.layoutDeudas,
                         nombre='saldo',
                         enabled=False)

        self.gridPagos = Grilla()
        self.gridPagos.columnasHabilitadas = [0, 1, 2, 3, 4, 5, 6]
        self.gridPagos.enabled = True
        cabecera = [
            'TipoComp', 'Importe', 'Banco', 'Sucursal', 'Numero', 'Vence',
            'CUIT', 'id'
        ]
        self.gridPagos.ArmaCabeceras(cabeceras=cabecera)
        self.gridPagos.columnasOcultas = [
            7,
        ]
        self.gridPagos.OcultaColumnas()
        self.verticalLayoutDatos.addWidget(self.gridPagos)

        self.layoutPagos = self.ArmaEntrada('pagos', enabled=False)
        self.layoutBotones = QHBoxLayout()
        self.btnGraba = Boton(texto='Aceptar',
                              imagen=imagen('Accept.png'),
                              autodefault=False)
        self.btnCerra = BotonCerrarFormulario(autodefault=False)
        self.btnAgrega = Boton(texto='Agrega Pago',
                               imagen=imagen('Add_create_new.png'),
                               autodefault=False)
        self.layoutBotones.addWidget(self.btnAgrega)
        self.layoutBotones.addWidget(self.btnGraba)
        self.layoutBotones.addWidget(self.btnCerra)
        self.verticalLayoutDatos.addLayout(self.layoutBotones)
Ejemplo n.º 6
0
class IVAVentasView(Formulario):
    def __init__(self, *args, **kwargs):
        Formulario.__init__(self, *args, **kwargs)
        self.setupUi(self)

    def setupUi(self, Form):
        self.setWindowTitle("Libro IVA Ventas")
        self.verticalLayoutDatos = QVBoxLayout(Form)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.verticalLayoutDatos.addWidget(self.lblTitulo)
        self.avance = Avance()
        self.avance.setVisible(False)
        self.verticalLayoutDatos.addWidget(self.avance)

        self.layoutPtoVta = self.ArmaEntrada('desdeptovta',
                                             texto="Desde punto de venta")
        self.ArmaEntrada('hastaptovta',
                         texto="Hasta punto de venta",
                         boxlayout=self.layoutPtoVta)
        self.controles['desdeptovta'].setInputMask("9999")
        self.controles['hastaptovta'].setInputMask("9999")
        self.controles['desdeptovta'].setText("0000")
        self.controles['hastaptovta'].setText("9999")
        self.layoutFechas = QHBoxLayout()
        self.lblDesdeFecha = Etiqueta(texto="Desde fecha")
        self.lineDesdeFecha = Fecha()
        self.lineDesdeFecha.setFecha(InicioMes())
        self.lblHastaFecha = Etiqueta(texto="Hasta fecha")
        self.lineHastaFecha = Fecha()
        self.lineHastaFecha.setFecha(FinMes())
        self.layoutFechas.addWidget(self.lblDesdeFecha)
        self.layoutFechas.addWidget(self.lineDesdeFecha)
        self.layoutFechas.addWidget(self.lblHastaFecha)
        self.layoutFechas.addWidget(self.lineHastaFecha)
        self.verticalLayoutDatos.addLayout(self.layoutFechas)

        self.layoutBotones = QHBoxLayout()
        self.btnExcel = Boton(texto="Excel", imagen=imagen('Excel.png'))
        self.btnEnviaCorreo = Boton(texto="Envia correo",
                                    imagen=imagen('compras.png'))
        self.btnCerrar = BotonCerrarFormulario()
        self.layoutBotones.addWidget(self.btnExcel)
        self.layoutBotones.addWidget(self.btnEnviaCorreo)
        self.layoutBotones.addWidget(self.btnCerrar)
        self.verticalLayoutDatos.addLayout(self.layoutBotones)
Ejemplo n.º 7
0
    def initUi(self):
        self.setWindowTitle("Resumen cuenta corriente cliente")
        self.layoutPpal = QVBoxLayout(self)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.layoutPpal.addWidget(self.lblTitulo)

        self.layoutCliente = QHBoxLayout()
        self.lblCodigoCliente = Etiqueta(texto="Codigo")
        self.lineEditCliente = Clientes.Valida()
        self.lblNombreCliente = Etiqueta()
        self.lineEditCliente.widgetNombre = self.lblNombreCliente
        self.layoutCliente.addWidget(self.lblCodigoCliente)
        self.layoutCliente.addWidget(self.lineEditCliente)
        self.layoutCliente.addWidget(self.lblNombreCliente)
        self.layoutPpal.addLayout(self.layoutCliente)

        self.lblDesdeFecha = Etiqueta(texto="Desde Fecha")
        self.desdeFecha = Fecha()
        self.desdeFecha.setFecha(-30)
        self.lblHastaFecha = Etiqueta(texto="Hasta Fecha")
        self.hastaFecha = Fecha()
        self.hastaFecha.setFecha()
        self.layoutCliente.addWidget(self.lblDesdeFecha)
        self.layoutCliente.addWidget(self.desdeFecha)
        self.layoutCliente.addWidget(self.lblHastaFecha)
        self.layoutCliente.addWidget(self.hastaFecha)

        self.gridDatos = Grilla()
        self.gridDatos.enabled = True
        self.gridDatos.ArmaCabeceras(cabeceras=[
            'Cond Vta', 'Tipo', 'Numero', 'Fecha', 'Debe', 'Haber', 'Saldo'
        ])
        self.layoutPpal.addWidget(self.gridDatos)

        self.layoutBotones = QHBoxLayout()
        self.btnMostrar = Boton(texto="&Mostrar", imagen='imagenes/buscar.png')
        self.btnExcel = Boton(texto="&Exportar", imagen='imagenes/excel.png')
        self.btnCerrar = BotonCerrarFormulario()
        self.layoutBotones.addWidget(self.btnMostrar)
        self.layoutBotones.addWidget(self.btnExcel)
        self.layoutBotones.addWidget(self.btnCerrar)
        self.layoutPpal.addLayout(self.layoutBotones)
    def setupUi(self, Form):
        self.setWindowTitle("Constatacion de comprobantes")

        self.layoutPpal = QVBoxLayout(Form)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.layoutPpal.addWidget(self.lblTitulo)
        self.formLayout = QFormLayout()

        self.lblComboTipo = Etiqueta(texto="Tipo de constatacion")
        self.cboComboTipo = ComboConstComp()
        self.formLayout.addRow(self.lblComboTipo, self.cboComboTipo)
        self.layoutPpal.addLayout(self.formLayout)

        self.lblCuit = Etiqueta(texto="CUIT")
        self.textCuit = CUIT(placeholderText="CUIT")
        self.formLayout.addRow(self.lblCuit, self.textCuit)

        self.lblCae = Etiqueta(texto="CAE/CAI")
        self.textCae = EntradaTexto(placeholderText="CAE/CAI")
        self.formLayout.addRow(self.lblCae, self.textCae)

        self.lblFechaEm = Etiqueta(texto="Fecha de emision")
        self.textFecha = Fecha()
        self.textFecha.setFecha()
        self.formLayout.addRow(self.lblFechaEm, self.textFecha)

        self.lblTipoComp = Etiqueta(texto="Tipo de comprobante")
        self.layoutTipoComp = QHBoxLayout()
        self.textTipoComp = Tipocomprobantes.Valida()
        self.lblNombreComp = Etiqueta()
        self.textTipoComp.widgetNombre = self.lblNombreComp
        self.layoutTipoComp.addWidget(self.textTipoComp)
        self.layoutTipoComp.addWidget(self.lblNombreComp)
        self.formLayout.addRow(self.lblTipoComp, self.layoutTipoComp)

        self.lblFactura = Etiqueta(texto=u"Nº Factura")
        self.textFactura = Factura(titulo="")
        self.formLayout.addRow(self.lblFactura, self.textFactura)

        self.lblImpTotal = Etiqueta(texto="Importe total")
        self.textImpTotal = EntradaTexto(placeholderText="Importe Total")
        self.formLayout.addRow(self.lblImpTotal, self.textImpTotal)

        self.lblTipoDocReceptor = Etiqueta(texto="Tipo Doc. Receptor")
        self.textTipoDocReceptor = Tipodoc.Valida()
        self.textTipoDocReceptor.setText('80')
        self.formLayout.addRow(self.lblTipoDocReceptor,
                               self.textTipoDocReceptor)

        self.lblNroDoc = Etiqueta(texto="Nro Doc. Receptor")
        self.textNroDoc = EntradaTexto(placeholderText="Nro Doc. Receptor")
        self.textNroDoc.setText(LeerIni(clave='cuit', key='WSCDC'))
        self.formLayout.addRow(self.lblNroDoc, self.textNroDoc)

        self.lblResultado = Etiqueta()
        self.layoutPpal.addWidget(self.lblResultado)

        self.layoutBotones = QHBoxLayout()
        self.btnConsultar = Boton(
            texto="Consultar",
            imagen=imagen('if_SEO_usability_audit_search__969250.png'))
        self.btnImprimir = Boton(texto="Imprimir", imagen=imagen("print.png"))
        self.btnImprimir.setEnabled(False)
        self.btnCerrar = BotonCerrarFormulario()
        self.layoutBotones.addWidget(self.btnConsultar)
        self.layoutBotones.addWidget(self.btnImprimir)
        self.layoutBotones.addWidget(self.btnCerrar)
        self.layoutPpal.addLayout(self.layoutBotones)

        self.cboComboTipo.setFocus()
Ejemplo n.º 9
0
    def setupUi(self, Form):
        self.layoutPpal = QVBoxLayout(Form)
        self.setWindowTitle("Emision de comprobante electronico")
        self.resize(850, 650)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.layoutPpal.addWidget(self.lblTitulo)
        self.layoutCliente = QGridLayout()
        self.agrupaCliente = Agrupacion(titulo="Cliente:")
        self.lblCodigoCliente = Etiqueta(texto="Codigo Cliente")
        self.lblNombreCliente = Etiqueta()
        self.validaCliente = Clientes.Valida()
        self.validaCliente.widgetNombre = self.lblNombreCliente
        self.layoutCliente.addWidget(self.lblCodigoCliente, 0, 0)
        self.layoutCliente.addWidget(self.validaCliente, 0, 1)
        self.layoutCliente.addWidget(self.lblNombreCliente, 0, 2, 1, 4)

        layoutIVA = QHBoxLayout()
        self.lblDomicilio = Etiqueta(texto="Domicilio")
        self.lineEditDomicilio = EntradaTexto(
            placeholderText="Domicilio cliente")
        self.layoutCliente.addWidget(self.lblDomicilio, 1, 0)
        self.layoutCliente.addWidget(self.lineEditDomicilio, 1, 1, 1, 1)

        self.lblDocumento = Etiqueta(texto=u"Nº Doc")
        self.lineEditDocumento = EntradaTexto(placeholderText="CUIT/CUIL/DNI")
        self.layoutCliente.addWidget(self.lblDocumento, 1, 2)
        self.layoutCliente.addWidget(self.lineEditDocumento, 1, 3)
        self.agrupaCliente.setLayout(self.layoutCliente)

        self.lblTipoIVA = Etiqueta(texto='IVA:')
        self.cboTipoIVA = Tiporesp.Combo()
        self.layoutCliente.addWidget(self.lblTipoIVA, 1, 4)
        self.layoutCliente.addWidget(self.cboTipoIVA, 1, 5)

        self.layoutPpal.addWidget(self.agrupaCliente)

        self.layoutComprobante = QHBoxLayout()
        self.lblComprobante = Etiqueta(texto="Comprobante", tamanio=10)
        self.cboComprobante = Tipocomprobantes.ComboTipoComp(tiporesp=int(
            LeerIni(clave='cat_iva', key='WSFEv1')),
                                                             tamanio=10)
        self.layoutComprobante.addWidget(self.lblComprobante)
        self.layoutComprobante.addWidget(self.cboComprobante)
        self.layoutFactura = Factura(titulo=u"Nº", tamanio=10, enabled=False)
        self.layoutComprobante.addLayout(self.layoutFactura)
        self.lblFecha = Etiqueta(texto="Fecha", tamanio=10)
        self.layoutPpal.addWidget(self.lblFecha)
        self.layoutCpbteRelacionado = Factura(titulo='Cpbte Rel',
                                              tamanio=10,
                                              enabled=False)
        self.layoutComprobante.addLayout(self.layoutCpbteRelacionado)
        self.lineEditFecha = Fecha(tamanio=10)
        self.lineEditFecha.setFecha()
        self.layoutComprobante.addWidget(self.lblFecha)
        self.layoutComprobante.addWidget(self.lineEditFecha)
        self.layoutPpal.addLayout(self.layoutComprobante)

        self.layoutConceptoPeriodo = QHBoxLayout()

        self.agrupaConceptos = Agrupacion(titulo="Conceptos a incluir")
        self.layoutConceptos = QGridLayout()
        self.checkBoxProductos = CheckBox(texto="Productos")
        self.checkBoxServicios = CheckBox(texto="Servicios")
        self.layoutConceptos.addWidget(self.checkBoxProductos, 0, 0)
        self.layoutConceptos.addWidget(self.checkBoxServicios, 0, 1)
        self.lblFormaPago = Etiqueta(texto="Forma de pago")
        self.cboFormaPago = ComboFormapago()
        self.layoutConceptos.addWidget(self.lblFormaPago, 1, 0)
        self.layoutConceptos.addWidget(self.cboFormaPago, 1, 1)
        self.agrupaConceptos.setLayout(self.layoutConceptos)
        self.layoutConceptoPeriodo.addWidget(self.agrupaConceptos)

        self.agrupaPeriodo = Agrupacion(titulo="Periodo Facturado")
        self.layoutPeriodo = QGridLayout()
        self.lblDesde = Etiqueta(texto="Desde", tamanio=10)
        self.lblHasta = Etiqueta(texto="Hasta", tamanio=10)
        self.fechaDesde = Fecha()
        self.fechaDesde.setFecha()
        self.fechaDesde.setEnabled(False)
        self.fechaHasta = Fecha()
        self.fechaHasta.setFecha()
        self.fechaHasta.setEnabled(False)
        self.lblVencimiento = Etiqueta(texto="Vto. para el pago")
        self.vencPago = Fecha()
        self.vencPago.setFecha()
        self.layoutPeriodo.addWidget(self.lblDesde, 0, 0)
        self.layoutPeriodo.addWidget(self.fechaDesde, 0, 1)
        self.layoutPeriodo.addWidget(self.lblHasta, 0, 2)
        self.layoutPeriodo.addWidget(self.fechaHasta, 0, 3)
        self.agrupaPeriodo.setLayout(self.layoutPeriodo)
        self.layoutPeriodo.addWidget(self.lblVencimiento, 1, 1, 1, 2)
        self.layoutPeriodo.addWidget(self.vencPago, 1, 3)
        self.layoutConceptoPeriodo.addWidget(self.agrupaPeriodo)

        self.layoutPpal.addLayout(self.layoutConceptoPeriodo)

        self.paginaDatos = Pagina()
        self.tabArticulo = TabPagina()
        self.tabAlicuotaIVA = TabPagina()
        self.tabOtrosTributos = TabPagina()
        self.tabObs = TabPagina()
        self.tabArticuloUI()
        self.tabAlicuotaIVAUI()
        self.tabOtrosTributosUI()
        self.tabObsUI()
        self.paginaDatos.addTab(self.tabArticulo, "Articulo")
        self.paginaDatos.addTab(self.tabAlicuotaIVA, "Alicuotas IVA")
        self.paginaDatos.addTab(self.tabOtrosTributos, "Otros Tributos")
        self.paginaDatos.addTab(self.tabObs, "Observaciones")
        self.layoutPpal.addWidget(self.paginaDatos)

        self.layoutTotales = QHBoxLayout()
        self.agrupaAfip = Agrupacion(titulo="Autorizacion AFIP")
        self.layoutAfip = QGridLayout()
        self.lblCAE = Etiqueta(texto="CAE")
        self.lineditCAE = EntradaTexto(placeholderText="CAE", enabled=False)
        self.lblVencCAE = Etiqueta(texto="Venc. CAE")
        self.fechaVencCAE = Fecha(enabled=False)
        self.lblResultado = Etiqueta(texto="Resultado")
        self.lineEditResultado = EntradaTexto(placeholderText="Resultado",
                                              enabled=False)
        self.layoutAfip.addWidget(self.lblCAE, 0, 0)
        self.layoutAfip.addWidget(self.lineditCAE, 0, 1)
        self.layoutAfip.addWidget(self.lblVencCAE, 1, 0)
        self.layoutAfip.addWidget(self.fechaVencCAE, 1, 1)
        self.layoutAfip.addWidget(self.lblResultado, 2, 0)
        self.layoutAfip.addWidget(self.lineEditResultado, 2, 1)
        self.agrupaAfip.setLayout(self.layoutAfip)
        self.layoutTotales.addWidget(self.agrupaAfip)

        lblSubTotal = Etiqueta(texto="Sub Total: ", tamanio=10)
        self.textSubTotal = EntradaTexto(tamanio=10, enabled=False)

        self.lblTributos = Etiqueta(texto="Otros Tributos", tamanio=10)
        self.lineEditTributos = EntradaTexto(tamanio=10, enabled=False)
        self.lblTotalIVA = Etiqueta(texto="IVA", tamanio=10)
        self.lineEditTotalIVA = EntradaTexto(tamanio=10, enabled=False)
        self.lblTotalFactura = Etiqueta(texto='Total', tamanio=10)
        self.lineEditTotal = EntradaTexto(tamanio=10, enabled=False)
        self.gridLayoutTotales = QGridLayout()
        self.gridLayoutTotales.addWidget(lblSubTotal, 0, 0)
        self.gridLayoutTotales.addWidget(self.textSubTotal, 0, 1)
        self.gridLayoutTotales.addWidget(self.lblTributos, 0, 2)
        self.gridLayoutTotales.addWidget(self.lineEditTributos, 0, 3)
        self.gridLayoutTotales.addWidget(self.lblTotalIVA, 1, 0)
        self.gridLayoutTotales.addWidget(self.lineEditTotalIVA, 1, 1, 1, 3)
        self.gridLayoutTotales.addWidget(self.lblTotalFactura, 2, 0)
        self.gridLayoutTotales.addWidget(self.lineEditTotal, 2, 1, 1, 3)

        self.layoutTotales.addLayout(self.gridLayoutTotales)
        self.layoutPpal.addLayout(self.layoutTotales)

        self.layoutBotones = QHBoxLayout()
        self.btnGrabarFactura = Boton(texto="Emitir",
                                      imagen=imagen('save.png'),
                                      autodefault=False)
        self.btnCerrarFormulario = BotonCerrarFormulario(autodefault=False)
        self.layoutBotones.addWidget(self.btnGrabarFactura)
        self.layoutBotones.addWidget(self.btnCerrarFormulario)
        self.layoutPpal.addLayout(self.layoutBotones)
Ejemplo n.º 10
0
class FacturaView(Formulario):
    def __init__(self):
        Formulario.__init__(self)
        self.setupUi(self)

    def setupUi(self, Form):
        self.layoutPpal = QVBoxLayout(Form)
        self.setWindowTitle("Emision de comprobante electronico")
        self.resize(850, 650)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.layoutPpal.addWidget(self.lblTitulo)
        self.layoutCliente = QGridLayout()
        self.agrupaCliente = Agrupacion(titulo="Cliente:")
        self.lblCodigoCliente = Etiqueta(texto="Codigo Cliente")
        self.lblNombreCliente = Etiqueta()
        self.validaCliente = Clientes.Valida()
        self.validaCliente.widgetNombre = self.lblNombreCliente
        self.layoutCliente.addWidget(self.lblCodigoCliente, 0, 0)
        self.layoutCliente.addWidget(self.validaCliente, 0, 1)
        self.layoutCliente.addWidget(self.lblNombreCliente, 0, 2, 1, 4)

        layoutIVA = QHBoxLayout()
        self.lblDomicilio = Etiqueta(texto="Domicilio")
        self.lineEditDomicilio = EntradaTexto(
            placeholderText="Domicilio cliente")
        self.layoutCliente.addWidget(self.lblDomicilio, 1, 0)
        self.layoutCliente.addWidget(self.lineEditDomicilio, 1, 1, 1, 1)

        self.lblDocumento = Etiqueta(texto=u"Nº Doc")
        self.lineEditDocumento = EntradaTexto(placeholderText="CUIT/CUIL/DNI")
        self.layoutCliente.addWidget(self.lblDocumento, 1, 2)
        self.layoutCliente.addWidget(self.lineEditDocumento, 1, 3)
        self.agrupaCliente.setLayout(self.layoutCliente)

        self.lblTipoIVA = Etiqueta(texto='IVA:')
        self.cboTipoIVA = Tiporesp.Combo()
        self.layoutCliente.addWidget(self.lblTipoIVA, 1, 4)
        self.layoutCliente.addWidget(self.cboTipoIVA, 1, 5)

        self.layoutPpal.addWidget(self.agrupaCliente)

        self.layoutComprobante = QHBoxLayout()
        self.lblComprobante = Etiqueta(texto="Comprobante", tamanio=10)
        self.cboComprobante = Tipocomprobantes.ComboTipoComp(tiporesp=int(
            LeerIni(clave='cat_iva', key='WSFEv1')),
                                                             tamanio=10)
        self.layoutComprobante.addWidget(self.lblComprobante)
        self.layoutComprobante.addWidget(self.cboComprobante)
        self.layoutFactura = Factura(titulo=u"Nº", tamanio=10, enabled=False)
        self.layoutComprobante.addLayout(self.layoutFactura)
        self.lblFecha = Etiqueta(texto="Fecha", tamanio=10)
        self.layoutPpal.addWidget(self.lblFecha)
        self.layoutCpbteRelacionado = Factura(titulo='Cpbte Rel',
                                              tamanio=10,
                                              enabled=False)
        self.layoutComprobante.addLayout(self.layoutCpbteRelacionado)
        self.lineEditFecha = Fecha(tamanio=10)
        self.lineEditFecha.setFecha()
        self.layoutComprobante.addWidget(self.lblFecha)
        self.layoutComprobante.addWidget(self.lineEditFecha)
        self.layoutPpal.addLayout(self.layoutComprobante)

        self.layoutConceptoPeriodo = QHBoxLayout()

        self.agrupaConceptos = Agrupacion(titulo="Conceptos a incluir")
        self.layoutConceptos = QGridLayout()
        self.checkBoxProductos = CheckBox(texto="Productos")
        self.checkBoxServicios = CheckBox(texto="Servicios")
        self.layoutConceptos.addWidget(self.checkBoxProductos, 0, 0)
        self.layoutConceptos.addWidget(self.checkBoxServicios, 0, 1)
        self.lblFormaPago = Etiqueta(texto="Forma de pago")
        self.cboFormaPago = ComboFormapago()
        self.layoutConceptos.addWidget(self.lblFormaPago, 1, 0)
        self.layoutConceptos.addWidget(self.cboFormaPago, 1, 1)
        self.agrupaConceptos.setLayout(self.layoutConceptos)
        self.layoutConceptoPeriodo.addWidget(self.agrupaConceptos)

        self.agrupaPeriodo = Agrupacion(titulo="Periodo Facturado")
        self.layoutPeriodo = QGridLayout()
        self.lblDesde = Etiqueta(texto="Desde", tamanio=10)
        self.lblHasta = Etiqueta(texto="Hasta", tamanio=10)
        self.fechaDesde = Fecha()
        self.fechaDesde.setFecha()
        self.fechaDesde.setEnabled(False)
        self.fechaHasta = Fecha()
        self.fechaHasta.setFecha()
        self.fechaHasta.setEnabled(False)
        self.lblVencimiento = Etiqueta(texto="Vto. para el pago")
        self.vencPago = Fecha()
        self.vencPago.setFecha()
        self.layoutPeriodo.addWidget(self.lblDesde, 0, 0)
        self.layoutPeriodo.addWidget(self.fechaDesde, 0, 1)
        self.layoutPeriodo.addWidget(self.lblHasta, 0, 2)
        self.layoutPeriodo.addWidget(self.fechaHasta, 0, 3)
        self.agrupaPeriodo.setLayout(self.layoutPeriodo)
        self.layoutPeriodo.addWidget(self.lblVencimiento, 1, 1, 1, 2)
        self.layoutPeriodo.addWidget(self.vencPago, 1, 3)
        self.layoutConceptoPeriodo.addWidget(self.agrupaPeriodo)

        self.layoutPpal.addLayout(self.layoutConceptoPeriodo)

        self.paginaDatos = Pagina()
        self.tabArticulo = TabPagina()
        self.tabAlicuotaIVA = TabPagina()
        self.tabOtrosTributos = TabPagina()
        self.tabObs = TabPagina()
        self.tabArticuloUI()
        self.tabAlicuotaIVAUI()
        self.tabOtrosTributosUI()
        self.tabObsUI()
        self.paginaDatos.addTab(self.tabArticulo, "Articulo")
        self.paginaDatos.addTab(self.tabAlicuotaIVA, "Alicuotas IVA")
        self.paginaDatos.addTab(self.tabOtrosTributos, "Otros Tributos")
        self.paginaDatos.addTab(self.tabObs, "Observaciones")
        self.layoutPpal.addWidget(self.paginaDatos)

        self.layoutTotales = QHBoxLayout()
        self.agrupaAfip = Agrupacion(titulo="Autorizacion AFIP")
        self.layoutAfip = QGridLayout()
        self.lblCAE = Etiqueta(texto="CAE")
        self.lineditCAE = EntradaTexto(placeholderText="CAE", enabled=False)
        self.lblVencCAE = Etiqueta(texto="Venc. CAE")
        self.fechaVencCAE = Fecha(enabled=False)
        self.lblResultado = Etiqueta(texto="Resultado")
        self.lineEditResultado = EntradaTexto(placeholderText="Resultado",
                                              enabled=False)
        self.layoutAfip.addWidget(self.lblCAE, 0, 0)
        self.layoutAfip.addWidget(self.lineditCAE, 0, 1)
        self.layoutAfip.addWidget(self.lblVencCAE, 1, 0)
        self.layoutAfip.addWidget(self.fechaVencCAE, 1, 1)
        self.layoutAfip.addWidget(self.lblResultado, 2, 0)
        self.layoutAfip.addWidget(self.lineEditResultado, 2, 1)
        self.agrupaAfip.setLayout(self.layoutAfip)
        self.layoutTotales.addWidget(self.agrupaAfip)

        lblSubTotal = Etiqueta(texto="Sub Total: ", tamanio=10)
        self.textSubTotal = EntradaTexto(tamanio=10, enabled=False)

        self.lblTributos = Etiqueta(texto="Otros Tributos", tamanio=10)
        self.lineEditTributos = EntradaTexto(tamanio=10, enabled=False)
        self.lblTotalIVA = Etiqueta(texto="IVA", tamanio=10)
        self.lineEditTotalIVA = EntradaTexto(tamanio=10, enabled=False)
        self.lblTotalFactura = Etiqueta(texto='Total', tamanio=10)
        self.lineEditTotal = EntradaTexto(tamanio=10, enabled=False)
        self.gridLayoutTotales = QGridLayout()
        self.gridLayoutTotales.addWidget(lblSubTotal, 0, 0)
        self.gridLayoutTotales.addWidget(self.textSubTotal, 0, 1)
        self.gridLayoutTotales.addWidget(self.lblTributos, 0, 2)
        self.gridLayoutTotales.addWidget(self.lineEditTributos, 0, 3)
        self.gridLayoutTotales.addWidget(self.lblTotalIVA, 1, 0)
        self.gridLayoutTotales.addWidget(self.lineEditTotalIVA, 1, 1, 1, 3)
        self.gridLayoutTotales.addWidget(self.lblTotalFactura, 2, 0)
        self.gridLayoutTotales.addWidget(self.lineEditTotal, 2, 1, 1, 3)

        self.layoutTotales.addLayout(self.gridLayoutTotales)
        self.layoutPpal.addLayout(self.layoutTotales)

        self.layoutBotones = QHBoxLayout()
        self.btnGrabarFactura = Boton(texto="Emitir",
                                      imagen=imagen('save.png'),
                                      autodefault=False)
        self.btnCerrarFormulario = BotonCerrarFormulario(autodefault=False)
        self.layoutBotones.addWidget(self.btnGrabarFactura)
        self.layoutBotones.addWidget(self.btnCerrarFormulario)
        self.layoutPpal.addLayout(self.layoutBotones)

    def tabArticuloUI(self):
        layoutppal = QVBoxLayout()
        self.gridFactura = Grilla(tamanio=10)
        cabeceras = [
            'Cant.', 'Codigo', 'Detalle', 'Unitario', 'IVA', 'SubTotal'
        ]
        self.gridFactura.ArmaCabeceras(cabeceras=cabeceras)
        self.gridFactura.enabled = True
        if int(LeerIni(clave='cat_iva', key='WSFEv1')) != 6:
            self.gridFactura.columnasHabilitadas = [0, 1, 2, 3, 4]
        else:
            self.gridFactura.columnasHabilitadas = [0, 1, 2, 3]

        item = [1, 1, '', 0, 21, 0]
        self.gridFactura.AgregaItem(items=item)

        layoutppal.addWidget(self.gridFactura)
        layoutBotones = QHBoxLayout()
        self.botonAgregaArt = Boton(texto="Agrega",
                                    imagen=imagen("new.png"),
                                    tamanio=QSize(16, 16),
                                    autodefault=False)
        self.botonBorrarArt = Boton(texto="Borrar",
                                    imagen=imagen("delete.png"),
                                    tamanio=QSize(16, 16),
                                    autodefault=False)
        layoutBotones.addWidget(self.botonAgregaArt)
        layoutBotones.addWidget(self.botonBorrarArt)
        layoutppal.addLayout(layoutBotones)
        self.tabArticulo.setLayout(layoutppal)

    def tabAlicuotaIVAUI(self):
        layoutppal = QVBoxLayout()
        self.gridAlicuotasIVA = Grilla(tamanio=10)
        cabeceras = ['IVA', 'Alicuota', 'Base Imponible', 'Importe']
        self.gridAlicuotasIVA.ArmaCabeceras(cabeceras=cabeceras)
        layoutppal.addWidget(self.gridAlicuotasIVA)
        layoutBotones = QHBoxLayout()
        self.botonAgregaIVA = Boton(texto="Agrega",
                                    imagen=imagen("nuevo.png"),
                                    tamanio=QSize(16, 16),
                                    autodefault=False)
        self.botonBorrarIVA = Boton(texto="Borrar",
                                    imagen=imagen("delete.png"),
                                    tamanio=QSize(16, 16),
                                    autodefault=False)
        layoutBotones.addWidget(self.botonAgregaIVA)
        layoutBotones.addWidget(self.botonBorrarIVA)
        layoutppal.addLayout(layoutBotones)
        self.tabAlicuotaIVA.setLayout(layoutppal)

    def tabOtrosTributosUI(self):
        layoutppal = QVBoxLayout()
        self.gridAlicuotasTributos = Grilla(tamanio=10)
        cabeceras = ['Alicuota', 'Base Imponible', 'Importe']
        self.gridAlicuotasTributos.ArmaCabeceras(cabeceras=cabeceras)
        layoutppal.addWidget(self.gridAlicuotasTributos)
        layoutBotones = QHBoxLayout()
        self.botonAgregaTributos = Boton(texto="Agrega",
                                         imagen=imagen("nuevo.png"),
                                         tamanio=QSize(16, 16),
                                         autodefault=False)
        self.botonBorrarTributos = Boton(texto="Borrar",
                                         imagen=imagen("delete.png"),
                                         tamanio=QSize(16, 16),
                                         autodefault=False)
        layoutBotones.addWidget(self.botonAgregaTributos)
        layoutBotones.addWidget(self.botonBorrarTributos)
        layoutppal.addLayout(layoutBotones)
        self.tabOtrosTributos.setLayout(layoutppal)

    def tabObsUI(self):
        layoutppal = QVBoxLayout()
        self.editObs = TextEdit()
        layoutppal.addWidget(self.editObs)
        self.tabObs.setLayout(layoutppal)
    def setupUi(self, Form):
        self.setWindowTitle("Carga facturas de proveedor")

        self.layoutPpal = QVBoxLayout(Form)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.layoutPpal.addWidget(self.lblTitulo)

        self.gridLayout = QGridLayout()
        self.lblCodigoProv = Etiqueta(texto="Proveedor")
        self.textProveedor = Proveedores.Valida()
        self.lblNombProv = Etiqueta()
        self.textProveedor.widgetNombre = self.lblNombProv
        self.gridLayout.addWidget(self.lblCodigoProv, 0, 0, 1, 1)
        self.gridLayout.addWidget(self.textProveedor, 0, 1, 1, 1)
        self.gridLayout.addWidget(self.lblNombProv, 0, 2, 1, 1)

        self.lblCodTipoComp = Etiqueta(texto="Tipo comprobante")
        self.textTipoComp = Tipocomprobantes.Valida()
        self.lblNomTipoComp = Etiqueta()
        self.textTipoComp.widgetNombre = self.lblNomTipoComp
        self.gridLayout.addWidget(self.lblCodTipoComp, 1, 0, 1, 1)
        self.gridLayout.addWidget(self.textTipoComp, 1, 1, 1, 1)
        self.gridLayout.addWidget(self.lblNomTipoComp, 1, 2, 1, 1)

        self.lblFactura = Etiqueta(texto='Numero')
        self.textFactura = Factura()
        self.gridLayout.addWidget(self.lblFactura, 1, 3, 1, 1)
        self.gridLayout.addLayout(self.textFactura, 1, 4, 1, 1)

        self.lblFechaCarga = Etiqueta(texto="Fecha Carga")
        self.fechaCarga = Fecha()
        self.fechaCarga.setFecha()
        self.gridLayout.addWidget(self.lblFechaCarga, 2, 0, 1, 1)
        self.gridLayout.addWidget(self.fechaCarga, 2, 1, 1, 1)

        self.lblFechaEm = Etiqueta(texto="Fecha Emision")
        self.fechaEmision = Fecha()
        self.fechaEmision.setFecha()
        self.gridLayout.addWidget(self.lblFechaEm, 2, 3, 1, 1)
        self.gridLayout.addWidget(self.fechaEmision, 2, 4, 1, 1)

        self.lblPeriodo = Etiqueta(texto="Periodo")
        self.periodo = Periodo()
        self.gridLayout.addWidget(self.lblPeriodo, 2, 5, 1, 1)
        self.gridLayout.addLayout(self.periodo, 2, 6, 1, 1)

        self.lblModoCpte = Etiqueta(texto="Modo comprobante")
        self.cboModoCpte = ComboConstComp()
        self.gridLayout.addWidget(self.lblModoCpte, 3, 0, 1, 1)
        self.gridLayout.addWidget(self.cboModoCpte, 3, 1, 1, 1)

        self.lblCAE = Etiqueta(texto='CAE/CAI')
        self.textCAE = EntradaTexto(placeholderText='CAE/CAI')
        self.gridLayout.addWidget(self.lblCAE, 3, 2, 1, 1)
        self.gridLayout.addWidget(self.textCAE, 3, 3, 1, 1)
        self.layoutPpal.addLayout(self.gridLayout)

        self.gridDatos = GrillaFactProv()
        self.layoutPpal.addWidget(self.gridDatos)

        self.gridTotales = QGridLayout()
        self.lblExentos = Etiqueta(texto="Exentos")
        self.textExentos = EntradaTexto(placeholderText="Exentos")
        self.gridTotales.addWidget(self.lblExentos, 0, 0)
        self.gridTotales.addWidget(self.textExentos, 0, 1)
        lblInternos = Etiqueta(texto="Imp. Internos")
        self.textInternos = EntradaTexto(placeholderText="Imp. Internos")
        self.gridTotales.addWidget(lblInternos, 0, 2)
        self.gridTotales.addWidget(self.textInternos, 0, 3)
        self.lblNeto = Etiqueta(texto="Netos")
        self.textNeto = EntradaTexto(enabled=False, placeholderText="Neto")
        self.gridTotales.addWidget(self.lblNeto, 0, 4)
        self.gridTotales.addWidget(self.textNeto, 0, 5)

        self.lblNoGravado = Etiqueta(texto="No gravados")
        self.textNoGravado = EntradaTexto(placeholderText="No gravados")
        self.gridTotales.addWidget(self.lblNoGravado, 1, 0)
        self.gridTotales.addWidget(self.textNoGravado, 1, 1)
        self.lblPercepcionDGR = Etiqueta(texto="Percepcion DGR")
        self.textPercepcionDGR = EntradaTexto(placeholderText="Percepcion DGR", enabled=False)
        self.gridTotales.addWidget(self.lblPercepcionDGR, 1, 2)
        self.gridTotales.addWidget(self.textPercepcionDGR, 1, 3)
        self.lblIVA = Etiqueta(texto="IVA")
        self.textIVA = EntradaTexto(enabled=False)
        self.gridTotales.addWidget(self.lblIVA, 1, 4)
        self.gridTotales.addWidget(self.textIVA, 1, 5)

        self.lblPercepcionIVA = Etiqueta(texto="Percepcion IVA")
        self.textPercepcionIVA = EntradaTexto(placeholderText="Percepcion IVA")
        self.gridTotales.addWidget(self.lblPercepcionIVA, 2, 0)
        self.gridTotales.addWidget(self.textPercepcionIVA, 2, 1)
        self.lblTotal = Etiqueta(texto="Total")
        self.textTotal = EntradaTexto(enabled=False)
        self.gridTotales.addWidget(self.lblTotal, 2, 4)
        self.gridTotales.addWidget(self.textTotal, 2, 5)

        self.layoutPpal.addLayout(self.gridTotales)

        self.layoutBotones = QHBoxLayout()
        self.btnGrabar = Boton(texto="Grabar", imagen='imagenes/if_save.png', autodefault=False, enabled=False)
        self.btnConstatacion = Boton(texto="Constatacion", imagen="imagenes/logoafipfondoblanco.png",
                                     autodefault=False, enabled=False)
        self.btnPercepDGR = Boton(texto="Percepcion DGR", imagen='imagenes/dgr-misiones.png',
                                  enabled=False, autodefault=False)
        self.btnCerrar = BotonCerrarFormulario(autodefault=False)
        self.layoutBotones.addWidget(self.btnGrabar)
        self.layoutBotones.addWidget(self.btnPercepDGR)
        self.layoutBotones.addWidget(self.btnConstatacion)
        self.layoutBotones.addWidget(self.btnCerrar)
        self.layoutPpal.addLayout(self.layoutBotones)