Example #1
0
    def __init__(self, datos, tab):
        self.datos_conexion = datos
        self.tabla = tab

        arch = Op.archivo("venta_pedidos")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_default_size(700, 600)
        self.obj("ventana").set_modal(True)

        self.obj("ventana").set_title("Notas de Pedido")
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.obj("txt_01").set_tooltip_text(
            "Ingrese el Número de Documento de Identidad del Cliente")
        self.obj("txt_01_1").set_tooltip_text(
            "Nombre y Apellido o Razón Social del Cliente")
        self.obj("btn_cliente").set_tooltip_text(
            "Presione este botón para buscar datos de un Cliente")

        self.obj("btn_nuevo_item").set_tooltip_text(
            "Presione este botón para agregar un nuevo Item")
        self.obj("btn_modificar_item").set_tooltip_text(
            "Presione este botón para modificar datos de un Item")
        self.obj("btn_eliminar_item").set_tooltip_text(
            "Presione este botón para eliminar un Item")

        self.idTipoCliente, self.idTipoDoc = "1", -1
        Op.combos_config(self.datos_conexion, self.obj("cmb_tipo_doc"),
                         "tipodocumentos", "idTipoDocumento")

        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_01"), self.obj(
            "txt_01_1")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_01_2"), self.obj(
            "cmb_tipo_doc")
        self.txt_dir_per, self.txt_tel_per = self.obj("txt_01_3"), self.obj(
            "txt_01_4")
        self.txt_cod_vnd, self.txt_nom_vnd = self.obj("txt_02"), self.obj(
            "txt_02_1")

        self.txt_cod_it, self.txt_bar_it, self.txt_nom_it = self.obj("txt_it_01"), \
            self.obj("txt_it_01_1"), self.obj("txt_it_01_2")
        self.txt_des_pres, self.txt_des_cat = self.obj(
            "txt_it_01_3"), self.obj("txt_it_01_4")

        arch.connect_signals(self)

        self.obj("txt_00").set_text(
            Op.nuevoid(self.datos_conexion, self.tabla + "_s",
                       "NroPedidoVenta"))
        self.obj("txt_fecha").set_text(Cal.mysql_fecha(date.today()))
        self.obj("cmb_tipo_doc").set_active(0)
        self.obj("txt_01").grab_focus()

        self.estadoitems(False)
        self.estadoguardar(False)
        self.editando = False

        self.conexion = Op.conectar(self.datos_conexion)
        self.config_grilla_detalles()

        self.obj("ventana").show()
