예제 #1
0
 def verificacion(self, objeto):
     # Verifica Campos Vacios y Numéricos, habilita Botón Guardar
     if len(self.obj("txt_00").get_text()) == 0 or len(
             self.obj("txt_01").get_text()) == 0:
         estado = False
     else:
         if self.nav.tabla in ("generos", "tipodocumentos",
                               "unidadmedidas"):
             estado = True
         else:
             if Op.comprobar_numero(int, self.obj("txt_00"), "Código",
                                    self.obj("barraestado")):
                 if self.nav.tabla in ("impuestos", "monedas", "paises"):
                     if len(self.obj("txt_02").get_text()) == 0:
                         estado = False
                     else:
                         if self.nav.tabla == "impuestos":
                             estado = Op.comprobar_numero(
                                 float, self.obj("txt_02"), "Porcentaje",
                                 self.obj("barraestado"), True)
                         else:
                             estado = True
                 else:
                     estado = True
             else:
                 estado = False
     self.obj("btn_guardar").set_sensitive(estado)
예제 #2
0
    def focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")

            if objeto == self.obj("txt_01"):  # Código de Empleado
                self.obj("txt_01_1").set_text("")
                self.obj("txt_01_2").set_text("")
            elif objeto == self.obj("txt_01_2") \
            and len(self.obj("txt_01").get_text()) == 0:  # Nro. Documento de Empleado
                self.obj("txt_01_1").set_text("")
        else:
            if objeto == self.obj("txt_00"):
                # Cuando crea nuevo registro o, al editar, valor es diferente del original,
                # y si es un numero entero, comprueba si ya ha sido registado
                if (not self.editando or valor != self.cond) and \
                Op.comprobar_numero(int, objeto, "Código", self.obj("barraestado")):
                    Op.comprobar_unique(self.nav.datos_conexion,
                        self.nav.tabla + "_s", self.nav.campoid, valor,
                        objeto, self.estadoguardar, self.obj("barraestado"),
                        "El Código introducido ya ha sido registado.")

            elif objeto == self.obj("txt_01"):
                if Op.comprobar_numero(int, objeto, "Cód. de Empleado", self.obj("barraestado")):
                    self.buscar_empleados(objeto, "idPersona", valor, "Cód. de Empleado")

            elif objeto == self.obj("txt_01_2"):
                self.buscar_empleados(objeto, "NroDocumento", "'" + valor + "'" +
                    " AND idTipoDocumento = '" + str(self.idTipoDoc) + "'", "Nro. de Documento")

            elif objeto == self.obj("txt_02"):
                self.obj("barraestado").push(0, "")
예제 #3
0
    def focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")

            if objeto == self.obj("txt_new_per"):  # Nuevo idPersona
                self.obj("txt_new_nomb").set_text("")
                self.obj("txt_new_doc").set_text("")
            elif objeto == self.obj("txt_new_doc") and len(self.obj("txt_new_per").get_text()) == 0:
                self.obj("txt_new_nomb").set_text("")

            elif objeto == self.obj("txt_mod_per"):  # Modificar idPersona
                self.obj("txt_mod_nomb").set_text("")
                self.obj("txt_mod_doc").set_text("")
            elif objeto == self.obj("txt_mod_doc") and len(self.obj("txt_mod_per").get_text()) == 0:
                self.obj("txt_mod_nomb").set_text("")
        else:
            if objeto == self.obj("txt_new_cod"):
                self.comprobacion_codigo(objeto, valor, self.obj("barraestado_new"),
                    self.obj("btn_guardar_new"))

            elif objeto == self.obj("txt_mod_cod"):
                self.comprobacion_codigo(objeto, valor, self.obj("barraestado_mod"),
                    self.obj("btn_guardar_mod"))

            elif objeto == self.obj("txt_new_per"):
                if Op.comprobar_numero(int, objeto, "Cód. de Funcionario", self.obj("barraestado_new")):
                    self.buscar_personas(objeto, "idPersona", valor,
                        "Cód. de Funcionario", objeto, self.obj("txt_new_nomb"),
                        self.obj("txt_new_doc"), self.obj("cmb_new_doc"),
                        self.obj("barraestado_new"), self.obj("btn_guardar_new"))

            elif objeto == self.obj("txt_mod_per"):
                if Op.comprobar_numero(int, objeto, "Cód. de Funcionario", self.obj("barraestado_mod")):
                    self.buscar_personas(objeto, "idPersona", valor,
                        "Cód. de Funcionario", objeto, self.obj("txt_mod_nomb"),
                        self.obj("txt_mod_doc"), self.obj("cmb_mod_doc"),
                        self.obj("barraestado_mod"), self.obj("btn_guardar_mod"))

            elif objeto == self.obj("txt_new_doc"):
                self.buscar_personas(objeto, "NroDocumento", "'" + valor + "'" +
                    " AND idTipoDocumento = '" + self.idTipoDoc + "'",
                    "Nro. de Documento del Funcionario", self.obj("txt_new_per"),
                    self.obj("txt_new_nomb"), objeto, self.obj("cmb_new_doc"),
                    self.obj("barraestado_new"), self.obj("btn_guardar_new"))

            elif objeto == self.obj("txt_mod_doc"):
                self.buscar_personas(objeto, "NroDocumento", "'" + valor + "'" +
                    " AND idTipoDocumento = '" + self.idTipoDoc + "'",
                    "Nro. de Documento del Funcionario", self.obj("txt_mod_per"),
                    self.obj("txt_mod_nomb"), objeto, self.obj("cmb_mod_doc"),
                    self.obj("barraestado_mod"), self.obj("btn_guardar_mod"))

            elif objeto == self.obj("txt_new_alias"):
                self.comprobacion_alias(objeto, valor, self.obj("barraestado_new"),
                    self.obj("btn_guardar_new"))

            elif objeto == self.obj("txt_mod_alias"):
                self.comprobacion_alias(objeto, valor, self.obj("barraestado_mod"),
                    self.obj("btn_guardar_mod"))
