Example #1
0
 def BotonesAdicionales(self):
     self.btnEmail = Boton(self.tabLista,
                           imagen="imagenes/email.png",
                           tamanio=QSize(32, 32),
                           tooltip='Agrega email del cliente')
     self.btnEmail.setObjectName("btnEmail")
     self.horizontalLayout.addWidget(self.btnEmail)
    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)
Example #3
0
    def setupUi(self, Form):
        self.resize(650, 350)
        self.setWindowTitle("Email de clientes")
        self.verticalLayoutDatos = QVBoxLayout(Form)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.verticalLayoutDatos.addWidget(self.lblTitulo)

        self.gridEmail = Grilla()
        self.gridEmail.enabled = True
        cabeceras = ['EMail', 'idemailcliente']
        self.gridEmail.columnasHabilitadas = [
            0,
        ]
        self.gridEmail.ArmaCabeceras(cabeceras=cabeceras)
        self.verticalLayoutDatos.addWidget(self.gridEmail)

        self.layoutBotones = QHBoxLayout()
        self.btnGraba = Boton(texto='Graba', imagen=imagen('guardar.png'))
        self.btnCerrar = BotonCerrarFormulario()
        self.btnAgregar = Boton(texto="Agregar", imagen=imagen('nuevo.png'))
        self.btnBorrar = Boton(texto="Borrar", imagen=imagen('delete.png'))
        self.layoutBotones.addWidget(self.btnAgregar)
        self.layoutBotones.addWidget(self.btnGraba)
        self.layoutBotones.addWidget(self.btnBorrar)
        self.layoutBotones.addWidget(self.btnCerrar)
        self.verticalLayoutDatos.addLayout(self.layoutBotones)
    def setupUi(self, Form):
        self.setWindowTitle("Seleccion de correos electronico")
        self.resize(650, 350)
        layoutPpal = QVBoxLayout(self)

        layoutBusqueda = QHBoxLayout()
        lblBusqueda = Etiqueta(texto="Busqueda")
        self.textBusqueda = EntradaTexto(placeholderText="Busqueda")
        self.checkTodos = CheckBox(texto="Todos?")
        layoutBusqueda.addWidget(lblBusqueda)
        layoutBusqueda.addWidget(self.textBusqueda)
        layoutBusqueda.addWidget(self.checkTodos)
        layoutPpal.addLayout(layoutBusqueda)

        self.gridCorreos = Grilla()
        self.gridCorreos.enabled = True
        cabeceras = [
            'Selecciona', 'Nombre', 'Correo'
        ]
        self.gridCorreos.columnasHabilitadas = [0,]
        self.gridCorreos.ArmaCabeceras(cabeceras)
        layoutPpal.addWidget(self.gridCorreos)

        layoutBotones = QHBoxLayout()
        self.btnSeleccionar = Boton(texto="&Selecciona", imagen=imagen("check.png"))
        self.btnAgregar = Boton(texto="&Agregar correo", imagen=imagen("email.png"))
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnSeleccionar)
        layoutBotones.addWidget(self.btnAgregar)
        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 ArmaDatos(self):
        self.verticalLayoutDatos = QVBoxLayout(self.tabDetalle)
        self.verticalLayoutDatos.setObjectName("verticalLayoutDatos")
        self.ArmaCarga()
        fila = 0

        self.grdBotones = QGridLayout()
        self.grdBotones.setObjectName("grdBotones")
        self.btnAceptar = Boton(self.tabDetalle,
                                texto='Guardar',
                                imagen=imagen('save.png'),
                                tamanio=QSize(32, 32),
                                tooltip="Guardar cambios")
        self.btnAceptar.setObjectName("btnAceptar")
        self.grdBotones.addWidget(self.btnAceptar, 0, 0, 1, 1)

        self.btnCancelar = Boton(self.tabDetalle,
                                 texto='Cerrar',
                                 imagen=imagen('close.png'),
                                 tamanio=QSize(32, 32),
                                 tooltip="Cerrar sin guardar")
        self.btnCancelar.setObjectName("btnCancelar")
        self.grdBotones.addWidget(self.btnCancelar, 0, 1, 1, 1)
        self.verticalLayoutDatos.addLayout(self.grdBotones)
        self.verticalLayout.addWidget(self.tabWidget)
        self.btnCancelar.clicked.connect(self.btnCancelarClicked)
        self.btnAceptar.clicked.connect(self.btnAceptarClicked)
        self.verticalLayoutDatos.addStretch(1)
Example #7
0
    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)
