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)
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)
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 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)
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)
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)
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 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 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 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)
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)
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)
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)
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)
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)
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 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)
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()