예제 #4
0
    def verificacion_descuento(self, objeto):
        page = self.obj("notebook").get_current_page()

        if page == 0:  # Montos Iguales
            if len(self.obj("txt_i_04").get_text()) == 0 \
            or len(self.obj("txt_i_05").get_text()) == 0 or self.idPeriodoPago == -1:
                estado = False
            else:
                if Op.comprobar_numero(float, self.obj("txt_i_04"), "Monto Descontar por Periodo", self.obj("barraestado")) \
                and Op.comprobar_numero(float, self.obj("txt_i_05"), "Monto Total a Descontar", self.obj("barraestado")):
                    if self.idPeriodoPago != 1:  # NO Mensual
                        if len(self.obj("txt_i_02").get_text()) == 0:
                            estado = False
                        else:
                            estado = True
                    else:
                        estado = True

        else:  # Montos Personalizados
            if len(self.obj("txt_d_01").get_text()) == 0 or len(self.obj("txt_d_02").get_text()) == 0 \
            or len(self.obj("txt_d_03").get_text()) == 0:
                estado = False
            else:
                if Op.comprobar_numero(int, self.obj("txt_d_01"), "Cód. de Descuento", self.obj("barraestado")) \
                and Op.comprobar_numero(float, self.obj("txt_d_03"), "Monto de Cuota", self.obj("barraestado")):
                    estado = True
                else:
                    estado = False

        self.obj("btn_guardar_descuento").set_sensitive(estado)
예제 #5
0
    def focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")

            if objeto == self.obj("txt_01"):  # Código de Empleado
                self.obj("txt_01_1").set_text("")
                self.obj("txt_01_2").set_text("")
            elif objeto == self.obj("txt_01_2") \
            and len(self.obj("txt_01").get_text()) == 0:  # Nro. Documento de Empleado
                self.obj("txt_01_1").set_text("")
        else:
            if objeto == self.obj("txt_00"):
                # Cuando crea nuevo registro o, al editar, valor es diferente del original,
                # y si es un numero entero, comprueba si ya ha sido registado
                if (not self.editando or valor != self.cond) and \
                Op.comprobar_numero(int, objeto, "Código", self.obj("barraestado")):
                    Op.comprobar_unique(
                        self.nav.datos_conexion, self.nav.tabla + "_s",
                        self.nav.campoid, valor, objeto, self.estadoguardar,
                        self.obj("barraestado"),
                        "El Código introducido ya ha sido registado.")

            elif objeto == self.obj("txt_01"):
                if Op.comprobar_numero(int, objeto, "Cód. de Empleado",
                                       self.obj("barraestado")):
                    self.buscar_empleados(objeto, "idPersona", valor,
                                          "Cód. de Empleado")

            elif objeto == self.obj("txt_01_2"):
                self.buscar_empleados(
                    objeto, "NroDocumento", "'" + valor + "'" +
                    " AND idTipoDocumento = '" + str(self.idTipoDoc) + "'",
                    "Nro. de Documento")

            elif objeto == self.obj("txt_02"):
                self.obj("barraestado").push(0, "")

            elif objeto == self.obj("txt_03"):
                if Op.comprobar_numero(int, objeto,
                                       "Nro. de Comprobante de Pago",
                                       self.obj("barraestado")):
                    conexion = Op.conectar(self.nav.datos_conexion)
                    cursor = Op.consultar(
                        conexion, "NroComprobante", "comprobantepagos_s",
                        " WHERE NroComprobante = " + valor +
                        " AND Confirmado = 1")
                    datos = cursor.fetchall()
                    cant = cursor.rowcount
                    conexion.close()  # Finaliza la conexión

                    if cant > 0:
                        self.obj("barraestado").push(0, "")
                        self.verificacion(0)
                    else:
                        objeto.grab_focus()
                        self.estadoguardar(False)
                        self.obj("barraestado").push(
                            0, "El Nro. de Comprobante de Pago no es válido.")