Example #8
0
    def setupUi(self, Form):
        self.setWindowTitle("Consulta padron de la afip")
        self.resize(650, 450)
        self.layoutPpal = QVBoxLayout(Form)
        self.lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        self.layoutPpal.addWidget(self.lblTitulo)

        self.layoutCUIT = QHBoxLayout()
        self.lblCUIT = Etiqueta(texto="CUIT")
        self.textCUIT = EntradaTexto(placeholderText="CUIT")
        self.textCUIT.setInputMask("99-99999999-99")
        self.layoutCUIT.addWidget(self.lblCUIT)
        self.layoutCUIT.addWidget(self.textCUIT)
        self.layoutPpal.addLayout(self.layoutCUIT)

        self.gridDatos = Grilla()
        self.gridDatos.enabled = True
        cabecera = ["Campo", "Valor"]
        self.gridDatos.ArmaCabeceras(cabeceras=cabecera)
        self.layoutPpal.addWidget(self.gridDatos)

        self.layoutBotones = QHBoxLayout()
        self.btnConsulta = Boton(
            texto="Consulta",
            imagen=imagen("if_SEO_usability_audit_search__969250.png"))
        self.btnImprimir = Boton(texto="Imprimir Constancia",
                                 imagen=imagen("print.png"))
        self.btnCerrar = BotonCerrarFormulario()
        self.btnAgregaCliente = Boton(texto="Agrega Cliente",
                                      imagen=imagen('nuevo.png'))
        self.layoutBotones.addWidget(self.btnConsulta)
        self.layoutBotones.addWidget(self.btnImprimir)
        self.layoutBotones.addWidget(self.btnAgregaCliente)
        self.layoutBotones.addWidget(self.btnCerrar)
        self.layoutPpal.addLayout(self.layoutBotones)
    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)
Example #10
0
    def initUi(self, *args, **kwargs):
        self.resize(906, 584)
        nombre_tabla = self.model._meta.table_name.title() if self.model else ''
        self.setWindowTitle("ABM de {}".format(nombre_tabla))
        self.verticalLayout = QVBoxLayout(self)
        self.lblTitulo = Etiqueta(tamanio=15, texto="ABM de {}".format(nombre_tabla))
        self.verticalLayout.addWidget(self.lblTitulo)

        self.tabWidget = QTabWidget()
        self.tabLista = QWidget()
        self.gridLayout = QGridLayout(self.tabLista)

        self.lineEditBusqueda = EntradaTexto(self.tabLista, placeholderText="Busqueda")
        self.lineEditBusqueda.setObjectName("lineEditBusqueda")
        self.gridLayout.addWidget(self.lineEditBusqueda, 0, 0, 1, 1)

        self.tableView = Grilla(self.tabLista)
        self.tableView.setObjectName("tableView")
        self.tableView.enabled = True

        # extraigo los nombres de las columnas
        self.tableView.cabeceras = [x.column_name.capitalize() for x in self.camposAMostrar]
        self.tableView.ArmaCabeceras()
        self.gridLayout.addWidget(self.tableView, 1, 0, 1, 1)
        self.horizontalLayout = QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")

        self.BotonesAdicionales()

        self.btnAgregar = Boton(self.tabLista, imagen="imagenes/nuevo.png", tamanio=QSize(32,32),
                                tooltip='Agrega nuevo registro')
        self.btnAgregar.setObjectName("btnAgregar")
        self.horizontalLayout.addWidget(self.btnAgregar)

        self.btnEditar = Boton(self.tabLista, imagen="imagenes/modificar.png", tamanio=QSize(32,32),
                               tooltip='Modifica registro')
        self.btnEditar.setObjectName("btnEditar")
        self.horizontalLayout.addWidget(self.btnEditar)

        self.btnBorrar = Boton(self.tabLista, imagen="imagenes/delete.png", tamanio=QSize(32,32),
                               tooltip='Borrar registro')
        self.btnBorrar.setObjectName("btnBorrar")
        self.horizontalLayout.addWidget(self.btnBorrar)

        self.btnCerrar = Boton(self.tabLista, imagen="imagenes/log-out.png", tamanio=QSize(32,32),
                               tooltip='Cerrar ABM')
        self.btnCerrar.setObjectName("btnCerrar")
        self.horizontalLayout.addWidget(self.btnCerrar)
        self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 1)

        self.tabWidget.addTab(self.tabLista, "Lista")
        self.tabDetalle = QWidget()
        self.tabWidget.addTab(self.tabDetalle, "Detalle")
        self.tabDetalle.setEnabled(False)

        self.verticalLayout.addWidget(self.tabWidget)

        self.ArmaDatos()
        self.ArmaTabla()
        self.ConectaWidgets()
    def setupUi(self, Form):
        self.setWindowTitle("Firma de correo electronico")
        layoutPpal = QVBoxLayout(Form)

        self.editorFirma = TextoEnriquecido()
        layoutPpal.addWidget(self.editorFirma)

        layoutBotones = QHBoxLayout()
        self.btnCargar = Boton(texto="Cargar", imagen=imagen("load_html_file.png"))
        self.btnGrabar = Boton(texto="Grabar", imagen=imagen("save.png"))
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnCargar)
        layoutBotones.addWidget(self.btnGrabar)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
