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 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("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 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 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 setupUi(self, Form): self.setWindowTitle("Importacion comprobantes AFIP") layoutPpal = QVBoxLayout(Form) self.avance = Avance() layoutPpal.addWidget(self.avance) layout_archivo_cab = QHBoxLayout() lblArchivo = Etiqueta(texto="Archivo cabecera") self.textArchivo = EntradaTexto(placeholderText="Ubicacion cabecera") self.btnArchivo = Boton(imagen=imagen("folder_search.png")) layout_archivo_cab.addWidget(lblArchivo) layout_archivo_cab.addWidget(self.textArchivo) layout_archivo_cab.addWidget(self.btnArchivo) layoutPpal.addLayout(layout_archivo_cab) layout_archivo_det = QHBoxLayout() lblArchivo_det = Etiqueta(texto="Archivo IVA") self.textArchivo_det = EntradaTexto(placeholderText="Ubicacion IVA") self.btnArchivo_det = Boton(imagen=imagen("folder_search.png")) layout_archivo_det.addWidget(lblArchivo_det) layout_archivo_det.addWidget(self.textArchivo_det) layout_archivo_det.addWidget(self.btnArchivo_det) layoutPpal.addLayout(layout_archivo_det) layoutFechas = QHBoxLayout() lblDesdeFecha = Etiqueta(texto="Desde fecha") self.textDesdeFecha = Fecha(fecha=InicioMes()) lblHastaFecha = Etiqueta(texto="Hasta fecha") self.textHastaFecha = Fecha(fecha=FinMes()) layoutFechas.addWidget(lblDesdeFecha) layoutFechas.addWidget(self.textDesdeFecha) layoutFechas.addWidget(lblHastaFecha) layoutFechas.addWidget(self.textHastaFecha) layoutPpal.addLayout(layoutFechas) layoutParametros = QHBoxLayout() self.checkBorra = CheckBox(texto="Borra los movimientos?", checked=True) self.consultaAFIP = CheckBox(texto="Consulta datos con AFIP?") layoutParametros.addWidget(self.checkBorra) layoutParametros.addWidget(self.consultaAFIP) layoutPpal.addLayout(layoutParametros) layoutBotones = QHBoxLayout() self.btnImportar = Boton(texto="Importar", imagen=imagen("importar.png")) self.btnCerrar = BotonCerrarFormulario() layoutBotones.addWidget(self.btnImportar) layoutBotones.addWidget(self.btnCerrar) layoutPpal.addLayout(layoutBotones)
def setupUi(self, Form): self.setWindowTitle("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 header(self): self.set_font('Arial', '', 8) # Calculate width of title and position title = datetime.now().date().strftime("%d/%m/%Y") self.set_xy(10, 0) #self.cell(w, 9, title, 1, 1, 'C', 1) self.text(10, 10, title) self.text(100, 10, 'Constatacion de comprobantes') self.image(imagen('afip_wscdc.png'), 25, 10, 80) self.line(0, 26, 240, 26) self.ln(1) self.set_font('Arial', '', 24) self.text( 10, 40, u'Constatación de comprobantes con {}'.format(self.cbte_modo)) self.set_font('Arial', '', 14) self.set_xy(0, 45) if self.estado.startswith('Aprobado'): self.multi_cell( 0, 5, u'Los datos ingresados coinciden con una autorizacion otorgada por la AFIP - {}' .format(self.obs)) else: self.multi_cell(0, 5, '{} - {}'.format(self.estado, self.obs)) self.line(0, self.get_y() + 5, 240, self.get_y() + 5)
def ActualizaListaAdjuntos(self): self.view.listaAdjuntos.clear() icono = imagen('attach_file.png') for item in self.adjuntos: self.view.listaAdjuntos.AgregaItem(item, icon=icono) self.view.textAdjunto.setText(','.join(x for x in self.adjuntos))
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)
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 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 dropEvent(self, event): if event.mimeData().hasUrls: event.setDropAction(QtCore.Qt.CopyAction) event.accept() links = [] for url in event.mimeData().urls(): links.append(str(url.toLocalFile())) icono = imagen('attach_file.png') self.AgregaItem(str(url.toLocalFile()), icon=icono) # self.emit(QtCore.SIGNAL("dropped"), links) self.itemDropped.emit(links) else: event.ignore()
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("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 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("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 setupUi(self): layoutPpal = QVBoxLayout(self) layoutToolBar = QHBoxLayout() edit_toolbar = QToolBar("Editar") edit_toolbar.setIconSize(QSize(16, 16)) self.undo_action = QAction(QIcon(imagen('arrow-curve-180-left.png')), "Deshacer", self) self.undo_action.setStatusTip("Deshacer ultimo cambio") edit_toolbar.addAction(self.undo_action) self.redo_action = QAction(QIcon(imagen('arrow-curve.png')), "Rehacer", self) self.redo_action.setStatusTip("Rehacer ultimo cambio") edit_toolbar.addAction(self.redo_action) self.cut_action = QAction(QIcon(imagen('scissors.png')), "Cortar", self) self.cut_action.setStatusTip("Cortar texto seleccionado") self.cut_action.setShortcut(QKeySequence.Cut) edit_toolbar.addAction(self.cut_action) self.copy_action = QAction(QIcon(imagen('document-copy.png')), "Copiar", self) self.copy_action.setStatusTip("Copia texto seleccionado") self.copy_action.setShortcut(QKeySequence.Copy) edit_toolbar.addAction(self.copy_action) self.paste_action = QAction( QIcon(imagen('clipboard-paste-document-text.png')), "Pegar", self) self.paste_action.setStatusTip("Pegar desde ") self.paste_action.setShortcut(QKeySequence.Paste) edit_toolbar.addAction(self.paste_action) self.select_action = QAction(QIcon(imagen('selection-input.png')), "Seleccionar todo", self) self.select_action.setStatusTip("Seleccionar todo el texto") self.select_action.setShortcut(QKeySequence.SelectAll) edit_toolbar.addAction(self.select_action) self.wrap_action = QAction(QIcon(imagen('arrow-continue.png')), "Ajusta el texto a la ventana", self) self.wrap_action.setStatusTip("Ajusta/desajusta el texto a la ventana") self.wrap_action.setCheckable(True) self.wrap_action.setChecked(True) edit_toolbar.addAction(self.wrap_action) layoutToolBar.addWidget(edit_toolbar) toolbar_formato = QToolBar("Formato") toolbar_formato.setIconSize(QSize(16, 16)) self.fonts = QFontComboBox() toolbar_formato.addWidget(self.fonts) self.fontsize = QComboBox() self.fontsize.addItems([str(s) for s in FONT_SIZES]) toolbar_formato.addWidget(self.fontsize) self.bold_action = QAction(QIcon(imagen('edit-bold.png')), "Negrita", self) self.bold_action.setStatusTip("Negrita") self.bold_action.setShortcut(QKeySequence.Bold) self.bold_action.setCheckable(True) toolbar_formato.addAction(self.bold_action) self.italic_action = QAction(QIcon(imagen('edit-italic.png')), "Italica", self) self.italic_action.setStatusTip("Italica") self.italic_action.setShortcut(QKeySequence.Italic) self.italic_action.setCheckable(True) toolbar_formato.addAction(self.italic_action) self.underline_action = QAction(QIcon(imagen('edit-underline.png')), "Subrayado", self) self.underline_action.setStatusTip("Subrayado") self.underline_action.setShortcut(QKeySequence.Underline) self.underline_action.setCheckable(True) toolbar_formato.addAction(self.underline_action) self.alignl_action = QAction(QIcon(imagen('edit-alignment.png')), "Alinear izquierda", self) self.alignl_action.setStatusTip("Alinear texto a la izquierda") self.alignl_action.setCheckable(True) toolbar_formato.addAction(self.alignl_action) self.alignc_action = QAction( QIcon(imagen('edit-alignment-center.png')), "Alinear centrado", self) self.alignc_action.setStatusTip("Alineacion centrada del texto") self.alignc_action.setCheckable(True) toolbar_formato.addAction(self.alignc_action) self.alignr_action = QAction(QIcon(imagen('edit-alignment-right.png')), "Alinear derecha", self) self.alignr_action.setStatusTip("Alinear texto a la derecha") self.alignr_action.setCheckable(True) toolbar_formato.addAction(self.alignr_action) self.alignj_action = QAction( QIcon(imagen('edit-alignment-justify.png')), "Justificar", self) self.alignj_action.setStatusTip("Texto justificado") self.alignj_action.setCheckable(True) toolbar_formato.addAction(self.alignj_action) format_group = QActionGroup(self) format_group.setExclusive(True) format_group.addAction(self.alignl_action) format_group.addAction(self.alignc_action) format_group.addAction(self.alignr_action) format_group.addAction(self.alignj_action) layoutToolBar.addWidget(toolbar_formato) layoutPpal.addLayout(layoutToolBar) self.editor = TextEdit(tamanio=10) self.editor.setAutoFormatting(QTextEdit.AutoAll) # Initialize default font size. font = QFont('Times', 12) self.editor.setFont(font) # We need to repeat the size to init the current format. self.editor.setFontPointSize(12) layoutPpal.addWidget(self.editor) # A list of all format-related widgets/actions, so we can disable/enable signals when updating. self._format_actions = [ self.fonts, self.fontsize, self.bold_action, self.italic_action, self.underline_action, # We don't need to disable signals for alignment, as they are paragraph-wide. ] # Initialize. self.update_format()
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()
def ImprimeFactura(self, idcabecera=None, mostrar=True, *args, **kwargs): if not idcabecera: return cabfact = Cabfact().get_by_id(idcabecera) print("imprimir factura {}".format(cabfact.numero)) pyfpdf = FEPDF() #cuit del emisor pyfpdf.CUIT = LeerIni(clave='cuit', key='WSFEv1') #establezco formatos (cantidad de decimales): pyfpdf.FmtCantidad = "0.4" pyfpdf.FmtPrecio = "0.2" #Datos del encabezado de la factura: tipo_cbte = cabfact.tipocomp.codigo punto_vta = cabfact.numero[:4] cbte_nro = cabfact.numero[-8:] fecha = FechaMysql(cabfact.fecha) concepto = cabfact.concepto #datos del cliente: tipo_doc = "80" if cabfact.cliente.tiporesp_id != 3 else "96" nro_doc = cabfact.cliente.cuit if cabfact.cliente.tiporesp_id != 3 else str( cabfact.cliente.dni) nombre_cliente = cabfact.nombre if cabfact.nombre != '' else cabfact.cliente.nombre domicilio_cliente = cabfact.domicilio #totales del comprobante: imp_total = cabfact.total imp_tot_conc = "0.00" imp_neto = cabfact.neto imp_iva = cabfact.iva imp_trib = cabfact.percepciondgr imp_op_ex = "0.00" imp_subtotal = cabfact.neto fecha_cbte = fecha fecha_venc_pago = fecha #Fechas del período del servicio facturado if int(cabfact.concepto) in [ FEv1().SERVICIOS, FEv1().PRODUCTOYSERVICIOS ]: fecha_serv_desde = FechaMysql(cabfact.desde) fecha_serv_hasta = FechaMysql(cabfact.hasta) else: fecha_serv_hasta = None fecha_serv_desde = None moneda_id = "PES" moneda_ctz = "1.000" obs_generales = "" obs_comerciales = "" moneda_id = "" moneda_ctz = 1 cae = cabfact.cae fecha_vto_cae = FechaMysql(cabfact.venccae) #Creo la factura(internamente en la interfaz) ok = pyfpdf.CrearFactura(concepto, tipo_doc, nro_doc, tipo_cbte, punto_vta, cbte_nro, imp_total, imp_tot_conc, imp_neto, imp_iva, imp_trib, imp_op_ex, fecha_cbte, fecha_venc_pago, fecha_serv_desde, fecha_serv_hasta, moneda_id, moneda_ctz, cae, fecha_vto_cae, "", nombre_cliente, domicilio_cliente, 0) pyfpdf.EstablecerParametro("forma_pago", cabfact.formapago.detalle) pyfpdf.EstablecerParametro( "custom-nro-cli", "[{}]".format(str(cabfact.cliente.idcliente).zfill(5))) pyfpdf.EstablecerParametro("localidad_cli", cabfact.cliente.localidad.nombre) pyfpdf.EstablecerParametro("provincia_cli", cabfact.cliente.localidad.provincia) pyfpdf.EstablecerParametro("iva_cli", cabfact.cliente.tiporesp.nombre) #Agregar comprobantes asociados(si es una NC / ND): if cabfact.tipocomp.codigo in [3, 8, 13]: cpbterel = CpbteRel().select().where( CpbteRel.idcabfact == cabfact.idcabfact) for cp in cpbterel: tipo = cp.idtipocpbte.codigo pto_vta = cp.numero[:4] nro = cp.numero[-8:] pyfpdf.AgregarCmpAsoc(tipo, pto_vta, nro) # if str(self.view.cboComprobante.text()).find('credito'): # tipo = 19 # pto_vta = 2 # nro = 1234 # pyfepdf.AgregarCmpAsoc(tipo, pto_vta, nro) #Agrego subtotales de IVA(uno por alicuota) if cabfact.netoa != 0: iva_id = 5 #c�digo para al�cuota del 21 % base_imp = cabfact.netoa #importe neto sujeto a esta al�cuota importe = cabfact.netoa * 21 / 100 #importe liquidado de iva ok = pyfpdf.AgregarIva(iva_id, base_imp, importe) if cabfact.netob != 0: iva_id = 4 # c�digo para al�cuota del 10.5 % base_imp = cabfact.netob # importe neto sujeto a esta al�cuota importe = cabfact.netob * 10.5 / 100 # importe liquidado de iva ok = pyfpdf.AgregarIva(iva_id, base_imp, importe) if cabfact.netoa == 0 and cabfact.netob == 0: iva_id = 3 # c�digo para al�cuota del 21 % base_imp = cabfact.netob # importe neto sujeto a esta al�cuota importe = 0 # importe liquidado de iva ok = pyfpdf.AgregarIva(iva_id, base_imp, importe) if cabfact.percepciondgr != 0: #Agregar cada impuesto(por ej.IIBB, retenciones, percepciones, etc.): tributo_id = 99 #codigo para 99 - otros tributos Desc = cabfact.cliente.percepcion.detalle base_imp = cabfact.neto #importe sujeto a estetributo alic = cabfact.cliente.percepcion.porcentaje #alicuota(porcentaje) de estetributo importe = cabfact.percepciondgr #importe liquidado de este tributo ok = pyfpdf.AgregarTributo(tributo_id, Desc, base_imp, alic, importe) det = Detfact().select().where(Detfact.idcabfact == cabfact.idcabfact) for d in det: #Agrego detalles de cada item de la factura: u_mtx = 0 #unidades cod_mtx = "" #c�digo de barras codigo = d.idarticulo.idarticulo #codigo interno a imprimir(ej. "articulo") ds = d.descad.strip() qty = d.cantidad #cantidad umed = 7 #c�digo de unidad de medida(ej. 7 para"unidades") precio = d.precio #precio neto(A) o iva incluido(B) bonif = 0 #importe de descuentos iva_id = FEv1().TASA_IVA[str(float( d.tipoiva.iva))] #c�digopara al�cuota del 21 % imp_iva = d.montoiva #importe liquidado deiva importe = d.precio * d.cantidad #importe total del item despacho = "" #numero de despacho de importaci�n dato_a = "" #primer dato adicional del item dato_b = "" dato_c = "" dato_d = "" dato_e = "" #ultimo dato adicionaldel item ok = pyfpdf.AgregarDetalleItem(u_mtx, cod_mtx, codigo, ds, qty, umed, precio, bonif, iva_id, imp_iva, importe, despacho, dato_a, dato_b, dato_c, dato_d, dato_e) #Agrego datos adicionales fijos: ok = pyfpdf.AgregarDato("logo", ubicacion_sistema() + "plantillas/logo.png") fondo = ParamSist.ObtenerParametro("FONDO_FACTURA") if fondo: x1 = ParamSist.ObtenerParametro("FONDO_FACTURA_X1") or 50 y1 = ParamSist.ObtenerParametro("FONDO_FACTURA_Y1") or 117.1 x2 = ParamSist.ObtenerParametro("FONDO_FACTURA_X2") or 150 y2 = ParamSist.ObtenerParametro("FONDO_FACTURA_Y2") or 232.9 pyfpdf.AgregarCampo("fondo_factura", 'I', x1, y1, x2, y2, foreground=0x808080, priority=-1, text=imagen(fondo)) ok = pyfpdf.AgregarDato( "EMPRESA", "Razon social: {}".format( DeCodifica(LeerIni(clave='empresa', key='FACTURA')))) ok = pyfpdf.AgregarDato( "MEMBRETE1", "Domicilio Comercial: {}".format( DeCodifica(LeerIni(clave='membrete1', key='FACTURA')))) ok = pyfpdf.AgregarDato( "MEMBRETE2", DeCodifica(LeerIni(clave='membrete2', key='FACTURA'))) ok = pyfpdf.AgregarDato( "CUIT", 'CUIT: {}'.format(LeerIni(clave='cuit', key='WSFEv1'))) ok = pyfpdf.AgregarDato("IIBB", LeerIni(clave='iibb', key='FACTURA')) ok = pyfpdf.AgregarDato( "IVA", "Condicion frente al IVA: {}".format( LeerIni(clave='iva', key='FACTURA'))) ok = pyfpdf.AgregarDato( "INICIO", "Fecha inicio actividades: {}".format( LeerIni(clave='inicio', key='FACTURA'))) if int(cabfact.tipocomp.codigo ) in Constantes.COMPROBANTES_FCE: #si es una FCE pyfpdf.AgregarDato('CBUFCE', LeerIni('CBUFCE', key='FACTURA')) pyfpdf.AgregarDato('ALIASFCE', LeerIni('ALIASFCE', key='FACTURA')) pyfpdf.AgregarDato('nombre_condvta', Constantes.COND_VTA['T']) ok = pyfpdf.CargarFormato(ubicacion_sistema() + "/plantillas/factura-fce.csv") else: #Cargo el formato desde el archivo CSV(opcional) #(carga todos los campos a utilizar desde la planilla) ok = pyfpdf.CargarFormato(ubicacion_sistema() + "/plantillas/factura.csv") #Creo plantilla para esta factura(papel A4vertical): if LeerIni(clave='h**o') == 'S': pyfpdf.AgregarCampo("h**o", 'T', 150, 350, 0, 0, size=70, rotate=45, foreground=0x808080, priority=-1, text="HOMOLOGACION") papel = "A4" #o "letter" para carta, "legal" para oficio orientacion = "portrait" #o landscape(apaisado) ok = pyfpdf.CrearPlantilla(papel, orientacion) num_copias = int( LeerIni(clave='num_copias', key='FACTURA')) #original, duplicado y triplicado lineas_max = 24 #cantidad de linas de items porp�gina qty_pos = "izq" #(cantidad a la izquierda de la descripci�n del art�culo) #Proceso la plantilla ok = pyfpdf.ProcesarPlantilla(num_copias, lineas_max, qty_pos) if not os.path.isdir('facturas'): os.mkdir('facturas') #Genero el PDF de salida seg�n la plantilla procesada salida = join( 'facturas', "{}-{}.pdf".format(cabfact.tipocomp.nombre, cabfact.numero)) ok = pyfpdf.GenerarPDF(salida) #Abro el visor de PDF y muestro lo generado #(es necesario tener instalado Acrobat Reader o similar) imprimir = False #cambiar a True para que lo envie directo a laimpresora if mostrar: pyfpdf.MostrarPDF(salida, imprimir) self.facturaGenerada = salida
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 if self.camposAMostrar: self.tableView.cabeceras = [ x.verbose_name.capitalize() if x.verbose_name else x.column_name.capitalize() for x in self.camposAMostrar ] else: self.tableView.cabeceras = [] 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, texto='Nuevo', imagen=imagen('new.png'), tamanio=QSize(32, 32), tooltip='Agrega nuevo registro') self.btnAgregar.setObjectName("btnAgregar") self.horizontalLayout.addWidget(self.btnAgregar) self.btnEditar = Boton(self.tabLista, imagen=imagen('edit.png'), tamanio=QSize(32, 32), tooltip='Modifica registro', texto='Editar') self.btnEditar.setObjectName("btnEditar") self.horizontalLayout.addWidget(self.btnEditar) self.btnBorrar = Boton(self.tabLista, imagen=imagen('delete.png'), tamanio=QSize(32, 32), tooltip='Borrar registro', texto='Borrar') self.btnBorrar.setObjectName("btnBorrar") self.horizontalLayout.addWidget(self.btnBorrar) self.btnCerrar = Boton(self.tabLista, imagen=imagen('close.png'), tamanio=QSize(32, 32), tooltip='Cerrar ABM', texto='Cerrar') 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.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)