예제 #6
0
    def focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")
            if objeto == self.obj("txt_02"):
                self.obj("txt_02_1").set_text("")
                self.obj("txt_02_2").set_text("")
                self.obj("txt_02_3").set_text("")
        else:
            if objeto == self.obj("txt_00"):
                # Cuando crea nuevo registro o, al editar, valor es diferente del original,
                # y si es un numero entero, comprueba si ya ha sido registado
                if (not self.editando or valor != self.cond) and \
                Op.comprobar_numero(int, self.obj("txt_00"), "Código", self.obj("barraestado")):
                    Op.comprobar_unique(
                        self.nav.datos_conexion, self.nav.tabla + "_s",
                        self.nav.campoid, valor, self.obj("txt_00"),
                        self.obj("btn_guardar"), self.obj("barraestado"),
                        "El Código introducido ya ha sido registado.")

            elif objeto == self.obj("txt_01"):
                busc = "" if not self.editando else " AND " + self.nav.campoid + " <> " + self.cond
                # Comprueba si el nombre o la descripcion ya ha sido registado/a
                Op.comprobar_unique(
                    self.nav.datos_conexion, self.nav.tabla + "_s",
                    "Descripcion", "'" + valor + "'" + busc, objeto,
                    self.obj("btn_guardar"), self.obj("barraestado"),
                    "La Descripción introducida ya ha sido registada.")

            elif objeto == self.obj("txt_02"):
                if Op.comprobar_numero(int, objeto, "Nro. Establecimiento",
                                       self.obj("barraestado")):
                    conexion = Op.conectar(self.nav.datos_conexion)
                    cursor = Op.consultar(
                        conexion,
                        "Nombre, Ciudad, " + "Direccion, NroTelefono",
                        "establecimientos_s",
                        " WHERE NroEstablecimiento = " + valor)
                    datos = cursor.fetchall()
                    cant = cursor.rowcount
                    conexion.close()  # Finaliza la conexión

                    if cant > 0:
                        direccion = "" if datos[0][
                            2] is None else ", " + datos[0][2]
                        telefono = "" if datos[0][3] is None else datos[0][3]

                        self.obj("txt_02_1").set_text(datos[0][0])
                        self.obj("txt_02_2").set_text(datos[0][1] + direccion)
                        self.obj("txt_02_3").set_text(telefono)
                        self.obj("barraestado").push(0, "")
                    else:
                        self.obj("btn_guardar").set_sensitive(False)
                        objeto.grab_focus()
                        self.obj("barraestado").push(
                            0, "El Nro. Establecimiento no es válido.")
                        self.obj("txt_02_1").set_text("")
                        self.obj("txt_02_2").set_text("")
                        self.obj("txt_02_3").set_text("")
예제 #7
0
    def focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")

            if objeto in (self.obj("txt_01"), self.obj("txt_01_2")):
                self.obj("txt_01_1").set_text("")
                self.obj("txt_01_2").set_text("")
                self.obj("txt_01_3").set_text("")
                self.obj("txt_01_4").set_text("")
            elif objeto in (self.obj("txt_02"), self.obj("txt_02_2")):
                self.obj("txt_02_1").set_text("")
                self.obj("txt_02_2").set_text("")
        else:
            if objeto == self.obj("txt_00"):
                # Cuando crea nuevo registro o, al editar, valor es diferente del original
                busq = "" if not self.editando else " AND " + self.nav.campoid + " <> '" + self.cond + "'"

                Op.comprobar_unique(self.nav.datos_conexion, self.nav.tabla + "_s",
                    self.nav.campoid, "'" + valor + "'" + busq, objeto,
                    self.obj("btn_guardar"), self.obj("barraestado"),
                    "El Nro. de Tarjeta introducido ya ha sido registado.")

            elif objeto == self.obj("txt_01"):
                if Op.comprobar_numero(int, objeto, "Cód. de Banco", self.obj("barraestado")):
                    self.buscar_personas(objeto, "idPersona", valor,
                        "Cód. de Banco", objeto, self.obj("txt_01_1"),
                        self.obj("txt_01_2"), self.obj("cmb_doc_banco"),
                        self.obj("txt_01_3"), self.obj("txt_01_4"))

            elif objeto == self.obj("txt_01_2"):
                self.buscar_personas(objeto, "NroDocumento", "'" + valor + "'" +
                    " AND idTipoDocumento = '" + self.idTipoDocBanco + "'",
                    "Nro. de Documento del Banco", self.obj("txt_01"),
                    self.obj("txt_01_1"), objeto, self.obj("cmb_doc_banco"),
                    self.obj("txt_01_3"), self.obj("txt_01_4"))

            elif objeto == self.obj("txt_02"):
                if Op.comprobar_numero(int, objeto, "Cód. de Titular", self.obj("barraestado")):
                    self.buscar_personas(objeto, "idPersona", valor,
                        "Cód. de Titular", objeto, self.obj("txt_02_1"),
                        self.obj("txt_02_2"), self.obj("cmb_doc_titular"))

            elif objeto == self.obj("txt_02_2"):
                self.buscar_personas(objeto, "NroDocumento", "'" + valor + "'" +
                    " AND idTipoDocumento = '" + self.idTipoDocTitular + "'",
                    "Nro. de Documento del Titular", self.obj("txt_02"),
                    self.obj("txt_02_1"), objeto, self.obj("cmb_doc_titular"))

            elif objeto == self.obj("txt_03"):
                if Op.compara_fechas(self.nav.datos_conexion, "NOW()", ">=", "'" + self.fecha_ven + "'") == 1:
                    self.obj("btn_guardar").set_sensitive(False)
                    objeto.grab_focus()
                    self.obj("barraestado").push(0, "La Fecha de Vencimiento debe estar en el FUTURO.")
                else:
                    self.obj("barraestado").push(0, "")