Example #12
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)
    def setupUi(self, Form):
        self.setWindowTitle("Envio de correo electronico")

        layoutPpal = QVBoxLayout(Form)

        layoutParam = QGridLayout()
        self.btnPara = Boton(texto="Para:")
        self.textPara = EmailCompleter(placeholderText="Para")
        layoutParam.addWidget(self.btnPara, 0,0)
        layoutParam.addWidget(self.textPara, 0, 1)

        self.btnCC = Boton(texto="CC:")
        self.textCC = EmailCompleter(placeholderText="Con copia")
        layoutParam.addWidget(self.btnCC, 1, 0)
        layoutParam.addWidget(self.textCC, 1, 1)

        self.btnCCO = Boton(texto="CCO:")
        self.textCCO = EmailCompleter(placeholderText="Con copia oculta")
        layoutParam.addWidget(self.btnCCO, 2, 0)
        layoutParam.addWidget(self.textCCO, 2, 1)

        self.btnAdjunto = Boton(texto="Adjunto:")
        self.textAdjunto = EntradaTexto(enabled=False)
        layoutParam.addWidget(self.btnAdjunto, 3, 0)
        layoutParam.addWidget(self.textAdjunto, 3, 1)

        lblAsunto = Etiqueta(texto="Asunto")
        self.textAsunto = EntradaTexto(placeholderText="Asunto")
        layoutParam.addWidget(lblAsunto, 4, 0)
        layoutParam.addWidget(self.textAsunto, 4, 1, 1, 2)
        layoutPpal.addLayout(layoutParam)

        self.listaAdjuntos = Lista()
        layoutParam.addWidget(self.listaAdjuntos, 0, 2, 4, 1)

        self.textMensaje = TextoEnriquecido()
        layoutPpal.addWidget(self.textMensaje)

        layoutBotones = QHBoxLayout()
        self.btnEnviar = Boton(texto="Enviar", imagen=imagen("email.png"))
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnEnviar)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
Example #14
0
 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)
Example #15
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)
Example #16
0
    def ArmaDatos(self):
        self.verticalLayoutDatos = QVBoxLayout(self.tabDetalle)
        self.verticalLayoutDatos.setObjectName("verticalLayoutDatos")
        self.ArmaCarga()
        fila = 0

        self.grdBotones = QGridLayout()
        self.grdBotones.setObjectName("grdBotones")
        self.btnAceptar = Boton(self.tabDetalle, imagen="imagenes/guardar.png", tamanio=QSize(32,32))
        self.btnAceptar.setObjectName("btnAceptar")
        self.grdBotones.addWidget(self.btnAceptar, 0, 0, 1, 1)

        self.btnCancelar = Boton(self.tabDetalle, imagen="imagenes/log-out.png", tamanio=QSize(32,32))
        self.btnCancelar.setObjectName("btnCancelar")
        self.grdBotones.addWidget(self.btnCancelar, 0, 1, 1, 1)
        self.verticalLayoutDatos.addLayout(self.grdBotones)
        self.verticalLayout.addWidget(self.tabWidget)
        self.btnCancelar.clicked.connect(self.btnCancelarClicked)
        self.btnAceptar.clicked.connect(self.btnAceptarClicked)
        self.verticalLayoutDatos.addStretch(1)
Example #17
0
    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)
Example #18
0
    def initUi(self):
        self.setGeometry(150, 150, 650, 450)
        layoutPpal = QVBoxLayout(self)

        layoutIdiomas = QHBoxLayout()
        lblDesde = Etiqueta(texto="Desde")
        self.cboIdiomaDesde = ComboIdiomas()
        lblHasta = Etiqueta(texto="Hasta")
        self.cboIdiomaHasta = ComboIdiomas()
        layoutIdiomas.addWidget(lblDesde)
        layoutIdiomas.addWidget(self.cboIdiomaDesde)
        layoutIdiomas.addWidget(lblHasta)
        layoutIdiomas.addWidget(self.cboIdiomaHasta)
        layoutPpal.addLayout(layoutIdiomas)

        layoutPagina = QHBoxLayout()
        lblPagina = Etiqueta(texto="URL de la pagina")
        self.textURL = EntradaTexto()
        layoutPagina.addWidget(lblPagina)
        layoutPagina.addWidget(self.textURL)
        layoutPpal.addLayout(layoutPagina)

        self.textTextoTraducir = TextEdit(placeholdertext="Texto a traducir")
        layoutPpal.addWidget(self.textTextoTraducir)

        self.textTraducido = TextEdit(placeholdertext="Texto traducido")
        layoutPpal.addWidget(self.textTraducido)

        layoutBotones = QHBoxLayout()
        self.btnTraducir = Boton(
            texto="Tradudir",
            imagen=imagen(
                "iconfinder_logo_brand_brands_logos_translate_google_2230965.png"
            ))
        self.btnCerrar = Boton(texto="Salir",
                               imagen=imagen("iconfinder_free-29_618316.png"))
        layoutBotones.addWidget(self.btnTraducir)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