Example #2
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("abm_fuertes")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de " + self.nav.titulo)
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.obj("label1").set_text("Código:")
        self.obj("label2").set_text(self.nav.titulodos + ":")

        # Definición de la Longitud máxima de Campos
        if self.nav.tabla == "generos":
            longitud_id = 1
        elif self.nav.tabla in ("tipodocumentos", "unidadmedidas"):
            longitud_id = 5
        else:
            longitud_id = 10

        if self.nav.tabla == "generos":
            longitud_dos = 10
        elif self.nav.tabla in ("estadosciviles", "formapagos", "tipocheques",
                                "tipodenominaciones", "tipofacturas",
                                "tipojuzgados", "tiposalarios", "tipotarjetas",
                                "tipovalores", "turnojuzgados"):
            longitud_dos = 25
        elif self.nav.tabla in ("motivodescuentos", "motivogratificaciones",
                                "motivopermisos", "motivosanciones"):
            longitud_dos = 100
        elif self.nav.tabla == "actividadeseconomicas":
            longitud_dos = 200
        else:
            longitud_dos = 50

        self.obj("txt_00").set_max_length(longitud_id)
        self.obj("txt_01").set_max_length(longitud_dos)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código de " +
                                            self.nav.titulo)
        self.obj("txt_01").set_tooltip_text(
            "Ingrese el Nombre o la Descripción de " + self.nav.titulo)

        if self.nav.tabla in ("generos", "tipodocumentos", "unidadmedidas"):
            self.obj("txt_00").grab_focus()
        else:
            self.obj("txt_01").grab_focus()

        # Definición de la Visibilidad de Campos Opcionales
        if self.nav.tabla in ("impuestos", "monedas", "paises", "tipocalles",
                              "zonaventas"):
            self.obj("label3").set_text(self.nav.titulotres + ":")

            # Tamaño de la tercera Casilla
            tam = 225 if self.nav.tabla in ("paises", "zonaventas") else 125
            self.obj("txt_02").set_property('width_request', tam)

            if self.nav.tabla in ("monedas", "tipocalles"):
                longitud_tres = 5
            elif self.nav.tabla == "impuestos":
                longitud_tres = 10
            elif self.nav.tabla == "zonaventas":
                longitud_tres = 100
            else:
                longitud_tres = 50

            if self.nav.tabla == "zonaventas":
                opcion = self.nav.titulotres
            elif self.nav.tabla in ("impuestos", "monedas"):
                opcion = "el " + self.nav.titulotres
            else:
                opcion = "la " + self.nav.titulotres

            self.obj("txt_02").set_max_length(longitud_tres)
            self.obj("txt_02").set_tooltip_text("Ingrese " + opcion + " de " +
                                                self.nav.titulo)
            self.obj("hbox3").set_visible(True)
        else:
            self.obj("hbox3").set_visible(False)

        # Definición de la Visibilidad de Campos Booleanos (Radio)
        ver = True if self.nav.tabla in ("conceptopagos", "motivoajustes",
                                         "presentaciones") else False

        if self.nav.tabla == "presentaciones":
            self.obj("label4").set_text("Presentación:")
            self.obj("radio1").set_label("Unidad")
            self.obj("radio2").set_label("Fraccionado")
        self.obj("hbox4").set_visible(ver)

        # Definición de la Visibilidad de Campos Booleanos (Check)
        ver = True if self.nav.tabla in ("motivosalidas",
                                         "motivosanciones") else False

        if self.nav.tabla == "motivosanciones":
            self.obj("check").set_label("Cobro")
            self.obj("check").set_tooltip_text(
                "La sanción implica la realización de un cobro\n" +
                "al empleado por el perjuicio provocado")
        else:
            self.obj("check").set_tooltip_text(
                "El motivo de salida es justificado, es decir, no implica\n" +
                "el pago/cobro de una indemnización por despido/renuncia")
        self.obj("hbox5").set_visible(ver)

        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj(
                "grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            descrip = seleccion.get_value(iterador, 1)

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(descrip)

            if self.nav.tabla in ("generos", "tipodocumentos",
                                  "unidadmedidas"):
                self.cond = "'" + self.cond + "'"

            # Acciones con el Tercer Campo
            if self.nav.tabla == "impuestos":
                self.tres = str(seleccion.get_value(iterador, 2))
                self.obj("txt_02").set_text(self.tres)

            elif self.nav.tabla in ("monedas", "paises", "tipocalles",
                                    "zonaventas"):
                self.tres = seleccion.get_value(iterador, 2)
                self.tres = "" if self.tres is None else self.tres
                self.obj("txt_02").set_text(self.tres)

            elif self.nav.tabla in ("motivosalidas", "motivosanciones"):
                self.tres = seleccion.get_value(iterador, 2)
                estado = True if self.tres == 1 else False
                self.obj("check").set_active(estado)

            elif self.nav.tabla in ("conceptopagos", "motivoajustes",
                                    "presentaciones"):
                self.tres = seleccion.get_value(iterador, 3)
                estado = True if self.tres == 1 else False
                self.obj("radio1").set_active(estado)
        else:
            if self.nav.tabla not in ("generos", "tipodocumentos",
                                      "unidadmedidas"):
                self.obj("txt_00").set_text(
                    Op.nuevoid(self.nav.datos_conexion, self.nav.tabla,
                               self.nav.campoid))
            if self.nav.tabla in ("conceptopagos", "motivoajustes",
                                  "presentaciones"):
                self.obj("radio1").set_active(True)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
Example #3
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("rrhh_preavisos")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de Preaviso")
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(10)
        self.obj("txt_01_2").set_max_length(12)
        self.obj("txt_02").set_max_length(10)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código del Preaviso")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("el Empleado afectado por el Preaviso"))
        self.obj("txt_01_1").set_tooltip_text("Nombre y Apellido del Empleado")
        self.obj("txt_01_2").set_tooltip_text(
            "Ingrese el Nro. de Documento del Empleado")
        self.obj("txt_02").set_tooltip_text(
            Mens.usar_boton("el Contrato del Empleado seleccionado"))
        self.obj("txt_02_1").set_tooltip_text(
            "Cargo del Empleado dentro de la Empresa")
        self.obj("txt_03").set_tooltip_text(
            "Fecha de Entrada del Empleado seleccionado")
        self.obj("txt_03_1").set_tooltip_text(
            "Antigüedad del Empleado seleccionado")
        self.obj("txt_03_2").set_tooltip_text(
            "Cantidad de Días de Preaviso requeridos por Ley")
        self.obj("txt_03_3").set_tooltip_text(
            "Cantidad de Días Disponibles para ser Asignados")
        self.obj("txt_04").set_tooltip_text(
            Mens.usar_boton("la Fecha de Presentación del Preaviso"))
        self.obj("txt_05").set_tooltip_text(
            Mens.usar_boton("la Fecha de Salida prevista en el Preaviso"))
        self.obj("txt_02").grab_focus()

        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_01"), self.obj(
            "txt_01_1")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_01_2"), self.obj(
            "cmb_tipo_doc")
        self.txt_cod_cnt, self.txt_crg_cnt = self.obj("txt_02"), self.obj(
            "txt_02_1")

        self.idPersona, self.borrar_contrato, self.idTipoDoc = None, not edit, -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc"),
                         "tipodocumentos", "idTipoDocumento")

        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj(
                "grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            idcont = str(seleccion.get_value(iterador, 1))
            idemp = str(seleccion.get_value(iterador, 2))
            cargo = seleccion.get_value(iterador, 8)
            preaviso = seleccion.get_value(iterador, 11)
            salida = seleccion.get_value(iterador, 12)

            empleador = False if seleccion.get_value(iterador,
                                                     22) == 1 else True
            self.fechapreaviso = seleccion.get_value(iterador, 20)
            self.fechasalida = seleccion.get_value(iterador, 21)

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(idemp)
            self.obj("txt_02").set_text(idcont)
            self.obj("txt_02_1").set_text(cargo)
            self.obj("txt_04").set_text(preaviso)
            self.obj("txt_05").set_text(salida)
            self.obj("empleador").set_active(empleador)

            self.focus_out_event(self.obj("txt_01"), 0)
        else:
            self.obj("txt_00").set_text(
                Op.nuevoid(self.nav.datos_conexion, self.nav.tabla + "_s",
                           self.nav.campoid))
            self.obj("cmb_tipo_doc").set_active(0)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
Example #4
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("abm_items")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de " + self.nav.titulo)
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(40)
        self.obj("txt_02").set_max_length(20)
        self.obj("txt_03").set_max_length(100)
        self.obj("txt_04").set_max_length(100)
        self.obj("txt_05").set_max_length(10)
        self.obj("txt_06").set_max_length(10)
        self.obj("txt_07").set_max_length(10)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código del Ítem")
        self.obj("txt_01").set_tooltip_text(
            "Ingrese el Código de Barras del Ítem")
        self.obj("txt_02").set_tooltip_text("Ingrese el Nombre del Ítem")
        self.obj("txt_03").set_tooltip_text("Ingrese una Descripción del Ítem")
        self.obj("txt_04").set_tooltip_text(
            "Ingrese una Observación acerca del Ítem")
        self.obj("txt_02").grab_focus()

        self.obj("txt_05").set_tooltip_text(
            Mens.usar_boton("la Categoría a la que pertenece"))
        self.obj("txt_05_1").set_tooltip_text("Descripción de la Categoría")
        self.obj("txt_05_2").set_tooltip_text(
            "Porcentaje grabado a la Categoría")
        self.obj("txt_06").set_tooltip_text(
            Mens.usar_boton("la Marca del Ítem"))
        self.obj("txt_06_1").set_tooltip_text("Descripción de la Marca")
        self.obj("txt_07").set_tooltip_text(
            Mens.usar_boton("la Presentación del Ítem"))
        self.obj("txt_07_1").set_tooltip_text("Descripción de la Presentación")
        self.obj("txt_08").set_tooltip_text("Ingrese el Contenido Neto")
        self.obj("txt_09").set_tooltip_text(
            "Ingrese la cantidad mínima de unidades que debe haber en el Stock"
        )
        self.obj("txt_10").set_tooltip_text(
            "Ingrese el Porcentaje de Comisión aplicado sobre el precio de venta del Ítem"
        )

        self.txt_cod_cat, self.txt_des_cat, self.txt_por_imp = self.obj(
            "txt_05"), self.obj("txt_05_1"), self.obj("txt_05_2")
        self.txt_cod_mar_it, self.txt_des_mar_it = self.obj(
            "txt_06"), self.obj("txt_06_1")
        self.txt_cod_pres, self.txt_des_pres = self.obj("txt_07"), self.obj(
            "txt_07_1")

        self.idUnidadMedida = self.idTipoCliente = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_unidad"),
                         "unidadmedidas", "idUnidadMedida")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_cliente"),
                         "tipoclientes", "idTipoCliente")
        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj(
                "grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            codbar = seleccion.get_value(iterador, 1)
            nombre = seleccion.get_value(iterador, 2)
            descrip = seleccion.get_value(iterador, 3)
            obs = seleccion.get_value(iterador, 16)
            act = True if seleccion.get_value(iterador, 17) == 1 else False

            codcat = str(seleccion.get_value(iterador, 4))
            descat = seleccion.get_value(iterador, 5)
            porc = str(seleccion.get_value(iterador, 7))
            codmar = str(seleccion.get_value(iterador, 8))
            desmar = seleccion.get_value(iterador, 9)
            codpres = str(seleccion.get_value(iterador, 10))
            despres = seleccion.get_value(iterador, 11)
            cont = seleccion.get_value(iterador, 12)
            unmed = seleccion.get_value(iterador, 13)
            stock = seleccion.get_value(iterador, 15)

            codbar = "" if codbar is None else codbar
            descrip = "" if descrip is None else descrip
            obs = "" if obs is None else obs

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(codbar)
            self.obj("txt_02").set_text(nombre)
            self.obj("txt_03").set_text(descrip)
            self.obj("txt_04").set_text(obs)
            self.obj("rad_activo").set_active(act)

            self.obj("txt_05").set_text(codcat)
            self.obj("txt_05_1").set_text(descat)
            self.obj("txt_05_2").set_text(porc)
            self.obj("txt_06").set_text(codmar)
            self.obj("txt_06_1").set_text(desmar)
            self.obj("txt_07").set_text(codpres)
            self.obj("txt_07_1").set_text(despres)

            self.obj("txt_08").set_value(cont)
            self.obj("txt_09").set_value(stock)

            # Asignación de Unidad de Medida en Combo
            model, i = self.obj("cmb_unidad").get_model(), 0
            while model[i][0] != unmed:
                i += 1
            self.obj("cmb_unidad").set_active(i)

            # Búsqueda de Precio de Costo y Porc. de Comisión
            conexion = Op.conectar(self.nav.datos_conexion)
            cursor = Op.consultar(
                conexion, "PrecioCosto, PorcComision", "items_s",
                " WHERE " + self.nav.campoid + " = " + self.cond)
            datos = cursor.fetchall()

            self.PrecioCosto = datos[0][0]
            self.obj("txt_10").set_value(datos[0][1])
            self.obj("txt_p_00").set_text(str(self.PrecioCosto))
            self.buscar_precio_sin_iva(self.obj("txt_p_00"),
                                       self.obj("txt_p_01"))

        else:
            self.obj("txt_00").set_text(
                Op.nuevoid(self.nav.datos_conexion, self.nav.tabla + "_s",
                           self.nav.campoid))

            self.PrecioCosto = 0
            self.obj("txt_p_00").set_text("0.0")
            self.obj("txt_p_01").set_text("0.0")

            self.obj("cmb_unidad").set_active(0)
            self.obj("rad_activo").set_active(True)

        self.conexion = Op.conectar(self.nav.datos_conexion)
        self.principal_guardado = True

        self.config_grilla_precio()
        self.cargar_grilla_precio()

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
Example #5
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("abm_timbrados")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de Timbrados")
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(10)
        self.obj("txt_02").set_max_length(10)

        self.obj("txt_00").set_tooltip_text("Ingrese el Nro. de Timbrado")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("el Establecimiento que afectará"))
        self.obj("txt_01_1").set_tooltip_text("Nombre del Establecimiento")
        self.obj("txt_01_2").set_tooltip_text(
            "Dirección o Localización del Establecimiento")
        self.obj("txt_01_3").set_tooltip_text("Teléfono del Establecimiento")
        self.obj("txt_02").set_tooltip_text(
            Mens.usar_boton("el Punto de Expedición que afectará"))
        self.obj("txt_02_1").set_tooltip_text("Nombre del Punto de Expedición")
        self.obj("txt_03").set_tooltip_text(
            Mens.usar_boton("la Fecha de Emisión del Timbrado"))
        self.obj("txt_04").set_tooltip_text(
            Mens.usar_boton("la Fecha de Vencimiento del Timbrado"))
        self.obj("txt_05").set_tooltip_text(
            "Ingrese el Primer Número de Documento abarcado")
        self.obj("txt_06").set_tooltip_text(
            "Ingrese el Último Número de Documento abarcado")
        self.obj("txt_00").grab_focus()

        mostrar_ventana = True
        self.txt_nro_est, self.txt_nom_est = self.obj("txt_01"), self.obj(
            "txt_01_1")
        self.txt_dir_est, self.txt_tel_est = self.obj("txt_01_2"), self.obj(
            "txt_01_3")
        self.txt_nro_cja, self.txt_nom_cja = self.obj("txt_02"), self.obj(
            "txt_02_1")

        self.idTipoDoc = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc"),
                         "tipodocumentocomerciales",
                         "idTipoDocumentoComercial")
        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj(
                "grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            codcaja = str(seleccion.get_value(iterador, 7))
            caja = seleccion.get_value(iterador, 8)
            codestab = str(seleccion.get_value(iterador, 9))
            estab = seleccion.get_value(iterador, 10)
            ciudad = seleccion.get_value(iterador, 13)
            direccion = seleccion.get_value(iterador, 15)
            telefono = seleccion.get_value(iterador, 16)
            tipodoc = seleccion.get_value(iterador, 5)

            emision = seleccion.get_value(iterador, 1)
            vencimiento = seleccion.get_value(iterador, 2)
            inicio = seleccion.get_value(iterador, 3)
            ultimo = seleccion.get_value(iterador, 4)
            estado = seleccion.get_value(iterador, 20)

            direccion = "" if direccion is None else ", " + direccion
            telefono = "" if telefono is None else telefono

            if estado == "Vigente":
                self.fecha_emi = seleccion.get_value(iterador, 18)
                self.fecha_ven = seleccion.get_value(iterador, 19)

                # Asignación de Tipo de Documento en Combo
                model, i = self.obj("cmb_tipo_doc").get_model(), 0
                while model[i][0] != tipodoc:
                    i += 1
                self.obj("cmb_tipo_doc").set_active(i)

                self.obj("txt_00").set_text(self.cond)
                self.obj("txt_01").set_text(codestab)
                self.obj("txt_01_1").set_text(estab)
                self.obj("txt_01_2").set_text(ciudad + direccion)
                self.obj("txt_01_3").set_text(telefono)
                self.obj("txt_02").set_text(codcaja)
                self.obj("txt_02_1").set_text(caja)
                self.obj("txt_03").set_text(emision)
                self.obj("txt_04").set_text(vencimiento)
                self.obj("txt_05").set_value(inicio)
                self.obj("txt_06").set_value(ultimo)
            else:
                Mens.no_puede_modificar_eliminar_anular(
                    1, "Seleccionó:\n" + "\nNro. Timbrado: " + self.cond +
                    "\nCaja: " + codcaja + ", " + caja +
                    "\nEstablecimiento: " + codestab + ", " + estab +
                    "\nDirección: " + ciudad + direccion +
                    "\n\nEste Nro. de Timbrado se encuentra actualmente " +
                    estado + ".")
                self.obj("ventana").destroy()
                mostrar_ventana = False
        else:
            self.obj("txt_00").set_text("")
            self.obj("cmb_tipo_doc").set_active(0)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")

        if mostrar_ventana:
            self.obj("ventana").show()
Example #6
0
    def __init__(self, edit, origen):
        self.editando = self.editando_inventario = edit
        self.origen = origen

        arch = Op.archivo("compra_items")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de Ítems en la " +
                                      self.origen.nav.titulo)
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))
        self.obj("btn_lotes").set_tooltip_text(
            "Presione este botón para registrar los Lotes del Ítem seleccionado"
        )

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(10)
        self.obj("txt_02").set_max_length(10)
        self.obj("txt_02_1").set_max_length(40)
        self.obj("txt_03").set_max_length(14)
        self.obj("txt_04").set_max_length(14)
        self.obj("txt_05_1").set_max_length(14)
        self.obj("txt_07").set_max_length(100)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código del Detalle")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("el Depósito en que es almacenado el ítem"))
        self.obj("txt_01_1").set_tooltip_text("Descripción del Depósito")
        self.obj("txt_02").set_tooltip_text(Mens.usar_boton("Código de Ítem"))
        self.obj("txt_02_1").set_tooltip_text(
            "Ingrese el Código de Barras del Ítem")
        self.obj("txt_02_2").set_tooltip_text("Descripción del Ítem")
        self.obj("txt_02_3").set_tooltip_text("Cód. de Presentación del Ítem")
        self.obj("txt_02_4").set_tooltip_text("Presentación del Ítem")
        self.obj("txt_02_5").set_tooltip_text("Cód. de Categoría del Ítem")
        self.obj("txt_02_6").set_tooltip_text("Categoría del Ítem")
        self.obj("txt_02_7").set_tooltip_text(
            "Porcentaje de IVA gravado al Ítem")
        self.obj("txt_03").set_tooltip_text(
            "Ingrese la Cantidad de Ítems adquiridos")
        self.obj("txt_04").set_tooltip_text(
            "Ingrese el Precio Unitario del Ítem")
        self.obj("txt_05").set_tooltip_text(
            "Ingrese el Porcentaje de Descuento")
        self.obj("txt_05_1").set_tooltip_text("Monto Total Descontado")
        self.obj("txt_06").set_tooltip_text("Monto Total con Descuento")
        self.obj("txt_07").set_tooltip_text(
            "Ingrese una Observación sobre esta operación")
        self.obj("txt_02").grab_focus()

        self.txt_cod_dep, self.txt_des_dep = self.obj("txt_01"), self.obj(
            "txt_01_1")
        self.txt_cod_it, self.txt_bar_it, self.txt_nom_it = self.obj("txt_02"), \
            self.obj("txt_02_1"), self.obj("txt_02_2")
        self.txt_cod_pres, self.txt_des_pres = self.obj("txt_02_3"), self.obj(
            "txt_02_4")
        self.txt_cod_cat, self.txt_des_cat, self.txt_por_imp = self.obj("txt_02_5"), \
            self.obj("txt_02_6"), self.obj("txt_02_7")
        #self.cost_it, self.precio_costo_nota = self.obj("txt_02_8"), self.obj("txt_02_9")
        arch.connect_signals(self)

        self.avisado = False  # Se avisó que no ha sido posible guardar la modificación

        estado = False if self.origen.nav.tabla != "facturacompras" else True
        self.obj("txt_04").set_property('can_focus', estado)  # Precio Unitario
        self.obj("txt_04").set_property('editable', estado)

        # Códigos de Timbrado y Nro. de Documento
        nro = self.origen.obj("txt_00").get_text()
        timb = self.origen.obj("txt_01").get_text()

        if self.editando:
            seleccion, iterador = self.origen.obj(
                "grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            self.cond_item = str(seleccion.get_value(iterador, 9))
            cant = str(seleccion.get_value(iterador, 2))
            precio = str(seleccion.get_value(iterador, 3))
            porc = seleccion.get_value(iterador, 4)

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_02").set_text(self.cond_item)
            self.obj("txt_03").set_text(cant)
            self.obj("txt_04").set_text(precio)
            self.obj("txt_05").set_value(porc)

            self.focus_out_event(self.obj("txt_02"), 0)
            self.calcular_montos()

            # Buscar Depósito y Observaciones
            conexion = Op.conectar(self.origen.nav.datos_conexion)
            cursor = Op.consultar(
                conexion, "idDeposito, Deposito, Observaciones",
                self.origen.nav.tabla + "_inventario_s",
                " WHERE NroTimbrado = " + timb + " AND " +
                self.origen.nav.campoid + " = '" + nro + "'" +
                " AND idDetalle = " + self.cond)
            datos = cursor.fetchall()
            cant = cursor.rowcount
            conexion.close()  # Finaliza la conexión

            if cant > 0:
                iddep = "" if datos[0][0] is None else str(datos[0][0])
                dep = "" if datos[0][1] is None else datos[0][1]
                obs = "" if datos[0][2] is None else datos[0][2]

                self.obj("txt_01").set_text(iddep)
                self.obj("txt_01_1").set_text(dep)
                self.obj("txt_07").set_text(obs)
        else:
            self.obj("txt_00").set_text(
                Op.nuevoid(
                    self.origen.conexion, self.origen.nav.tabla +
                    "_detalles_s WHERE NroTimbrado = " + timb + " AND " +
                    self.origen.nav.campoid + " = '" + nro + "'", "idDetalle"))
            self.estadoguardar(False)

        self.origen.obj("grilla").get_selection().unselect_all()
        self.origen.obj("barraestado").push(0, "")
        self.obj("ventana").show()
Example #7
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("abm_depositos")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de " + self.nav.titulo)
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(50)
        self.obj("txt_02").set_max_length(10)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código del Depósito")
        self.obj("txt_01").set_tooltip_text(
            "Ingrese la Descripción del Depósito")
        self.obj("txt_02").set_tooltip_text(
            Mens.usar_boton(
                "el Establecimiento en que se encuentra el Depósito"))
        self.obj("txt_02_1").set_tooltip_text("Nombre del Establecimiento")
        self.obj("txt_02_2").set_tooltip_text("Dirección del Establecimiento")
        self.obj("txt_02_3").set_tooltip_text("Teléfono del Establecimiento")
        self.obj("txt_01").grab_focus()

        self.txt_nro_est, self.txt_nom_est = self.obj("txt_02"), self.obj(
            "txt_02_1")
        self.txt_dir_est, self.txt_tel_est = self.obj("txt_02_2"), self.obj(
            "txt_02_3")
        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj(
                "grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            nombre = seleccion.get_value(iterador, 1)
            codestab = str(seleccion.get_value(iterador, 2))
            estab = seleccion.get_value(iterador, 3)
            direccion = seleccion.get_value(iterador, 4)
            telefono = seleccion.get_value(iterador, 5)

            telefono = "" if telefono is None else telefono
            act = True if seleccion.get_value(iterador, 6) == 1 else False

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(nombre)
            self.obj("txt_02").set_text(codestab)
            self.obj("txt_02_1").set_text(estab)
            self.obj("txt_02_2").set_text(direccion)
            self.obj("txt_02_3").set_text(telefono)
            self.obj("rad_activo").set_active(act)
        else:
            self.obj("txt_00").set_text(
                Op.nuevoid(self.nav.datos_conexion, self.nav.tabla,
                           self.nav.campoid))

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("abm_puntoexpediciones")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de " + self.nav.titulo)
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(50)
        self.obj("txt_02").set_max_length(10)

        self.obj("txt_00").set_tooltip_text(
            "Ingrese el Código del Punto de Expedición")
        self.obj("txt_01").set_tooltip_text(
            "Ingrese el Nombre del Punto de Expedición")
        self.obj("txt_02").set_tooltip_text(
            Mens.usar_boton("el Establecimiento en que está localizado"))
        self.obj("txt_02_1").set_tooltip_text("Nombre del Establecimiento")
        self.obj("txt_02_2").set_tooltip_text(
            "Dirección o Localización del Establecimiento")
        self.obj("txt_02_3").set_tooltip_text("Teléfono del Establecimiento")
        self.obj("txt_01").grab_focus()

        self.txt_nro_est, self.txt_nom_est = self.obj("txt_02"), self.obj(
            "txt_02_1")
        self.txt_dir_est, self.txt_tel_est = self.obj("txt_02_2"), self.obj(
            "txt_02_3")

        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj(
                "grilla").get_selection().get_selected()
            self.cond_cja = str(seleccion.get_value(iterador, 0))
            nombre = seleccion.get_value(iterador, 1)
            self.cond_est = str(seleccion.get_value(iterador, 2))
            estab = seleccion.get_value(iterador, 3)
            ciudad = seleccion.get_value(iterador, 6)
            direccion = seleccion.get_value(iterador, 8)
            telefono = seleccion.get_value(iterador, 9)
            activo = True if seleccion.get_value(iterador, 10) == 1 else False

            direccion = "" if direccion is None else ", " + direccion
            telefono = "" if telefono is None else telefono

            self.obj("txt_00").set_text(self.cond_cja)
            self.obj("txt_01").set_text(nombre)
            self.obj("txt_02").set_text(self.cond_est)
            self.obj("txt_02_1").set_text(estab)
            self.obj("txt_02_2").set_text(ciudad + direccion)
            self.obj("txt_02_3").set_text(telefono)

            self.obj("rad_act").set_active(activo)
        else:
            self.obj("txt_00").set_text(
                Op.nuevoid(self.nav.datos_conexion, self.nav.tabla + "_s",
                           self.nav.campoid))
            self.obj("rad_act").set_active(True)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
Example #9
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("rrhh_vacaciones")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_default_size(800, 600)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de Vacaciones")
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(10)
        self.obj("txt_01_2").set_max_length(12)
        self.obj("txt_02").set_max_length(10)
        self.obj("txt_f_04").set_max_length(10)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código de la Vacación")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("el Empleado cuyas Vacaciones son registradas"))
        self.obj("txt_01_1").set_tooltip_text("Nombre y Apellido del Empleado")
        self.obj("txt_01_2").set_tooltip_text(
            "Ingrese el Nro. de Documento del Empleado")
        self.obj("txt_02").set_tooltip_text(
            Mens.usar_boton("el Contrato del Empleado seleccionado"))
        self.obj("txt_02_1").set_tooltip_text(
            "Cargo del Empleado dentro de la Empresa")
        self.obj("txt_03").set_tooltip_text(
            "Fecha de Entrada del Empleado seleccionado")
        self.obj("txt_03_1").set_tooltip_text(
            "Antigüedad del Empleado seleccionado")
        self.obj("txt_03_2").set_tooltip_text(
            "Cantidad de Días de Vacaciones a que tiene derecho por Antigüedad"
        )
        self.obj("txt_03_3").set_tooltip_text(
            "Cantidad de Días Disponibles para ser Asignados")
        self.obj("txt_02").grab_focus()

        self.obj("txt_f_01").set_tooltip_text(
            Mens.usar_boton(
                "la Fecha de Inicio de las Vacaciones del Empleado"))
        self.obj("txt_f_02").set_tooltip_text(
            Mens.usar_boton(
                "la Fecha de Finalización de las Vacaciones del Empleado"))
        self.obj("txt_f_03").set_tooltip_text(
            "Tiempo de Duración, en Días, de las Vacaciones del Empleado")
        self.obj("txt_f_04").set_tooltip_text(
            Mens.usar_boton(
                "el Comprobante de Pago asociado a este Periodo de Vacaciones")
        )

        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_01"), self.obj(
            "txt_01_1")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_01_2"), self.obj(
            "cmb_tipo_doc")
        self.txt_cod_cnt, self.txt_crg_cnt = self.obj("txt_02"), self.obj(
            "txt_02_1")
        self.txt_cod_cmp = self.obj("txt_f_04")

        self.idPersona, self.borrar_contrato, self.idTipoDoc = None, not edit, -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc"),
                         "tipodocumentos", "idTipoDocumento")

        self.config_grilla_vacaciones()
        self.conexion = Op.conectar(self.nav.datos_conexion)

        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj(
                "grilla").get_selection().get_selected()
            self.cond_vac = str(seleccion.get_value(iterador, 0))
            self.cond_cont = str(seleccion.get_value(iterador, 1))
            idemp = str(seleccion.get_value(iterador, 2))
            cargo = seleccion.get_value(iterador, 8)

            self.obj("txt_00").set_text(self.cond_vac)
            self.obj("txt_01").set_text(idemp)
            self.obj("txt_02").set_text(self.cond_cont)
            self.obj("txt_02_1").set_text(cargo)

            self.focus_out_event(self.obj("txt_01"), 0)
            self.cargar_grilla_vacaciones()
            self.estadoguardar(True)
        else:
            self.obj("cmb_tipo_doc").set_active(0)
            self.estadoguardar(False)

        self.principal_guardado = True
        self.estadoedicion(False)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