예제 #8
0
 def verificacion_concepto(self, objeto):
     if len(self.obj("txt_c_01").get_text()) == 0 or len(self.obj("txt_c_02").get_text()) == 0 \
     or len(self.obj("txt_c_04").get_text()) == 0:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_c_01"), "Cód. de Detalle", self.obj("barraestado")) \
         and Op.comprobar_numero(float, self.obj("txt_c_04"), "Monto a Pagar", self.obj("barraestado"), False):
             estado = True
         else:
             estado = False
     self.obj("btn_guardar_concepto").set_sensitive(estado)
 def verificacion_item(self, objeto):
     if len(self.obj("txt_it_00").get_text()) == 0 or len(self.obj("txt_it_01").get_text()) == 0 \
     or len(self.obj("txt_it_02").get_text()) == 0:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_it_00"), "Cód. de Ítem", self.obj("barraestado")) \
         and Op.comprobar_numero(float, self.obj("txt_it_01"), "Cantidad de Ítems", self.obj("barraestado")):
             estado = True
         else:
             estado = False
     self.obj("btn_guardar_item").set_sensitive(estado)
예제 #10
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
     or len(self.obj("txt_02").get_text()) == 0 or self.idTipoDen == -1 or self.idMoneda == -1:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_00"), "Código", self.obj("barraestado")) \
         and Op.comprobar_numero(float, self.obj("txt_02"), "Valor", self.obj("barraestado")):
             estado = True
         else:
             estado = False
     self.obj("btn_guardar").set_sensitive(estado)
예제 #11
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
     or len(self.obj("txt_02").get_text()) == 0 or len(self.obj("txt_03").get_text()) == 0:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_00"), "Nro. de Establecimiento", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_02"), "Cód. de Empresa", self.obj("barraestado")):
             estado = True
         else:
             estado = False
     self.obj("btn_guardar").set_sensitive(estado)
예제 #12
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
     or len(self.obj("txt_01_2").get_text()) == 0 or len(self.obj("txt_02").get_text()) == 0 \
     or self.idTipoDoc == -1 or self.idMotivoSalida == -1:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_00"), "Código", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_01"), "Cód. de Empleado", self.obj("barraestado")):
             estado = True
         else:
             estado = False
     self.estadoguardar(estado)
예제 #13
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 \
     or len(self.obj("txt_01").get_text()) == 0 or self.idFormaPago == -1:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_00"), "Nro. de Orden", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_01"), "Cód. de Proveedor", self.obj("barraestado")):
             estado = True
         else:
             estado = False
     self.encabezado_guardado = False
     self.estadoguardar(estado)