Example #19
0
    def setupUi(self, Form):
        self.setWindowTitle("Configuracion de sistema")
        self.verticalLayoutDatos = QVBoxLayout(Form)

        self.lblTituloEmpresa = EtiquetaTitulo(texto='Datos empresa')
        self.verticalLayoutDatos.addWidget(self.lblTituloEmpresa)
        self.ArmaEntrada('empresa')
        self.ArmaEntrada('membrete1')
        self.ArmaEntrada('membrete2')
        self.layoutCUIT = self.ArmaEntrada('cuit')
        self.ArmaEntrada('iibb', boxlayout=self.layoutCUIT)
        self.layoutCopias = self.ArmaEntrada('num_copias', texto=u'Nº de copias de factura',
                                             control=ComboCopiasFE())
        self.ArmaEntrada('cat_iva', texto='Categoria IVA (1: Resp. Inscripto, 4 Exento, 6: Monotributo)',
                         boxlayout=self.layoutCopias, control=ComboTipoRespIVA())

        self.lblTituloParametros = EtiquetaTitulo(texto='Parametros')
        self.verticalLayoutDatos.addWidget(self.lblTituloParametros)
        self.ArmaEntrada('nombre_sistema', texto='Nombre del sistema')
        layoutBaseDatos = self.ArmaEntrada('BaseDatos', texto='Base de datos')
        self.ArmaEntrada('Host', boxlayout=layoutBaseDatos)
        layoutUsuario = self.ArmaEntrada('Usuario', texto='Usuario de base de datos')
        self.ArmaEntrada('password', boxlayout=layoutUsuario)
        self.controles['password'].setEchoMode(QLineEdit.Password)

        self.layoutHOMO = self.ArmaEntrada('H**O', texto='Homologacion (S) Produccion (N)', control=ComboSINO())
        self.ArmaEntrada('Base', boxlayout=self.layoutHOMO, texto='Tipo base (mysql/sqlite)',
                         control=ComboTipoBaseDatos())

        layoutFCE = self.ArmaEntrada('cbufce', texto="CBU FCE")
        self.ArmaEntrada('aliasfce', boxlayout=layoutFCE, texto="Alias FCE")

        layoutCertificadoCRT = self.ArmaEntrada('crt', texto="Certificado CRT")
        self.btnArchivoCRT = BotonArchivo(archivos="CRT (*.crt)")
        self.btnArchivoCRT.widgetArchivo = self.controles['crt']
        layoutCertificadoCRT.addWidget(self.btnArchivoCRT)

        layoutCertificadoKEY = self.ArmaEntrada('key', texto="Certificado KEY")
        self.btnArchivoKEY = BotonArchivo(archivos="KEY (*.key)")
        self.btnArchivoKEY.widgetArchivo = self.controles['key']
        layoutCertificadoKEY.addWidget(self.btnArchivoKEY)

        self.layoutBotones = QHBoxLayout()
        self.btnGrabar = Boton(texto="Grabar", imagen=imagen('guardar.png'))
        self.btnCerrar = BotonCerrarFormulario()
        self.layoutBotones.addWidget(self.btnGrabar)
        self.layoutBotones.addWidget(self.btnCerrar)
        self.verticalLayoutDatos.addLayout(self.layoutBotones)
    def setupUi(self, Form):
        self.setWindowTitle("Informe de recategorizacion de monotributo")
        self.resize(650, 150)
        layoutPpal = QVBoxLayout(Form)
        self.avance = Avance()
        layoutPpal.addWidget(self.avance)

        agrupacion_datos = Agrupacion(titulo="Datos")
        layoutDatos = QGridLayout()
        lblCategoria = Etiqueta(texto="Categoria actual")
        self.cboCategoriaMono = ComboCategoriaMono()
        layoutDatos.addWidget(lblCategoria, 0, 0)
        layoutDatos.addWidget(self.cboCategoriaMono, 0, 1)
        lblCantidadAdherentesOS = Etiqueta(texto="Cantidad de adheretentes OS")
        self.spnCantAdhOS = Spinner(decimales=0)
        layoutDatos.addWidget(lblCantidadAdherentesOS, 0, 2)
        layoutDatos.addWidget(self.spnCantAdhOS, 0, 3)

        lblActividad = Etiqueta(texto="Actividad")
        self.cboActividad = ComboActividadMono()
        layoutDatos.addWidget(lblActividad, 1, 0)
        layoutDatos.addWidget(self.cboActividad, 1, 1)
        agrupacion_datos.setLayout(layoutDatos)
        layoutPpal.addWidget(agrupacion_datos)

        layoutPeriodo = QHBoxLayout()
        lblAnio = Etiqueta(texto=u"Año")
        self.spnAnio = Spinner(decimales=0)
        self.spnAnio.setText(datetime.now().date().year)
        layoutPeriodo.addWidget(lblAnio)
        layoutPeriodo.addWidget(self.spnAnio)
        lblPeriodo = Etiqueta(texto="Periodo")
        self.cboPeriodo = ComboPeriodoMonotributo()
        layoutPeriodo.addWidget(lblPeriodo)
        layoutPeriodo.addWidget(self.cboPeriodo)
        layoutPpal.addLayout(layoutPeriodo)

        layoutBotones = QHBoxLayout()
        self.btnExcel = Boton(texto="&Excel", imagen=imagen("excel.png"))
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnExcel)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
Example #21
0
    def setupUi(self, Form):
        self.setWindowTitle("RG 3685 Afip - Ventas")
        self.resize(650, 100)
        layoutPpal = QVBoxLayout(Form)
        lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        layoutPpal.addWidget(lblTitulo)

        self.periodo = Periodo(texto="Periodo a procesar")
        layoutPpal.addLayout(self.periodo)

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

        layoutBotones = QHBoxLayout()
        self.btnProcesar = Boton(texto="Procesar", imagen='imagenes/accept.png')
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnProcesar)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
    def setupUi(self, Form):
        self.setWindowTitle("Exportacion IVA Compras")
        layoutPpal = QVBoxLayout(Form)
        lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        layoutPpal.addWidget(lblTitulo)

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

        self.periodo = Periodo(texto='Periodo a exportar')
        layoutPpal.addLayout(self.periodo)

        layoutBotones = QHBoxLayout()
        self.btnExcel = Boton(texto="Exportar", imagen='imagenes/excel.png')
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnExcel)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
Example #23
0
    def setupUi(self, Form):
        self.setWindowTitle("Genera certificado digital")
        self.verticalLayoutDatos = QVBoxLayout(Form)

        self.ArmaEntrada(nombre='cuit')
        self.ArmaEntrada(nombre='empresa')
        self.ArmaEntrada(nombre='nombre')
        layoutArchivo = self.ArmaEntrada(nombre='archivo')
        self.btnArchivo = BotonArchivo(archivos="CSR (*.csr)")
        self.btnArchivo.directorio = "certificados"
        self.btnArchivo.nombre_archivo = "certificado"
        self.btnArchivo.guardar = True
        self.btnArchivo.widgetArchivo = self.controles['archivo']
        layoutArchivo.addWidget(self.btnArchivo)

        layoutBotones = QHBoxLayout()
        self.btnGenera = Boton(texto="Genera", imagen=imagen("Accept.png"))
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnGenera)
        layoutBotones.addWidget(self.btnCerrar)
        self.verticalLayoutDatos.addLayout(layoutBotones)