Example #10
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("compra_pedidos")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_default_size(750, 500)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de " + self.nav.titulo)
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.estadoedicion(True)
        self.estadoguardar(False)
        self.estadoitem(False)
        self.config_grilla_items()

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(10)
        self.obj("txt_01_1").set_max_length(40)
        self.obj("txt_02").set_max_length(14)
        self.obj("txt_03").set_max_length(100)

        self.obj("txt_00").set_tooltip_text("Ingrese el Número de " +
                                            self.nav.titulo)
        self.obj("txt_01").set_tooltip_text("Ingrese el Código del Ítem")
        self.obj("txt_01_1").set_tooltip_text(
            "Ingrese el Código de Barras del Ítem")
        self.obj("txt_01_2").set_tooltip_text("Descripción del Ítem")
        self.obj("txt_01_3").set_tooltip_text("Presentación del Ítem")
        self.obj("txt_01_4").set_tooltip_text("Categoría del Ítem")
        self.obj("txt_02").set_tooltip_text("Ingrese la Cantidad de Ítems")
        self.obj("txt_03").set_tooltip_text(
            "Ingrese una Observación sobre el Ítems")
        self.obj("txt_00").grab_focus()

        self.txt_cod_it, self.txt_bar_it, self.txt_nom_it = self.obj("txt_01"), \
            self.obj("txt_01_1"), self.obj("txt_01_2")
        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj(
                "grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            fecha = seleccion.get_value(iterador, 1)[0:-9]  # Quita la Hora

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_fecha").set_text(fecha)
            self.encabezado_guardado = True
        else:
            self.obj("txt_00").set_text(
                Op.nuevoid(self.nav.datos_conexion, self.nav.tabla + "_s",
                           self.nav.campoid))
            self.obj("txt_fecha").set_text(Cal.mysql_fecha(date.today()))
            self.encabezado_guardado = False

        self.conexion = Op.conectar(self.nav.datos_conexion)
        self.cargar_grilla_items()

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
Example #11
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("rrhh_descuentos")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_default_size(800, 600)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de Descuentos")
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"), self.obj("btn_cancelar"))

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(10)
        self.obj("txt_01_2").set_max_length(12)
        self.obj("txt_02").set_max_length(10)
        self.obj("txt_03").set_max_length(10)

        self.obj("txt_i_04").set_max_length(12)
        self.obj("txt_i_05").set_max_length(12)
        self.obj("txt_d_01").set_max_length(10)
        self.obj("txt_d_03").set_max_length(12)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código del Descuento")
        self.obj("txt_01").set_tooltip_text(Mens.usar_boton("el Empleado afectado por el Descuento"))
        self.obj("txt_01_1").set_tooltip_text("Nombre y Apellido del Empleado")
        self.obj("txt_01_2").set_tooltip_text("Ingrese el Nro. de Documento del Empleado")
        self.obj("txt_02").set_tooltip_text(Mens.usar_boton("el Contrato del Empleado seleccionado"))
        self.obj("txt_02_1").set_tooltip_text("Cargo del Empleado dentro de la Empresa")
        self.obj("txt_02_2").set_tooltip_text("Salario Mensual del Empleado")
        self.obj("txt_03").set_tooltip_text(Mens.usar_boton("la Sanción que provoca el Descuento"))
        self.obj("txt_03_1").set_tooltip_text("Duración de la Sanción que provoca el Descuento")
        self.obj("txt_04").set_tooltip_text("Ingrese cualquier información adicional con respecto al Descuento")
        self.obj("txt_02").grab_focus()

        self.obj("txt_i_02").set_tooltip_text(Mens.usar_boton("la Fecha de Inicio del cobro de los Descuentos"))
        self.obj("txt_i_04").set_tooltip_text("Ingrese el Monto Descontar por Periodo")
        self.obj("txt_i_05").set_tooltip_text("Ingrese el Monto Total a Descontar")

        self.obj("txt_d_01").set_tooltip_text("Ingrese el Código del cobro")
        self.obj("txt_d_02").set_tooltip_text(Mens.usar_boton("la Fecha del cobro del Descuento"))
        self.obj("txt_d_03").set_tooltip_text("Ingrese el Monto a Descontar")

        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_01"), self.obj("txt_01_1")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_01_2"), self.obj("cmb_tipo_doc")
        self.txt_cod_cnt, self.txt_crg_cnt, self.txt_sal_cnt = self.obj("txt_02"), \
            self.obj("txt_02_1"), self.obj("txt_02_2")
        self.txt_cod_snc, self.txt_per_snc = self.obj("txt_03"), self.obj("txt_03_1")

        self.idPersona, self.borrar_contrato = None, not edit
        self.idTipoDoc = self.idMotivoDescuento = self.idPeriodoPago = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc"), "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_motivo"), "motivodescuentos", "idMotivoDescuento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_periodo"), "periodopagos", "idPeriodoPago")

        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj("grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            idcont = str(seleccion.get_value(iterador, 1))
            idemp = str(seleccion.get_value(iterador, 2))
            cargo = seleccion.get_value(iterador, 8)
            salario = str(seleccion.get_value(iterador, 9))
            motivo = seleccion.get_value(iterador, 10)
            idsancion = seleccion.get_value(iterador, 12)
            obs = seleccion.get_value(iterador, 17)

            idsancion = "" if idsancion is None else idsancion
            obs = "" if obs is None else obs

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(idemp)
            self.obj("txt_02").set_text(idcont)
            self.obj("txt_02_1").set_text(cargo)
            self.obj("txt_02_2").set_text(salario)
            self.obj("txt_03").set_text(idsancion)
            self.obj("txt_04").set_text(obs)

            # Asignación de Motivo en Combo
            model, i = self.obj("cmb_motivo").get_model(), 0
            while model[i][0] != motivo: i += 1
            self.obj("cmb_motivo").set_active(i)

            self.focus_out_event(self.obj("txt_01"), 0)
            self.focus_out_event(self.obj("txt_03"), 0)
        else:
            self.obj("txt_00").set_text(Op.nuevoid(self.nav.datos_conexion,
                self.nav.tabla + "_s", self.nav.campoid))
            self.obj("cmb_tipo_doc").set_active(0)
            self.obj("cmb_motivo").set_active(0)
            self.editando_sancion = False

        self.conexion = Op.conectar(self.nav.datos_conexion)
        self.principal_guardado = True
        self.sancion_modificado = False

        self.config_grilla_descuentos()
        self.cargar_grilla_descuentos()

        self.estadoedicion(False)
        self.estadoguardar(self.editando)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
Example #12
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("rrhh_sanciones")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_modal(True)

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de " + self.nav.titulo)
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"), self.obj("btn_cancelar"))

        self.obj("txt_00").set_max_length(10)
        self.obj("txt_01").set_max_length(10)
        self.obj("txt_01_2").set_max_length(12)
        self.obj("txt_02").set_max_length(10)
        self.obj("txt_03").set_max_length(20)
        self.obj("txt_08").set_max_length(100)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código de la Sanción")
        self.obj("txt_01").set_tooltip_text(Mens.usar_boton("el Empleado cuya Sanción es registrada"))
        self.obj("txt_01_1").set_tooltip_text("Nombre y Apellido del Empleado")
        self.obj("txt_01_2").set_tooltip_text("Ingrese el Nro. de Documento del Empleado")
        self.obj("txt_02").set_tooltip_text(Mens.usar_boton("el Contrato del Empleado seleccionado"))
        self.obj("txt_02_1").set_tooltip_text("Cargo del Empleado dentro de la Empresa")
        self.obj("txt_03").set_tooltip_text("Ingrese el Número de Expediente del MJT por el cual se ha determinado la Sanción")
        self.obj("txt_04").set_tooltip_text(Mens.usar_boton("la Fecha del Expediente del MJT"))
        self.obj("txt_05").set_tooltip_text(Mens.usar_boton("la Fecha de Inicio de la Sanción aplicada al Empleado"))
        self.obj("txt_06").set_tooltip_text(Mens.usar_boton("la Fecha de Finalización de la Sanción aplicada al Empleado"))
        self.obj("txt_07").set_tooltip_text("Tiempo de Duración, en Días, de la Sanción aplicada al Empleado")
        self.obj("txt_08").set_tooltip_text("Ingrese cualquier información adicional con respecto a la Sanción aplicada al Empleado")
        self.obj("txt_02").grab_focus()

        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_01"), self.obj("txt_01_1")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_01_2"), self.obj("cmb_tipo_doc")
        self.txt_cod_cnt, self.txt_crg_cnt = self.obj("txt_02"), self.obj("txt_02_1")

        self.idPersona, self.borrar_contrato = None, not edit
        self.idTipoDoc = self.idMotivoPermiso = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc"), "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_motivo"), "motivosanciones", "idMotivoSancion")

        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj("grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            idcont = str(seleccion.get_value(iterador, 1))
            idemp = str(seleccion.get_value(iterador, 2))
            tipodoc = seleccion.get_value(iterador, 3)
            nrodoc = seleccion.get_value(iterador, 4)
            nombre = seleccion.get_value(iterador, 5)
            cargo = seleccion.get_value(iterador, 8)
            motivo = seleccion.get_value(iterador, 9)
            fini = seleccion.get_value(iterador, 11)
            ffin = seleccion.get_value(iterador, 12)
            dias = str(seleccion.get_value(iterador, 13))
            exp = seleccion.get_value(iterador, 14)
            fexp = seleccion.get_value(iterador, 15)

            obs = seleccion.get_value(iterador, 16)
            obs = "" if obs is None else obs

            self.fechaini = seleccion.get_value(iterador, 21)
            self.fechafin = seleccion.get_value(iterador, 22)
            self.fechaexp = seleccion.get_value(iterador, 23)

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(idemp)
            self.obj("txt_01_1").set_text(nombre)
            self.obj("txt_01_2").set_text(nrodoc)
            self.obj("txt_02").set_text(idcont)
            self.obj("txt_02_1").set_text(cargo)
            self.obj("txt_03").set_text(exp)
            self.obj("txt_04").set_text(fexp)
            self.obj("txt_05").set_text(fini)
            self.obj("txt_06").set_text(ffin)
            self.obj("txt_07").set_text(dias)
            self.obj("txt_08").set_text(obs)

            # Asignación de Tipo de Documento en Combo
            model, i = self.obj("cmb_tipo_doc").get_model(), 0
            while model[i][0] != tipodoc: i += 1
            self.obj("cmb_tipo_doc").set_active(i)

            # Asignación de Motivo en Combo
            model, i = self.obj("cmb_motivo").get_model(), 0
            while model[i][0] != motivo: i += 1
            self.obj("cmb_motivo").set_active(i)
        else:
            self.obj("txt_00").set_text(Op.nuevoid(self.nav.datos_conexion,
                self.nav.tabla + "_s", self.nav.campoid))
            self.obj("cmb_tipo_doc").set_active(0)
            self.obj("cmb_motivo").set_active(0)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()