예제 #14
0
    def focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")
            if objeto == self.obj("txt_01"):  # Código de Empleado
                self.obj("txt_01_2").set_text("")
            elif objeto == self.obj("txt_01_2"):  # Nro. Documento de Empleado
                self.obj("txt_01").set_text("")

            if objeto == self.obj("txt_01") or (objeto == self.obj("txt_01_2") \
            and len(self.obj("txt_01").get_text()) == 0):
                self.obj("txt_01_1").set_text("")
                self.obj("txt_01_3").set_text("")
                self.obj("txt_01_4").set_text("")
        else:
            if objeto == self.obj("txt_00"):
                # Cuando crea nuevo registro o, al editar, valor es diferente del original,
                # y si es un numero entero, comprueba si ya ha sido registado
                if (not self.editando or valor != self.cond) and \
                Op.comprobar_numero(int, objeto, "Código", self.obj("barraestado")):
                    Op.comprobar_unique(self.nav.datos_conexion, "contratos_s",
                        self.nav.campoid, valor, self.obj("txt_00"),
                        self.estadoedicion, self.obj("barraestado"),
                        "El Código introducido ya ha sido registado.")

            elif objeto == self.obj("txt_01"):
                if Op.comprobar_numero(int, objeto, "Cód. de Empleado", self.obj("barraestado")):
                    self.buscar_empleados(objeto, "idPersona", valor, "Cód. de Empleado")

            elif objeto == self.obj("txt_01_2"):
                self.buscar_empleados(objeto, "NroDocumento", "'" + valor + "'" +
                    " AND idTipoDocumento = '" + self.idTipoDoc + "'", "Nro. de Documento")

            elif objeto in (self.obj("txt_04"), self.obj("txt_05")):
                if len(self.obj("txt_04").get_text()) > 0 and len(self.obj("txt_05").get_text()) > 0:
                    if Op.compara_fechas(self.nav.datos_conexion,
                    "'" + self.fecha_ini + "'", ">=", "'" + self.fecha_fin + "'"):
                        self.estadoedicion(False)
                        objeto.grab_focus()
                        self.obj("barraestado").push(0, "La Fecha de Inicio NO puede ser posterior a la de Terminación.")
                    else:
                        self.obj("barraestado").push(0, "")

            elif objeto in (self.obj("txt_06"), self.obj("txt_07")):
                if len(self.obj("txt_06").get_text()) > 0 and len(self.obj("txt_07").get_text()) > 0:
                    if Op.compara_fechas(self.nav.datos_conexion,
                    "'" + self.prueba_ini + "'", ">=", "'" + self.prueba_fin + "'"):
                        self.estadoedicion(False)
                        objeto.grab_focus()
                        self.obj("barraestado").push(0, "La Fecha de Inicio del Periodo de Prueba NO puede ser posterior a la de Terminación.")
                    else:
                        self.obj("barraestado").push(0, "")
예제 #15
0
    def focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")
            if objeto == self.obj("txt_02"):
                self.obj("txt_02_1").set_text("")
        else:
            if objeto == self.obj("txt_00"):
                # Cuando crea nuevo registro o, al editar, valor es diferente del original,
                # y si es un numero entero, comprueba si ya ha sido registado
                if (not self.editando or valor != self.cond) and \
                Op.comprobar_numero(int, objeto, "Nro. de Establecimiento", self.obj("barraestado")):
                    Op.comprobar_unique(
                        self.nav.datos_conexion, "establecimientos_s",
                        "NroEstablecimiento", valor, self.obj("txt_00"),
                        self.obj("btn_guardar"), self.obj("barraestado"),
                        "El Nro. de Establecimiento introducido ya ha sido registado."
                    )

            elif objeto == self.obj("txt_01"):
                busc = "" if not self.editando else " AND NroEstablecimiento <> " + self.cond
                # Comprueba si el nombre ya ha sido registado/a
                Op.comprobar_unique(
                    self.nav.datos_conexion, "establecimientos_s", "Nombre",
                    "'" + valor + "'" + busc, self.obj("txt_01"),
                    self.obj("btn_guardar"), self.obj("barraestado"),
                    "El Nombre introducido ya ha sido registado.")

            elif objeto == self.obj("txt_02"):
                if Op.comprobar_numero(int, objeto, "Cód. de Empresa",
                                       self.obj("barraestado")):
                    conexion = Op.conectar(self.nav.datos_conexion)
                    cursor = Op.consultar(conexion, "RazonSocial",
                                          "empresas_s",
                                          " WHERE idEmpresa = " + valor)
                    datos = cursor.fetchall()
                    cant = cursor.rowcount
                    conexion.close()  # Finaliza la conexión

                    if cant > 0:
                        self.obj("txt_02_1").set_text(datos[0][0])
                        self.obj("barraestado").push(0, "")
                        self.verificacion(0)
                    else:
                        objeto.grab_focus()
                        self.obj("btn_guardar").set_sensitive(False)
                        self.obj("txt_02_1").set_text("")
                        self.obj("barraestado").push(
                            0, "El Cód. de Empresa no es válido.")

            elif objeto == self.obj("txt_03"):
                self.obj("barraestado").push(0, "")
예제 #16
0
    def verificacion(self, objeto):
        if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
        or len(self.obj("txt_04").get_text()) == 0:
            estado = False
        else:
            if Op.comprobar_numero(int, self.obj("txt_00"), "Cód. de Contrato", self.obj("barraestado")) \
            and Op.comprobar_numero(int, self.obj("txt_01"), "Cód. de Empleado", self.obj("barraestado")):
                estado = True
            else:
                estado = False

        self.principal_guardado = False
        self.estadoedicion(estado)