Example #24
0
    def initUi(self):
        self.setWindowTitle("Rinde CAEA Individual")
        layoutPpal = QVBoxLayout(self)
        lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        layoutPpal.addWidget(lblTitulo)

        layoutTipoComp = QHBoxLayout()
        lblTipoComp = Etiqueta(texto="Tipo de comprobante")
        self.cboTipoComp = ComboTipoComp(
            tiporesp=int(LeerIni(key='WSFEv1', clave='cat_iva')))
        layoutTipoComp.addWidget(lblTipoComp)
        layoutTipoComp.addWidget(self.cboTipoComp)
        self.layoutFactura = Factura(titulo=u"Nº de Comprobante")
        layoutTipoComp.addLayout(self.layoutFactura)
        layoutPpal.addLayout(layoutTipoComp)

        layoutBotones = QHBoxLayout()
        self.btnConsultar = Boton(texto="Rinde CAEA",
                                  imagen="imagenes/Accept.png")
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnConsultar)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
    def setupUi(self, Form):
        self.setWindowTitle("Obtiene CAEA")
        layoutPpal = QVBoxLayout(Form)
        lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        layoutPpal.addWidget(lblTitulo)

        layoutLinea1 = QHBoxLayout()
        self.layoutPeriodo = Periodo(texto="Periodo")
        layoutLinea1.addLayout(self.layoutPeriodo)
        lblOrden = Etiqueta(texto="Orden")
        self.textOrden = EntradaTexto()
        layoutLinea1.addWidget(lblOrden)
        layoutLinea1.addWidget(self.textOrden)
        layoutPpal.addLayout(layoutLinea1)

        layoutBotones = QHBoxLayout()
        self.btnObtener = Boton(
            texto="Obtener CAEA",
            imagen='imagenes/if_product-sales-report_49607.png')
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnObtener)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(layoutBotones)
Example #26
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)
Example #27
0
    def initUi(self):
        self.setWindowTitle("Consulta de CAE")
        layoutPpal = QVBoxLayout(self)
        lblTitulo = EtiquetaTitulo(texto=self.windowTitle())
        layoutPpal.addWidget(lblTitulo)

        layoutTipoComp = QHBoxLayout()
        lblTipoComp = Etiqueta(texto="Tipo de comprobante")
        self.cboTipoComp = ComboTipoComp(
            tiporesp=int(LeerIni(key='WSFEv1', clave='cat_iva')))
        layoutTipoComp.addWidget(lblTipoComp)
        layoutTipoComp.addWidget(self.cboTipoComp)
        self.layoutFactura = Factura(titulo=u"Nº de Comprobante")
        layoutTipoComp.addLayout(self.layoutFactura)
        layoutPpal.addLayout(layoutTipoComp)

        layoutCliente = QHBoxLayout()
        lblTipDoc = Etiqueta(texto="Tip Doc")
        self.textTipoDoc = EntradaTexto(enabled=False)
        layoutCliente.addWidget(lblTipDoc)
        layoutCliente.addWidget(self.textTipoDoc)
        lblCliente = Etiqueta(texto="Doc Cliente")
        self.textDocCli = EntradaTexto(enabled=False)
        layoutCliente.addWidget(lblCliente)
        layoutCliente.addWidget(self.textDocCli)
        lblFechComp = Etiqueta(texto="Fecha")
        self.textFecha = EntradaTexto(enabled=False)
        layoutCliente.addWidget(lblFechComp)
        layoutCliente.addWidget(self.textFecha)
        layoutPpal.addLayout(layoutCliente)

        layoutCAE = QHBoxLayout()
        lblCAE = Etiqueta(texto="CAE")
        self.textCAE = EntradaTexto()
        layoutCAE.addWidget(lblCAE)
        layoutCAE.addWidget(self.textCAE)
        lblImpTotal = Etiqueta(texto="Imp. Total")
        self.textTotal = EntradaTexto()
        lblNeto = Etiqueta(texto="Neto")
        self.textNeto = EntradaTexto()
        layoutCAE.addWidget(lblNeto)
        layoutCAE.addWidget(self.textNeto)
        layoutCAE.addWidget(lblImpTotal)
        layoutCAE.addWidget(self.textTotal)
        layoutPpal.addLayout(layoutCAE)

        layoutImp = QHBoxLayout()
        lblIVA = Etiqueta(texto='IVA')
        self.textIVA = EntradaTexto()
        layoutImp.addWidget(lblIVA)
        layoutImp.addWidget(self.textIVA)
        lblDGR = Etiqueta(texto='DGR')
        self.textDGR = EntradaTexto()
        layoutImp.addWidget(lblDGR)
        layoutImp.addWidget(self.textDGR)
        layoutPpal.addLayout(layoutImp)

        self.gridIVA = Grilla()
        self.gridIVA.enabled = True
        cabeceras = ['ID IVA', 'Base Imp', 'Importe']
        self.gridIVA.ArmaCabeceras(cabeceras)
        layoutPpal.addWidget(self.gridIVA)

        layoutBotones = QHBoxLayout()
        self.btnConsultar = Boton(texto="Consultar CAE",
                                  imagen="imagenes/buscar.png")
        self.btnCerrar = BotonCerrarFormulario()
        layoutBotones.addWidget(self.btnConsultar)
        layoutBotones.addWidget(self.btnCerrar)
        layoutPpal.addLayout(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()
class ClientesView(ABM):

    model = Cliente()
    camposAMostrar = [Cliente.idcliente, Cliente.nombre]
    ordenBusqueda = Cliente.nombre
    campoClave = Cliente.idcliente

    def __init__(self, *args, **kwargs):
        ABM.__init__(self, *args, **kwargs)

    @inicializar_y_capturar_excepciones
    def ArmaCarga(self, *args, **kwargs):
        self.layoutID = self.ArmaEntrada('idcliente', texto='Codigo')
        self.ArmaEntrada('nombre', boxlayout=self.layoutID)
        self.layoutDomi = self.ArmaEntrada('domicilio')
        self.ArmaEntrada('telefono', boxlayout=self.layoutDomi)
        self.layoutLocalidad = self.ArmaEntrada(nombre='localidad',
                                                control=Localidades.Valida())
        self.lblNombreLocalidad = Etiqueta()
        self.layoutLocalidad.addWidget(self.lblNombreLocalidad)
        self.controles['localidad'].widgetNombre = self.lblNombreLocalidad
        self.layoutDocumento = self.ArmaEntrada(nombre='tipodocu',
                                                control=Tipodoc.ComboTipoDoc(),
                                                texto="Tipo de docuemnto")
        self.lblNombreTipodoc = Etiqueta()
        self.layoutDocumento.addWidget(self.lblNombreTipodoc)
        self.controles['tipodocu'].widgetNombre = self.lblNombreTipodoc
        self.ArmaEntrada(nombre='dni', boxlayout=self.layoutDocumento)
        self.ArmaEntrada(nombre='cuit', boxlayout=self.layoutDocumento)
        self.layoutImpuesto = self.ArmaEntrada(
            nombre='percepcion',
            control=Impuestos.ComboImpuesto(),
            texto="Tipo de impuesto")
        self.lblNombreImpuesto = Etiqueta()
        self.layoutImpuesto.addWidget(self.lblNombreImpuesto)
        self.controles['percepcion'].widgetNombre = self.lblNombreImpuesto
        self.campoFoco = self.controles['nombre']

        self.ArmaEntrada(nombre='tiporesp',
                         boxlayout=self.layoutImpuesto,
                         control=Tiporesp.Combo(),
                         texto="Responsabilidad frente al iva")
        self.lblNombreTiporesp = Etiqueta()
        self.layoutDocumento.addWidget(self.lblNombreTiporesp)
        self.controles['tiporesp'].widgetNombre = self.lblNombreTiporesp

    @inicializar_y_capturar_excepciones
    def btnAceptarClicked(self, *args, **kwargs):
        if self.tipo == 'M':
            cliente = Cliente.get_by_id(
                self.controles[Cliente.idcliente.column_name].text())
            cliente.idcliente = self.controles['idcliente'].text()
        else:
            if self.controles['dni'].text() != '0':
                doc = Cliente.select().where(
                    Cliente.dni == self.controles['dni'].text())
            else:
                doc = Cliente.select().where(
                    Cliente.cuit == self.controles['cuit'].text() or '0')
            if doc.count() > 0:
                Ventanas.showAlert(
                    "Sistema",
                    "Cliente con el numero documento de documento cargado, ya dado de alta"
                )
                return
            cliente = Cliente()
        cliente.nombre = self.controles['nombre'].text()
        cliente.telefono = self.controles['telefono'].text()
        cliente.localidad = self.controles['localidad'].text() or 1
        cliente.domicilio = self.controles['domicilio'].text()
        cliente.tipodocu = self.controles['tipodocu'].text() or 0
        cliente.dni = self.controles['dni'].text(
        ) if self.controles['dni'].text() else '0'
        cliente.cuit = self.controles['cuit'].text() if str(
            self.controles['cuit'].text()).replace('-', '') else '0'
        cliente.tiporesp = self.controles['tiporesp'].text() or 3
        cliente.formapago = '1'
        cliente.percepcion = self.controles['percepcion'].text() or 1
        #if self.tipo == 'M': #actualizacion
        cliente.save()
        ABM.btnAceptarClicked(self)

    def BotonesAdicionales(self):
        self.btnEmail = Boton(self.tabLista,
                              texto="Email Cliente",
                              imagen=imagen("email.png"),
                              tamanio=QSize(32, 32),
                              tooltip='Agrega email del cliente')
        self.btnEmail.setObjectName("btnEmail")
        self.horizontalLayout.addWidget(self.btnEmail)
Example #30
0
class ABM(VistaBase):

    #diccionario que guarda los controles que se agreguen al abm
    controles = {}

    #modelo sobre el que se hace el abm
    model = None

    #indica si es un alta o una modificacion
    tipo = "A"

    #campos a mostrar en la grilla
    camposAMostrar = None

    #condicion para filtrar la tabla
    condicion = None

    #limite de registros
    limite = 100

    #orden de busqueda
    ordenBusqueda = None

    #campo
    campoClave = None

    #campo clave autoincremental
    autoincremental = True

    #campo para el foco
    campoFoco = None

    def __init__(self, *args, **kwargs):
        VistaBase.__init__(self, *args, **kwargs)
        self.controles = {}
        self.initUi()

    @inicializar_y_capturar_excepciones
    def initUi(self, *args, **kwargs):
        self.resize(906, 584)
        nombre_tabla = self.model._meta.table_name.title() if self.model else ''
        self.setWindowTitle("ABM de {}".format(nombre_tabla))
        self.verticalLayout = QVBoxLayout(self)
        self.lblTitulo = Etiqueta(tamanio=15, texto="ABM de {}".format(nombre_tabla))
        self.verticalLayout.addWidget(self.lblTitulo)

        self.tabWidget = QTabWidget()
        self.tabLista = QWidget()
        self.gridLayout = QGridLayout(self.tabLista)

        self.lineEditBusqueda = EntradaTexto(self.tabLista, placeholderText="Busqueda")
        self.lineEditBusqueda.setObjectName("lineEditBusqueda")
        self.gridLayout.addWidget(self.lineEditBusqueda, 0, 0, 1, 1)

        self.tableView = Grilla(self.tabLista)
        self.tableView.setObjectName("tableView")
        self.tableView.enabled = True

        # extraigo los nombres de las columnas
        self.tableView.cabeceras = [x.column_name.capitalize() for x in self.camposAMostrar]
        self.tableView.ArmaCabeceras()
        self.gridLayout.addWidget(self.tableView, 1, 0, 1, 1)
        self.horizontalLayout = QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")

        self.BotonesAdicionales()

        self.btnAgregar = Boton(self.tabLista, imagen="imagenes/nuevo.png", tamanio=QSize(32,32),
                                tooltip='Agrega nuevo registro')
        self.btnAgregar.setObjectName("btnAgregar")
        self.horizontalLayout.addWidget(self.btnAgregar)

        self.btnEditar = Boton(self.tabLista, imagen="imagenes/modificar.png", tamanio=QSize(32,32),
                               tooltip='Modifica registro')
        self.btnEditar.setObjectName("btnEditar")
        self.horizontalLayout.addWidget(self.btnEditar)

        self.btnBorrar = Boton(self.tabLista, imagen="imagenes/delete.png", tamanio=QSize(32,32),
                               tooltip='Borrar registro')
        self.btnBorrar.setObjectName("btnBorrar")
        self.horizontalLayout.addWidget(self.btnBorrar)

        self.btnCerrar = Boton(self.tabLista, imagen="imagenes/log-out.png", tamanio=QSize(32,32),
                               tooltip='Cerrar ABM')
        self.btnCerrar.setObjectName("btnCerrar")
        self.horizontalLayout.addWidget(self.btnCerrar)
        self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 1)

        self.tabWidget.addTab(self.tabLista, "Lista")
        self.tabDetalle = QWidget()
        self.tabWidget.addTab(self.tabDetalle, "Detalle")
        self.tabDetalle.setEnabled(False)

        self.verticalLayout.addWidget(self.tabWidget)

        self.ArmaDatos()
        self.ArmaTabla()
        self.ConectaWidgets()

    def BotonesAdicionales(self):
        pass

    def ArmaTabla(self):
        self.tableView.setRowCount(0)
        if not self.model: #si no esta establecido el modelo no hago nada
            return

        data = self.model.select().dicts()
        if self.condicion:
            for c in self.condicion:
                data = data.where(c)

        if self.lineEditBusqueda.text():
            if self.ordenBusqueda:
                data = data.where(self.ordenBusqueda.contains(self.lineEditBusqueda.text()))
            else:
                Ventanas.showAlert("Sistema", "Orden no establecido y no se puede realizar la busqueda")

        data = data.limit(self.limite)
        for d in data:
            if self.camposAMostrar:
                item = [d[x.column_name] for x in self.camposAMostrar]
            else:
                item = [d[x] for x in d]
            self.tableView.AgregaItem(item)

    def ArmaDatos(self):
        self.verticalLayoutDatos = QVBoxLayout(self.tabDetalle)
        self.verticalLayoutDatos.setObjectName("verticalLayoutDatos")
        self.ArmaCarga()
        fila = 0

        self.grdBotones = QGridLayout()
        self.grdBotones.setObjectName("grdBotones")
        self.btnAceptar = Boton(self.tabDetalle, imagen="imagenes/guardar.png", tamanio=QSize(32,32))
        self.btnAceptar.setObjectName("btnAceptar")
        self.grdBotones.addWidget(self.btnAceptar, 0, 0, 1, 1)

        self.btnCancelar = Boton(self.tabDetalle, imagen="imagenes/log-out.png", tamanio=QSize(32,32))
        self.btnCancelar.setObjectName("btnCancelar")
        self.grdBotones.addWidget(self.btnCancelar, 0, 1, 1, 1)
        self.verticalLayoutDatos.addLayout(self.grdBotones)
        self.verticalLayout.addWidget(self.tabWidget)
        self.btnCancelar.clicked.connect(self.btnCancelarClicked)
        self.btnAceptar.clicked.connect(self.btnAceptarClicked)
        self.verticalLayoutDatos.addStretch(1)

    def Busqueda(self):
        self.ArmaTabla()

    def ConectaWidgets(self):
        self.lineEditBusqueda.textChanged.connect(self.Busqueda)
        self.btnCerrar.clicked.connect(self.cerrarformulario)
        self.btnBorrar.clicked.connect(self.Borrar)
        self.btnEditar.clicked.connect(self.Modifica)
        self.btnAgregar.clicked.connect(self.Agrega)

    @inicializar_y_capturar_excepciones
    def Borrar(self, *args, **kwargs):
        if not self.tableView.currentRow() != -1:
            return

        if not self.campoClave:
            Ventanas.showAlert("Sistema", "No tenes establecido el campo clave y no podemos continuar")

        id = self.tableView.ObtenerItem(fila=self.tableView.currentRow(), col=self.campoClave.column_name.capitalize())
        data = self.model.get_by_id(id)
        data.delete_instance()
        self.ArmaTabla()

    def Modifica(self):

        self.tipo = 'M'
        if not self.tableView.currentRow() != -1:
            return

        if not self.campoClave:
            Ventanas.showAlert("Sistema", "No tenes establecido el campo clave y no podemos continuar")

        id = self.tableView.ObtenerItem(fila=self.tableView.currentRow(), col=self.campoClave.column_name.capitalize())
        print(self.tableView.currentRow(), id)
        data = self.model.select().where(self.campoClave == int(id)).dicts()
        self.tabDetalle.setEnabled(True)
        self.tabWidget.setCurrentIndex(1)
        self.CargaDatos(data)
        if self.campoFoco:
            self.campoFoco.setFocus()

    def CargaDatos(self, data=None):
        # self.tipo = 'A'
        if not data:
            return
        for d in data:
            print(d)
            for k in d:
                if k in self.controles:
                    if k == self.campoClave.column_name:
                        self.controles[k].setEnabled(False)
                    if isinstance(self.controles[k], QLineEdit):
                        if isinstance(d[k], (int, decimal.Decimal)):
                            self.controles[k].setText(str(d[k]))
                        else:
                            self.controles[k].setText(d[k])
                    elif isinstance(self.controles[k], Spinner):
                        self.controles[k].setText(d[k])
                    elif isinstance(self.controles[k], (QCheckBox, CheckBox)):
                        if EsVerdadero(d[k]) or d[k]:
                            self.controles[k].setChecked(True)
                        else:
                            self.controles[k].setChecked(False)
                    elif isinstance(self.controles[k], QComboBox):
                        if isinstance(d[k], (bytes,)):
                            if EsVerdadero(self.cursor[k]):
                                self.controles[k].setCurrentIndex(self.controles[k].findData('Si'))
                            else:
                                self.controles[k].setCurrentIndex(self.controles[k].findData('No'))
                        else:
                            self.controles[k].setCurrentIndex(self.controles[k].findData(d[k]))
                    self.controles[k].setStyleSheet("background-color: white")

    def ArmaEntrada(self, nombre="", boxlayout=None, texto='', *args, **kwargs):
        if not boxlayout:
            boxlayout = QHBoxLayout()
            lAgrega = True
        else:
            lAgrega = False

        if not texto:
            texto = nombre.capitalize()

        labelNombre = Etiqueta(texto=texto)
        labelNombre.setObjectName("labelNombre")
        boxlayout.addWidget(labelNombre)

        if 'control' in kwargs:
            lineEditNombre = kwargs['control']
        else:
            lineEditNombre = EntradaTexto()

        if 'relleno' in kwargs:
            lineEditNombre.relleno = kwargs['relleno']

        if 'inputmask' in kwargs:
            lineEditNombre.setInputMask(kwargs['inputmask'])

        #print(type(lineEditNombre))
        lineEditNombre.setObjectName(nombre)
        boxlayout.addWidget(lineEditNombre)
        if 'enabled' in kwargs:
            lineEditNombre.setEnabled(kwargs['enabled'])

        self.controles[nombre] = lineEditNombre

        if lAgrega:
            self.verticalLayoutDatos.addLayout(boxlayout)
        return boxlayout

    def btnCancelarClicked(self):
        self.tabWidget.setCurrentIndex(0)
        self.tabDetalle.setEnabled(False)

    @inicializar_y_capturar_excepciones
    def btnAceptarClicked(self, *args, **kwargs):
        # data = self.model.get_by_id(self.controles[self.campoClave.column_name].text())
        # data.nombre = self.controles['nombre'].text()
        self.ArmaTabla()
        self.btnCancelarClicked()

    def ArmaCarga(self):
        pass

    def Agrega(self):
        self.tipo = 'A'
        for x in self.controles:
            if self.autoincremental:
                if x == self.campoClave.column_name:
                    self.controles[x].setEnabled(False)
            self.controles[x].setText('')
            self.controles[x].setStyleSheet("background-color: white")
        self.tabDetalle.setEnabled(True)
        self.tabWidget.setCurrentIndex(1)
        if self.campoFoco:
            self.campoFoco.setFocus()