예제 #17
0
    def verificacion(self, objeto):
        if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
        or len(self.obj("txt_01_2").get_text()) == 0 or self.idTipoDoc == -1:
            estado = False
        else:
            if Op.comprobar_numero(int, self.obj("txt_00"), "Nro. de Pedido", self.obj("barraestado")) \
            and Op.comprobar_numero(int, self.obj("txt_01"), "Cód. de Cliente", self.obj("barraestado")):
                estado = True
            else:
                estado = False

        self.encabezado_guardado = False
        self.estadoguardar(estado)
예제 #18
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
     or len(self.obj("txt_01_2").get_text()) == 0 or len(self.obj("txt_02").get_text()) == 0 \
     or len(self.obj("txt_02_2").get_text()) == 0 or len(self.obj("txt_03").get_text()) == 0 \
     or self.idMarcaTarjeta == -1 or self.idTipoTarjeta == -1:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_01"), "Cód. de Banco", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_02"), "Cód. de Titular", self.obj("barraestado")):
             estado = True
         else:
             estado = False
     self.obj("btn_guardar").set_sensitive(estado)
예제 #19
0
    def focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")

            if objeto == self.obj("txt_03"):  # Código de Proveedor
                self.obj("txt_03_1").set_text("")
                self.obj("txt_03_2").set_text("")
                self.obj("txt_03_3").set_text("")
                self.obj("txt_03_4").set_text("")

            elif objeto == self.obj("txt_03_2") \
            and len(self.obj("txt_03").get_text()) == 0:  # Nro. Documento de Proveedor
                self.obj("txt_03_1").set_text("")
                self.obj("txt_03_3").set_text("")
                self.obj("txt_03_4").set_text("")
        else:
            if objeto in (self.obj("txt_00"), self.obj("txt_01")):
                fact = self.obj("txt_00").get_text()
                timb = self.obj("txt_01").get_text()

                if len(timb) > 0 and len(fact) > 0 and Op.comprobar_numero(int,
                self.obj("txt_01"), "Nro. de Timbrado", self.obj("barraestado")):
                    # Al editar, comprueba que los valores son diferentes del original
                    busq = "" if not self.editando else " AND " + \
                        "(NroTimbrado <> " + self.cond_timb + " OR" + \
                        " NroFactura <> '" + self.cond_fact + "')"

                    Op.comprobar_unique(self.nav.datos_conexion, self.nav.tabla + "_s",
                        "NroFactura", "'" + fact + "' AND NroTimbrado = " + timb + busq,
                        objeto, self.estadoguardar, self.obj("barraestado"),
                        "La Factura de Compra introducida ya ha sido registada.")

            elif objeto == self.obj("txt_02"):
                if Op.compara_fechas(self.nav.datos_conexion, "'" + self.fecha + "'", ">=", "NOW()"):
                    self.estadoguardar(False)
                    objeto.grab_focus()
                    self.obj("barraestado").push(0, "La Fecha de expedición de la Factura NO puede estar en el Futuro.")
                else:
                    self.obj("barraestado").push(0, "")

            elif objeto == self.obj("txt_orden"):
                self.obj("barraestado").push(0, "")

            elif objeto == self.obj("txt_03"):
                if Op.comprobar_numero(int, objeto, "Cód. de Proveedor", self.obj("barraestado")):
                    self.buscar_proveedores(objeto, "idPersona", valor, "Cód. de Proveedor")

            elif objeto == self.obj("txt_03_2"):
                self.buscar_proveedores(objeto, "NroDocumento", "'" + valor + "'" +
                    " AND idTipoDocumento = '" + self.idTipoDoc + "'", "Nro. de Documento")
예제 #20
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
     or len(self.obj("txt_01_2").get_text()) == 0 or len(self.obj("txt_02").get_text()) == 0 \
     or len(self.obj("txt_04").get_text()) == 0 or self.idTipoDoc == -1:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_00"), "Código", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_01"), "Cód. de Empleado", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_02"), "Nro. de Contrato", self.obj("barraestado")) \
         and Op.comprobar_numero(float, self.obj("txt_04"), "Monto de Anticipo", self.obj("barraestado"), False):
             estado = True
         else:
             estado = False
     self.obj("btn_guardar").set_sensitive(estado)
예제 #21
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
     or len(self.obj("txt_02").get_text()) == 0 or len(self.obj("txt_03").get_text()) == 0 \
     or self.idTipoDoc == -1:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_00"), "Nro. de Establecimiento", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_01"), "Nro. de Punto de Expedición", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_02"), "Número Inicial del Documento a emitir", self.obj("barraestado"), False) \
         and Op.comprobar_numero(float, self.obj("txt_03"), "Monto de Apertura", self.obj("barraestado")):
             estado = True
         else:
             estado = False
     self.obj("btn_guardar").set_sensitive(estado)
예제 #22
0
    def focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")
            if objeto == self.obj("txt_01"):
                self.obj("txt_01_1").set_text("")
                self.obj("txt_01_2").set_text("")
                self.obj("txt_01_3").set_text("")
            elif objeto == self.obj("txt_02"):
                self.obj("txt_02_1").set_value(0)
        else:
            if objeto == self.obj("txt_00"):
                # Cuando crea nuevo registro o, al editar, valor es diferente del original,
                # y si es un numero entero, comprueba si ya ha sido registado
                if (not self.editando or valor != self.cond) and \
                Op.comprobar_numero(int, objeto, "Código", self.obj("barraestado")):
                    Op.comprobar_unique(self.nav.datos_conexion, "empresas_s",
                        self.nav.campoid, valor, self.obj("txt_00"),
                        self.estadoedicion, self.obj("barraestado"),
                        "El Código introducido ya ha sido registado.")

            if objeto == self.obj("txt_01"):
                if Op.comprobar_numero(int, objeto, "Cód. de Propietario o Representante Legal", self.obj("barraestado")):
                    conexion = Op.conectar(self.nav.datos_conexion)
                    cursor = Op.consultar(conexion, "idPersona, NombreApellido, " +
                        "DireccionPrincipal, TelefonoPrincipal", "personafisicas_s",
                        " WHERE idPersona = " + valor)
                    datos = cursor.fetchall()
                    cant = cursor.rowcount
                    conexion.close()  # Finaliza la conexión

                    if cant > 0:
                        direccion = "" if datos[0][2] is None else datos[0][2]
                        telefono = "" if datos[0][3] is None else datos[0][3]

                        self.obj("txt_01_1").set_text(datos[0][1])
                        self.obj("txt_01_2").set_text(direccion)
                        self.obj("txt_01_3").set_text(telefono)

                        self.obj("barraestado").push(0, "")
                        self.verificacion(0)
                    else:
                        self.estadoedicion(False)
                        self.obj("barraestado").push(0, "El Cód. de Propietario o Representante Legal no es válido.")
                        self.obj("txt_01_1").set_text("")
                        self.obj("txt_01_2").set_text("")
                        self.obj("txt_01_3").set_text("")

            elif objeto == self.obj("txt_02"):
                pass
예제 #23
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
     or len(self.obj("txt_01_2").get_text()) == 0 or len(self.obj("txt_02").get_text()) == 0 \
     or self.idTipoDoc == -1:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_00"), "Código de Vacación", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_01"), "Código de Empleado", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_02"), "Código de Contrato", self.obj("barraestado")):
             estado = True
         else:
             estado = False
     self.principal_guardado = False
     self.estadoguardar(estado)
예제 #24
0
    def on_cuota_focus_out_event(self, objeto, evento):
        valor = objeto.get_text()
        if len(valor) == 0:
            self.obj("barraestado").push(0, "")
        else:
            if objeto == self.obj("txt_i_00"):
                if Op.comprobar_numero(float, objeto, "Cantidad de Cuotas",
                                       self.obj("barraestado")):
                    resto = float(self.obj("txt_no_asignado").get_text())
                    monto = str(round(resto / float(valor), 2))
                    self.obj("txt_i_02").set_text(monto)

            elif objeto == self.obj("txt_i_01_2"):
                self.obj("barraestado").push(0, "")

            elif objeto == self.obj("txt_i_02"):
                if Op.comprobar_numero(float, objeto, "Monto de Cuota",
                                       self.obj("barraestado")):
                    resto = float(self.obj("txt_no_asignado").get_text())
                    cantidad = str(round(resto / float(valor), 2))
                    self.obj("txt_i_00").set_text(cantidad)

            elif objeto == self.obj("txt_d_00"):
                Op.comprobar_numero(int, objeto, "Nro. de Cuota",
                                    self.obj("barraestado"))

            elif objeto == self.obj("txt_d_01"):
                self.obj("barraestado").push(0, "")

            elif objeto == self.obj("txt_d_02"):
                print("Comprueba")
                if Op.comprobar_numero(float, objeto, "Monto de Cuota",
                                       self.obj("barraestado")):
                    no_as = float(self.obj("txt_no_asignado").get_text())
                    total = float(self.obj("txt_total").get_text())

                    if self.editando_cuota:
                        disponible = no_as + self.monto
                    else:
                        disponible = no_as

                    if float(valor) > disponible:
                        self.obj("btn_guardar_cuota").set_sensitive(False)
                        objeto.grab_focus()
                        self.obj("barraestado").push(
                            0, "Monto de Cuota " + "NO puede ser mayor a " +
                            str(disponible) + ".")
                    else:
                        self.obj("barraestado").push(0, "")
예제 #25
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
     or len(self.obj("txt_02").get_text()) == 0 or self.idTipoFact == -1:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_01"), "Nro. de Timbrado", self.obj("barraestado")):
             if len(self.obj("txt_03").get_text()) == 0:
                 estado = True
             else:
                 estado = Op.comprobar_numero(int, self.obj("txt_03"),
                     "Cód. de Proveedor", self.obj("barraestado"))
         else:
             estado = False
     self.encabezado_guardado = False
     self.estadoguardar(estado)
예제 #26
0
 def verificacion(self, objeto):
     if len(self.obj("txt_00").get_text()) == 0 or len(self.obj("txt_01").get_text()) == 0 \
     or len(self.obj("txt_01_2").get_text()) == 0 or len(self.obj("txt_02").get_text()) == 0 \
     or len(self.obj("txt_03").get_text()) == 0 or len(self.obj("txt_04").get_text()) == 0 \
     or len(self.obj("txt_05").get_text()) == 0 or len(self.obj("txt_06").get_text()) == 0 \
     or len(self.obj("txt_07").get_text()) == 0 or self.idTipoDoc == -1 \
     or self.idTipoJuzgado == -1 or self.idTurnoJuzgado == -1:
         estado = False
     else:
         if Op.comprobar_numero(int, self.obj("txt_00"), "Código", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_01"), "Cód. de Empleado", self.obj("barraestado")) \
         and Op.comprobar_numero(int, self.obj("txt_02"), "Nro. de Contrato", self.obj("barraestado")):
             estado = True
         else:
             estado = False
     self.estadoguardar(estado)
예제 #27
0
def txt_tabla_focus_out(self, objeto, datos_conexion, boton_guardar):
    codigo = objeto.get_text()

    if len(codigo) > 0 and Op.comprobar_numero(int, objeto, "Código", self.obj("barraestado")):
        conexion = Op.conectar(datos_conexion)
        cursor = Op.consultar(conexion, "Nombre, Tabla",
            "sistematablas", " WHERE idTabla = " + codigo)
        datos = cursor.fetchall()
        cant = cursor.rowcount
        conexion.close()  # Finaliza la conexión

        if cant > 0:
            self.idTabla = int(codigo)
            self.obj("txt_des_tabla").set_text(datos[0][0])

            self.editando_tabla = cambiar_tabla_seleccionada(self)
        else:
            objeto.grab_focus()
            self.obj("txt_des_tabla").set_text("")
            boton_guardar.set_sensitive(False)
            self.obj("barraestado").push(0, "El Código de Tabla no es válido.")
    else:
        self.obj("txt_des_tabla").set_text("")
        boton_guardar.set_sensitive(False)

        self.idTabla = -1
        visibilidad_permisos(self)
예제 #28
0
 def verificacion_actividad(self, objeto):
     if len(self.obj("txt_a_00").get_text()) == 0:
         estado = False
     else:
         estado = Op.comprobar_numero(int, self.obj("txt_a_00"),
             "Cód. de Actividad Económica", self.obj("barraestado"))
     self.obj("btn_guardar_actividad").set_sensitive(estado)
예제 #29
0
    def buscar_foraneos(self,
                        objeto,
                        companero,
                        nombre,
                        tabla,
                        campo,
                        valor,
                        condicion=""):
        if Op.comprobar_numero(int, objeto, "Cód. de " + nombre,
                               self.obj("barraestado")):
            conexion = Op.conectar(self.nav.datos_conexion)
            cursor = Op.consultar(
                conexion, "Nombre", tabla,
                " WHERE " + campo + " = " + valor + condicion)
            datos = cursor.fetchall()
            cant = cursor.rowcount
            conexion.close()  # Finaliza la conexión

            if cant > 0:
                companero.set_text(datos[0][0])
                self.obj("barraestado").push(0, "")

                if self.nav.tabla == "ciudades" and objeto == self.obj("txt_02") \
                and len(self.obj("txt_03_1").get_text()) == 0:
                    # Con paises, si no aparece el nombre del departamento, lo buscará
                    self.focus_out_event(self.obj("txt_03"), 0)
                else:
                    self.focus_out_event(self.obj("txt_00"), 0)

            else:
                self.obj("btn_guardar").set_sensitive(False)
                objeto.grab_focus()
                self.obj("barraestado").push(
                    0, "El Cód. de " + nombre + " no es válido.")
                companero.set_text("")
예제 #30
0
 def on_item_changed(self, objeto):
     if len(self.obj("txt_it_00").get_text()) == 0:
         estado = False
     else:
         estado = Op.comprobar_numero(int, self.obj("txt_it_00"),
             "Código de Ítem", self.obj("barraestado"))
     self.obj("btn_guardar_item").set_sensitive(estado)