コード例 #1
0
    def __init__(self, datos):
        self.datos_conexion = datos

        arch = archivo("informe_compra_nota_creditos")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_title(
            "Informes de Notas de Crédito por Compras")
        self.obj("ventana").set_modal(True)

        self.idTipoDoc = self.idTotal = -1
        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_prov_01"), self.obj(
            "txt_prov_02")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_prov_03"), self.obj(
            "cmb_prov_doc")

        self.obj("label7").set_visible(False)
        self.obj("txt_total_fin").set_visible(False)

        self.config_combo_total()
        combos_config(self.datos_conexion, self.obj("cmb_prov_doc"),
                      "tipodocumentos", "idTipoDocumento")
        arch.connect_signals(self)

        self.on_chk_toggled(0)
        self.obj("ventana").show()
コード例 #2
0
    def __init__(self, datos):
        self.datos_conexion = datos

        arch = archivo("informe_venta_nota_debitos")
        self.obj = arch.get_object

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_title("Informes de Notas de Débito por Ventas")
        self.obj("ventana").set_modal(True)

        self.txt_nro_timb = self.obj("txt_timb")
        self.txt_nro_est, self.txt_nro_cja = self.obj("txt_estab"), self.obj(
            "txt_caja")

        self.idTipoDoc = self.idTotal = -1
        self.txt_cod_per, self.txt_rzn_scl = self.obj(
            "txt_cliente_01"), self.obj("txt_cliente_02")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj(
            "txt_cliente_03"), self.obj("cmb_cliente_doc")
        self.txt_cod_vnd, self.txt_nom_vnd = self.obj(
            "txt_vendedor_01"), self.obj("txt_vendedor_02")

        self.obj("label14").set_visible(False)
        self.obj("txt_total_fin").set_visible(False)

        self.config_combo_total()
        combos_config(self.datos_conexion, self.obj("cmb_cliente_doc"),
                      "tipodocumentos", "idTipoDocumento")
        arch.connect_signals(self)

        self.on_chk_toggled(0)
        self.obj("ventana").show()
コード例 #3
0
    def __init__(self, edit, origen):
        self.nav = origen

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

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

        self.obj("ventana").set_title("Creando Registro de Aguinaldo")
        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_05").set_max_length(100)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código del Aguinaldo")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("el Empleado cuyo Aguinaldo es registrado"))
        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(
                "el Monto en base al cual será calculado el Aguinaldo"))
        self.obj("txt_04").set_tooltip_text("Monto a pagar como Aguinaldo")
        self.obj("txt_05").set_tooltip_text(
            "Ingrese cualquier información adicional con respecto al Aguinaldo del 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.txt_sal_cnt = self.obj("txt_02"), \
            self.obj("txt_02_1"), self.obj("txt_02_2")

        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)

        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()
コード例 #4
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("abm_denominaciones")
        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 Denominaciones")
        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 de la Denominación")
        self.obj("txt_01").set_tooltip_text("Ingrese la Descripción de la Denominación")
        self.obj("txt_02").set_tooltip_text("Ingrese el Valor numérico de la Denominación")
        self.obj("txt_01").grab_focus()

        self.idMoneda = self.idTipoDen = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_moneda"), "monedas_s", "idMoneda")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_den"),
            "tipodenominaciones", "idTipoDenominacion")
        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))
            des = seleccion.get_value(iterador, 1)
            moneda = seleccion.get_value(iterador, 2)
            tipo = seleccion.get_value(iterador, 4)
            val = str(seleccion.get_value(iterador, 6))

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

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

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(des)
            self.obj("txt_02").set_text(val)
        else:
            self.obj("txt_00").set_text(Op.nuevoid(self.nav.datos_conexion,
                self.nav.tabla + "_s", self.nav.campoid))
            self.obj("cmb_moneda").set_active(0)
            self.obj("cmb_tipo_den").set_active(0)

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

        arch = Op.archivo("abm_vehiculos")
        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 Vehículos")
        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 Vehículo")
        self.obj("txt_01").set_tooltip_text(
            "Ingrese el Número del Registro Único del Automotor (R.U.A.) del Vehículo"
        )
        self.obj("txt_02").set_tooltip_text(
            "Ingrese el Número de Placa del Vehículo")
        self.obj("txt_01").grab_focus()

        self.idMarcaVeh = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_marca"),
                         "marcavehiculos", "idMarcaVehiculo")
        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))
            marca = seleccion.get_value(iterador, 1)
            rua = seleccion.get_value(iterador, 3)
            placa = seleccion.get_value(iterador, 4)

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(rua)
            self.obj("txt_02").set_text(placa)

            # Asignación de Moneda en Combo
            model, i = self.obj("cmb_marca").get_model(), 0
            while model[i][0] != marca:
                i += 1
            self.obj("cmb_marca").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_marca").set_active(0)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
コード例 #6
0
    def __init__(self, datos):
        self.datos_conexion = datos

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

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

        self.obj("btn_nuevo").set_tooltip_text(
            "Presione este botón para registrar una Nueva Asistencia")
        self.obj("btn_guardar").set_tooltip_text(
            "Presione este botón para Guardar la Asistencia")
        self.obj("btn_cancelar").set_tooltip_text(
            "Presione este botón para Cancelar la operación")
        self.obj("btn_salir").set_tooltip_text(
            "Presione este botón para Salir de la ventana")

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

        self.obj("txt_00").set_tooltip_text(
            Mens.usar_boton("el Empleado cuyo Reposo es registrado"))
        self.obj("txt_00_1").set_tooltip_text("Nombre y Apellido del Empleado")
        self.obj("txt_00_2").set_tooltip_text(
            "Ingrese el Nro. de Documento del Empleado")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("el Contrato del Empleado seleccionado"))
        self.obj("txt_01_1").set_tooltip_text(
            "Cargo del Empleado dentro de la Empresa")
        self.obj("txt_02").set_tooltip_text("Ingrese una Observación")

        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_00"), self.obj(
            "txt_00_1")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_00_2"), self.obj(
            "cmb_tipo_doc")
        self.txt_cod_cnt, self.txt_crg_cnt = self.obj("txt_01"), self.obj(
            "txt_01_1")

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

        arch.connect_signals(self)

        self.limpiarcampos()
        self.obj("entrada").set_active(True)

        self.on_btn_nuevo_clicked(0)
        self.obj("ventana").show()
コード例 #7
0
    def __init__(self, origen):
        self.origen = origen

        cursor = self.origen.conexion.cursor()
        cursor.execute("SAVEPOINT horario")
        cursor.close()

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

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

        self.obj("ventana").set_title("Registro de Horarios")
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

        self.obj("txt_hora_1_ig").set_max_length(8)
        self.obj("txt_hora_2_ig").set_max_length(8)
        self.obj("txt_cod_dif").set_max_length(10)
        self.obj("txt_hora_2_dif").set_max_length(8)
        self.obj("txt_hora_2_dif").set_max_length(8)

        Op.combos_config(self.origen.nav.datos_conexion,
                         self.obj("cmb_primer_dia"), "diassemana", "idDia")
        Op.combos_config(self.origen.nav.datos_conexion,
                         self.obj("cmb_ultimo_dia"), "diassemana", "idDia")
        Op.combos_config(self.origen.nav.datos_conexion, self.obj("cmb_dia"),
                         "diassemana", "idDia")
        Op.combos_config(self.origen.nav.datos_conexion,
                         self.obj("cmb_turno_ig"), "turnos", "idTurno")
        Op.combos_config(self.origen.nav.datos_conexion,
                         self.obj("cmb_turno_dif"), "turnos", "idTurno")

        arch.connect_signals(self)

        self.estadoedicion(False)
        self.config_grilla()
        self.cargar_grilla()

        self.obj("ventana").show()
コード例 #8
0
    def permisos_user(self):
        self.obj("btn_nuevo").set_sensitive(False)
        self.obj("btn_modificar").set_sensitive(False)
        self.obj("btn_eliminar").set_sensitive(False)
        self.obj("btn_permiso").set_sensitive(False)
        self.obj("btn_grupo").set_sensitive(False)

        conexion = Op.conectar(self.datos_conexion)
        cursor = conexion.cursor()
        cursor.execute("SELECT ROUTINE_NAME FROM procedimientos_s")
        datos = cursor.fetchall()
        cant = cursor.rowcount

        for i in range(0, cant):
            procedimiento = datos[i][0]
            if procedimiento == "usuarios_i":
                self.obj("btn_nuevo").set_sensitive(True)
                self.obj("btn_permiso").set_sensitive(True)
                Op.combos_config(self.datos_conexion,
                    self.obj("cmb_new_doc"), "tipodocumentos", "idTipoDocumento")

            elif procedimiento == "usuarios_u":
                self.obj("btn_modificar").set_sensitive(True)
                self.obj("btn_permiso").set_sensitive(True)
                Op.combos_config(self.datos_conexion,
                    self.obj("cmb_mod_doc"), "tipodocumentos", "idTipoDocumento")

            elif procedimiento == "usuarios_d":
                self.obj("btn_eliminar").set_sensitive(True)

        cursor.execute("SELECT TABLE_NAME FROM vistas_s")
        datos = cursor.fetchall()
        cant = cursor.rowcount
        conexion.close()  # Finaliza la conexión

        for i in range(0, cant):
            vista = datos[i][0]
            if vista == "grupousuarios_s":
                self.obj("btn_grupo").set_sensitive(True)
コード例 #9
0
    def __init__(self, datos):
        self.datos_conexion = datos

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

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_modal(True)
        self.obj("ventana").set_title("Informes de Asistencias")

        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, True, -1
        Op.combos_config(self.datos_conexion, self.obj("cmb_tipo_doc"), "tipodocumentos", "idTipoDocumento")

        arch.connect_signals(self)

        self.desactiva_empleado()
        self.obj("btn_aceptar").set_sensitive(False)
        self.obj("ventana").show()
コード例 #10
0
    def __init__(self, datos, v_or):
        self.datos_conexion = datos
        self.origen = v_or

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

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_title("Aperturas de Cajas")
        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(7)
        self.obj("txt_03").set_max_length(15)

        self.obj("txt_00").set_tooltip_text(Mens.usar_boton("el Establecimiento que afectará"))
        self.obj("txt_00_1").set_tooltip_text("Nombre del Establecimiento")
        self.obj("txt_00_2").set_tooltip_text("Dirección o Localización del Establecimiento")
        self.obj("txt_00_2").set_tooltip_text("Teléfono del Establecimiento")
        self.obj("txt_01").set_tooltip_text(Mens.usar_boton("el Punto de Expedición que afectará"))
        self.obj("txt_01_1").set_tooltip_text("Nombre del Punto de Expedición")
        self.obj("txt_02").set_tooltip_text("Ingrese el Número Inicial del Documento a emitir")
        self.obj("txt_03").set_tooltip_text("Ingrese el Monto de Dinero disponible en Caja en este momento")

        self.txt_nro_est, self.txt_nom_est = self.obj("txt_00"), self.obj("txt_00_1")
        self.txt_dir_est, self.txt_tel_est = self.obj("txt_00_2"), self.obj("txt_00_3")
        self.txt_nro_cja, self.txt_nom_cja = self.obj("txt_01"), self.obj("txt_01_1")

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

        self.obj("txt_fecha").set_text(Cal.mysql_fecha(date.today()))
        self.obj("txt_hora").set_text(strftime('%H:%M:%S'))
        self.obj("ventana").show()
コード例 #11
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("abm_cheques")
        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 Cheques de Terceros")
        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(20)
        self.obj("txt_03").set_max_length(10)
        self.obj("txt_03_2").set_max_length(12)
        self.obj("txt_04").set_max_length(10)
        self.obj("txt_04_2").set_max_length(12)
        self.obj("txt_07").set_max_length(12)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código del Cheque")
        self.obj("txt_01").set_tooltip_text("Ingrese el Nro. de Cheque")
        self.obj("txt_02").set_tooltip_text("Ingrese el Nro. de Cuenta")
        self.obj("txt_03").set_tooltip_text(Mens.usar_boton("el Banco del Cheque"))
        self.obj("txt_03_1").set_tooltip_text("Razón Social del Banco")
        self.obj("txt_03_2").set_tooltip_text("Ingrese el Nro. de Documento del Banco")
        self.obj("txt_03_3").set_tooltip_text("Dirección del Banco")
        self.obj("txt_03_4").set_tooltip_text("Teléfono del Banco")
        self.obj("txt_04").set_tooltip_text(Mens.usar_boton("el Titular del Cheque"))
        self.obj("txt_04_1").set_tooltip_text("Razón Social del Titular")
        self.obj("txt_04_2").set_tooltip_text("Ingrese el Nro. de Documento del Titular")
        self.obj("txt_05").set_tooltip_text(Mens.usar_boton("la Fecha de Emisión del Cheque"))
        self.obj("txt_06").set_tooltip_text(Mens.usar_boton("la Fecha de Cobro del Cheque"))
        self.obj("txt_07").set_tooltip_text("Ingrese el Monto del Cheque")
        self.obj("txt_01").grab_focus()

        mostrar_ventana = True
        self.idTipoDocBanco = self.idTipoDocTitular = self.idTipoCheque = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_doc_banco"), "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_doc_titular"), "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo"), "tipocheques", "idTipoCheque")
        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))
            cheque = str(seleccion.get_value(iterador, 1))
            cuenta = seleccion.get_value(iterador, 2)
            banco = str(seleccion.get_value(iterador, 3))
            tip_banco = seleccion.get_value(iterador, 4)
            doc_banco = seleccion.get_value(iterador, 5)
            nom_banco = seleccion.get_value(iterador, 6)
            dir_banco = seleccion.get_value(iterador, 7)
            tel_banco = seleccion.get_value(iterador, 8)
            titular = str(seleccion.get_value(iterador, 9))
            tip_tit = seleccion.get_value(iterador, 10)
            doc_tit = seleccion.get_value(iterador, 11)
            nom_tit = seleccion.get_value(iterador, 12)
            tipo = seleccion.get_value(iterador, 13)
            emision = seleccion.get_value(iterador, 15)
            cobro = seleccion.get_value(iterador, 16)
            monto = str(seleccion.get_value(iterador, 17))
            anulado = seleccion.get_value(iterador, 18)

            if anulado != 1:
                self.fecha_emision = seleccion.get_value(iterador, 19)
                self.fecha_cobro = seleccion.get_value(iterador, 20)

                dir_banco = "" if dir_banco is None else dir_banco
                tel_banco = "" if tel_banco is None else tel_banco

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

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

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

                self.obj("txt_00").set_text(self.cond)
                self.obj("txt_01").set_text(cheque)
                self.obj("txt_02").set_text(cuenta)
                self.obj("txt_03").set_text(banco)
                self.obj("txt_03_1").set_text(nom_banco)
                self.obj("txt_03_2").set_text(doc_banco)
                self.obj("txt_03_3").set_text(dir_banco)
                self.obj("txt_03_4").set_text(tel_banco)
                self.obj("txt_04").set_text(titular)
                self.obj("txt_04_1").set_text(nom_tit)
                self.obj("txt_04_2").set_text(doc_tit)
                self.obj("txt_05").set_text(emision)
                self.obj("txt_06").set_text(cobro)
                self.obj("txt_07").set_text(monto)
            else:
                Mens.no_puede_modificar_eliminar_anular(1, "Seleccionó:\n" +
                    "\nNro. Cheque: " + cheque + "\nNro. Cuenta: " + cuenta +
                    "\nBanco: " + nom_banco + "\nTitular: " + nom_tit +
                    "\nFecha de Emisión: " + emision + "\nFecha de Cobro: " + cobro +
                    "\n\nEste Cheque se encuentra actualmente ANULADO.")
                self.obj("ventana").destroy()
                mostrar_ventana = False
        else:
            self.obj("txt_00").set_text(Op.nuevoid(self.nav.datos_conexion,
                self.nav.tabla + "_s", self.nav.campoid))
            self.obj("cmb_doc_banco").set_active(0)
            self.obj("cmb_doc_titular").set_active(0)
            self.obj("cmb_tipo").set_active(0)

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

        if mostrar_ventana:
            self.obj("ventana").show()
コード例 #12
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        # Necesario para Establecimientos
        self.datos_conexion = self.nav.datos_conexion

        arch = Op.archivo("rrhh_empresas")
        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_02").set_max_length(10)
        self.obj("txt_03").set_max_length(12)
        self.obj("txt_04").set_max_length(10)
        self.obj("txt_05").set_max_length(50)
        self.obj("txt_06").set_max_length(50)

        self.obj("txt_m_01").set_max_length(100)
        self.obj("txt_m_02").set_max_length(100)
        self.obj("txt_a_00").set_max_length(10)
        self.obj("txt_a_01").set_max_length(100)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código de la Empresa")
        self.obj("txt_01").set_tooltip_text(Mens.usar_boton("al Propietario de la Empresa"))
        self.obj("txt_01_1").set_tooltip_text("Nombre y Apellido del Propietario")
        self.obj("txt_01_2").set_tooltip_text("Dirección Principal del Propietario")
        self.obj("txt_01_3").set_tooltip_text("Teléfono Principal del Propietario")
        self.obj("txt_02").set_tooltip_text("Ingrese el R.U.C. de la Empresa")
        self.obj("txt_02_1").set_tooltip_text("Ingrese el Dígito Verificador")
        self.obj("txt_03").set_tooltip_text("Ingrese el Nro. Patronal del Instituto de Previsión Social (IPS)")
        self.obj("txt_04").set_tooltip_text("Ingrese el Nro. Patronal del Ministerio de Justicia y Trabajo (MJT)")
        self.obj("txt_05").set_tooltip_text("Ingrese la Razón Social de la Empresa")
        self.obj("txt_06").set_tooltip_text("Ingrese el Nombre de Fantasía de la Empresa")
        self.obj("txt_01").grab_focus()

        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_medio"),
            "tipomediocontactos", "idTipoMedioContacto")

        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_01"), self.obj("txt_01_1")
        self.txt_dir_per, self.txt_tel_per = self.obj("txt_01_2"), self.obj("txt_01_3")
        self.txt_cod_act, self.txt_des_act = self.obj("txt_a_00"), self.obj("txt_a_00_1")

        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))
            codprop = str(seleccion.get_value(iterador, 4))
            prop = seleccion.get_value(iterador, 6)
            direccion = seleccion.get_value(iterador, 7)
            telefono = seleccion.get_value(iterador, 8)
            ruc = seleccion.get_value(iterador, 1)[:-2]  # Quita el dígito verificador
            verif = seleccion.get_value(iterador, 11)
            ips = seleccion.get_value(iterador, 9)
            mjt = str(seleccion.get_value(iterador, 10))
            social = seleccion.get_value(iterador, 2)
            fantasia = seleccion.get_value(iterador, 3)

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

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(codprop)
            self.obj("txt_01_1").set_text(prop)
            self.obj("txt_01_2").set_text(direccion)
            self.obj("txt_01_3").set_text(telefono)
            self.obj("txt_02").set_text(ruc)
            self.obj("txt_02_1").set_value(verif)
            self.obj("txt_03").set_text(ips)
            self.obj("txt_04").set_text(mjt)
            self.obj("txt_05").set_text(social)
            self.obj("txt_06").set_text(fantasia)
        else:
            self.obj("txt_00").set_text(Op.nuevoid(self.nav.datos_conexion,
                self.nav.tabla + "_s", self.nav.campoid))

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

        self.estadoedicion_medio_contacto(False)
        self.estadoedicion_actividad(False)

        self.config_grilla_establecimiento()
        self.cargar_grilla_establecimiento()
        self.config_grilla_medio()
        self.cargar_grilla_medio()
        self.config_grilla_actividad()
        self.cargar_grilla_actividad()

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
コード例 #13
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("rrhh_reposos")
        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 del Reposo")
        self.obj("txt_01").set_tooltip_text(Mens.usar_boton("el Empleado cuyo Reposo es registrado"))
        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 Nro. de Expediente o de Resolución que corresponde al Reposo del Empleado")
        self.obj("txt_04").set_tooltip_text(Mens.usar_boton("la Fecha de expedición del Expediente o de la Resolución"))
        self.obj("txt_05").set_tooltip_text(Mens.usar_boton("la Fecha de Inicio del Reposo del Empleado"))
        self.obj("txt_06").set_tooltip_text(Mens.usar_boton("la Fecha de Finalización del Reposo del Empleado"))
        self.obj("txt_07").set_tooltip_text("Tiempo de Duración, en Días, del Reposo del Empleado")
        self.obj("txt_08").set_tooltip_text("Ingrese cualquier información adicional con respecto al Reposo del 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, 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))
            tipodoc = seleccion.get_value(iterador, 3)
            nrodoc = seleccion.get_value(iterador, 4)
            nombre = seleccion.get_value(iterador, 5)
            cargo = seleccion.get_value(iterador, 8)
            fini = seleccion.get_value(iterador, 9)
            ffin = seleccion.get_value(iterador, 10)
            dias = str(seleccion.get_value(iterador, 11))
            exp = seleccion.get_value(iterador, 12)
            fexp = seleccion.get_value(iterador, 13)

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

            self.fechaini = seleccion.get_value(iterador, 19)
            self.fechafin = seleccion.get_value(iterador, 20)
            self.fechaexp = seleccion.get_value(iterador, 21)

            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)
        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()
コード例 #14
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

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

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_default_size(760, 600)
        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("btn_lotes").set_tooltip_text(
            "Presione este botón para registrar los Lotes de los Ítems seleccionados"
        )
        self.obj("btn_confirmar").set_tooltip_text(
            "Presione este botón para Guardar el registro y/o Confirmarlo\n" +
            "Las " + self.nav.titulo +
            " confirmadas no podrán ser Modificadas o Eliminadas con posterioridad\n"
            + "Por lo tanto, compruebe que los datos están todos correctos")

        self.obj("txt_00").set_max_length(15)
        self.obj("txt_01").set_max_length(10)
        self.obj("txt_04").set_max_length(10)
        self.obj("txt_04_2").set_max_length(12)

        self.obj("txt_00").set_tooltip_text(
            "Ingrese el Número de la Nota actual")
        self.obj("txt_01").set_tooltip_text(
            "Ingrese el Número de Timbrado de la Nota actual")
        self.obj("txt_02").set_tooltip_text(
            Mens.usar_boton("la Fecha de expedición de la Nota actual"))
        self.obj("txt_03").set_tooltip_text(
            Mens.usar_boton("la Factura modificada por la Nota actual"))
        self.obj("txt_03_1").set_tooltip_text(
            "Fecha de Expedición de la Factura seleccionada")
        self.obj("txt_04").set_tooltip_text(
            Mens.usar_boton("al Proveedor de los ítems"))
        self.obj("txt_04_1").set_tooltip_text("Razón Social del Proveedor")
        self.obj("txt_04_2").set_tooltip_text(
            "Ingrese el Nro. de Documento de Identidad del Proveedor")
        self.obj("txt_04_3").set_tooltip_text(
            "Dirección principal del Proveedor")
        self.obj("txt_04_4").set_tooltip_text(
            "Teléfono principal del Proveedor")
        self.obj("txt_00").grab_focus()

        self.nro_timb = -1
        self.txt_nro_fact, self.txt_fec_fact = self.obj("txt_03"), self.obj(
            "txt_03_1")
        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_04"), self.obj(
            "txt_04_1")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_04_2"), self.obj(
            "cmb_tipo_doc")
        self.txt_dir_per, self.txt_tel_per = self.obj("txt_04_3"), self.obj(
            "txt_04_4")

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

        self.estadoguardar(False)
        self.config_grilla_detalles()
        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_timb = str(seleccion.get_value(iterador, 0))
            self.cond_nro = seleccion.get_value(iterador, 1)

            self.fecha = seleccion.get_value(iterador, 18)
            fecha = seleccion.get_value(iterador, 2)

            self.nro_timb = seleccion.get_value(iterador, 3)
            fact = seleccion.get_value(iterador, 4)
            fecha_fact = seleccion.get_value(iterador, 17)

            idpro = str(seleccion.get_value(iterador, 15))
            tipodoc = seleccion.get_value(iterador, 16)
            nrodoc = seleccion.get_value(iterador, 5)
            nombre = seleccion.get_value(iterador, 6)
            direc = seleccion.get_value(iterador, 7)
            telef = seleccion.get_value(iterador, 8)

            resp = seleccion.get_value(iterador, 13)
            conf = seleccion.get_value(iterador, 14)

            direc = "" if direc is None else direc
            telef = "" if telef is None else telef

            self.obj("txt_00").set_text(self.cond_nro)
            self.obj("txt_01").set_text(self.cond_timb)
            self.obj("txt_02").set_text(fecha)
            self.obj("txt_03").set_text(fact)
            self.obj("txt_03_1").set_text(fecha_fact)
            self.obj("txt_04").set_text(idpro)
            self.obj("txt_04_1").set_text(nombre)
            self.obj("txt_04_2").set_text(ruc)
            self.obj("txt_04_3").set_text(direc)
            self.obj("txt_04_4").set_text(telef)

            # 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.cargar_grilla_detalles()

            if conf != 1:
                self.estadoguardar(True)
                self.encabezado_guardado = True
            else:
                self.obj("vbox1").set_sensitive(False)
                self.obj("vbox2").set_sensitive(False)
                self.obj("buttonbox_abm").set_sensitive(False)
                self.obj("grilla").set_sensitive(False)
                self.obj("vbox3").set_sensitive(False)
                self.obj("hbox14").set_sensitive(False)

                Mens.no_puede_modificar_eliminar_anular(
                    1, "Seleccionó:\n\nNro. de Nota: " + self.cond_nro +
                    "\n\nNro. de Timbrado: " + self.cond_timb + "\nFecha: " +
                    fecha + "\nResponsable: " + resp +
                    "\n\nLa presente Nota ya ha sido Confirmada." +
                    "\nSolo puede modificar Notas pendientes de confirmación.")
        else:
            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()
コード例 #15
0
    def __init__(self, datos, tit, tab, est, cja, num):
        self.datos_conexion = datos
        self.titulo = tit
        self.tabla = tab
        self.estab = est
        self.caja = cja
        self.numero = num

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

        self.obj("ventana").set_default_size(800, 670)
        self.obj("ventana").set_position(1)
        self.obj("ventana").set_title("Notas de " + self.titulo +
                                      " por Ventas")
        self.obj("ventana").set_modal(True)
        self.obj("ventana").maximize()

        self.obj("labeltitulo").set_text("Notas de " + self.titulo +
                                         " por Ventas")
        '''self.obj("btn_nuevo").set_tooltip_text("Presione este botón para Crear una nueva Nota")
        self.obj("btn_anular").set_tooltip_text("Presione este botón para Anular una Nota")
        self.obj("btn_confirmar").set_tooltip_text("Presione este botón para Guardar la Nota actual")
        self.obj("btn_cancelar").set_tooltip_text("Presione este botón para Cancelar la Nota actual sin guardar los datos")
        self.obj("btn_salir").set_tooltip_text("Presione este botón para Cerrar esta ventana")

        self.obj("cmb_tipo_doc").set_tooltip_text("Seleccione el Tipo de Documento de Identidad del Cliente")

        self.obj("txt_02").set_tooltip_text(Mens.usar_boton("la Factura que modifica esta Nota de Débito"))
        self.obj("txt_02_1").set_tooltip_text("Número de Timbrado de la Factura seleccionada")
        self.obj("txt_02_2").set_tooltip_text("Fecha de Expedición de la Factura seleccionada")
        self.obj("txt_03_1").set_tooltip_text("Ingrese el Número de Documento de Identidad del Cliente")
        self.obj("txt_03_2").set_tooltip_text("Nombre y Apellido o Razón Social del Cliente")
        self.obj("txt_03_3").set_tooltip_text("Dirección de la residencia 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 Ítem")
        self.obj("btn_modificar_item").set_tooltip_text("Presione este botón para modificar datos de un Ítem")
        self.obj("btn_eliminar_item").set_tooltip_text("Presione este botón para eliminar un Ítem")

        self.fact_nro = self.obj("txt_02")
        self.fact_timb, self.fact_fecha = self.obj("txt_02_1"), self.obj("txt_02_2")

        self.cod_per = self.idTipoDoc = -1
        self.tip_doc, self.nro_doc = self.obj("cmb_tipo_doc"), self.obj("txt_03_1")
        self.rzn_scl, self.dir_per = self.obj("txt_03_2"), self.obj("txt_03_3")

        self.cod_it, self.bar_it, self.nom_it = self.obj("txt_it_00"), self.obj("txt_it_00_1"), self.obj("txt_it_00_2")
        self.cod_pres, self.des_pres = self.obj("txt_it_00_3"), self.obj("txt_it_00_4")
        self.cod_cat, self.des_cat, self.por_cat = self.obj("txt_it_00_5"), self.obj("txt_it_00_6"), self.obj("txt_it_00_7")
        self.cost_it, self.vent_it = self.obj("txt_it_02_1"), self.obj("txt_it_02")'''

        Op.combos_config(self.datos_conexion, self.obj("cmb_tipo_doc"),
                         "tipodocumentos", "idTipoDocumento")
        #arch.connect_signals(self)

        self.permisos_user()
        self.estadoitems(False)
        self.estadoedicion(False)
        self.config_grilla_detalles()
        self.limpiarcampos()

        self.obj("ventana").show()
        self.buscar_nro_timbrado()
コード例 #16
0
    def __init__(self, datos, con, tab, total, nro, timb=None):
        self.datos_conexion = datos
        self.conexion = con
        self.tabla = tab

        cursor = self.conexion.cursor()
        cursor.execute("SAVEPOINT cobros")
        cursor.close()

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

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

        self.obj("ventana").set_title("Cobros por Forma de Pago/Cobro")

        self.obj("btn_cheque").set_tooltip_text(
            "Presione este botón para buscar datos de un Cheque de Tercero")
        self.obj("btn_moneda").set_tooltip_text(
            "Presione este botón para buscar datos de una Moneda")
        self.obj("btn_tarjeta").set_tooltip_text(
            "Presione este botón para buscar datos de una Tarjeta")

        self.obj("btn_ch_banco").set_tooltip_text(
            "Presione este botón para buscar datos de una Entidad Financiera")
        self.obj("btn_ch_titular").set_tooltip_text(
            "Presione este botón para buscar datos del Titular del Cheque")
        self.obj("btn_tj_banco").set_tooltip_text(
            "Presione este botón para buscar datos de una Entidad Financiera")
        self.obj("btn_tj_titular").set_tooltip_text(
            "Presione este botón para buscar datos del Titular de la Tarjeta")

        self.obj("btn_nuevo").set_tooltip_text(
            "Presione este botón para agregar un nuevo Cobro por Cheque o Tarjeta"
        )
        self.obj("btn_modificar").set_tooltip_text(
            "Presione este botón para modificar datos de un Cobro por Cheque o Tarjeta"
        )
        self.obj("btn_eliminar").set_tooltip_text(
            "Presione este botón para eliminar un Cobro por Cheque o Tarjeta")

        Op.combos_config(self.datos_conexion, self.obj("cmb_ch_banco"),
                         "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.datos_conexion, self.obj("cmb_ch_titular"),
                         "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.datos_conexion, self.obj("cmb_tj_banco"),
                         "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.datos_conexion, self.obj("cmb_tj_titular"),
                         "tipodocumentos", "idTipoDocumento")

        self.obj("txt_00").set_text(nro)
        self.obj("txt_total").set_text(total)

        if timb is None:
            self.obj("label1").set_text("Nro. Recibo:")
            self.obj("label2").set_visible(False)
            self.obj("txt_01").set_visible(False)
        else:
            self.obj("txt_01").set_text(timb)

        self.txt_nro_chq, self.txt_nro_cta = self.obj("txt_ch_00"), self.obj(
            "txt_ch_01")
        self.txt_monto = self.obj("txt_ch_04")
        self.txt_cod_mon, self.txt_des_mon = self.obj("txt_md_00"), self.obj(
            "txt_md_00_1")
        self.txt_cot_vent = self.obj("txt_md_02")
        self.txt_nro_tj = self.obj("txt_tj_00")

        self.cod_cheque = -1
        self.monto_cheque = 0  # Valor Total del Cheque registrado
        self.monto_ch_doc = 0  # Valor del Cheque para Factura o Recibo (al Editar)
        self.monto_md_doc = 0  # Valor del Efectivo para Factura o Recibo (al Editar)
        self.monto_tj_doc = 0  # Valor de la Tarjeta para Factura o Recibo (al Editar)

        self.estadocobros(False)
        self.config_grilla_detalles()
        self.cargar_grilla_detalles()

        arch.connect_signals(self)
        self.obj("ventana").show()
コード例 #17
0
    def __init__(self, edit, origen, contr=None):
        self.editando = edit
        self.contrato = contr  # Está creando desde Contratos
        self.nav = origen

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

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

        edit = "Creando" if not self.editando else "Editando"
        self.obj("ventana").set_title(edit + " Registro de Vendedores")
        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_02_2").set_max_length(12)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código del Vendedor")
        self.obj("txt_01").set_tooltip_text(Mens.usar_boton("el Contrato del Vendedor"))
        self.obj("txt_02").set_tooltip_text(Mens.usar_boton("el Vendedor con quien se celebró el Contrato"))
        self.obj("txt_02_1").set_tooltip_text("Nombre y Apellido del Vendedor")
        self.obj("txt_02_2").set_tooltip_text("Ingrese el Nro. de Documento del Vendedor")
        self.obj("txt_02_3").set_tooltip_text("Dirección Principal del Vendedor")
        self.obj("txt_02_4").set_tooltip_text("Teléfono del Vendedor")

        self.txt_cod_cnt, self.idTipoDoc = self.obj("txt_01"), -1
        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_02"), self.obj("txt_02_1")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_02_2"), self.obj("cmb_tipo_doc")
        self.txt_dir_per, self.txt_tel_per = self.obj("txt_02_3"), self.obj("txt_02_4")

        self.txt_cod_it = self.obj("txt_it_00")
        self.txt_bar_it, self.txt_nom_it = self.obj("txt_it_00_1"), self.obj("txt_it_00_2")
        self.txt_cod_pres, self.txt_des_pres = self.obj("txt_it_00_3"), self.obj("txt_it_00_4")

        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))
            contrato = str(seleccion.get_value(iterador, 1))
            empleado = str(seleccion.get_value(iterador, 2))
            tipodoc = seleccion.get_value(iterador, 3)
            nrodoc = seleccion.get_value(iterador, 4)
            nombre = seleccion.get_value(iterador, 5)
            direccion = seleccion.get_value(iterador, 6)
            telefono = seleccion.get_value(iterador, 7)

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

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(contrato)
            self.obj("txt_02").set_text(empleado)
            self.obj("txt_02_1").set_text(nombre)
            self.obj("txt_02_2").set_text(nrodoc)
            self.obj("txt_02_3").set_text(direccion)
            self.obj("txt_02_4").set_text(telefono)

            # 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)
        else:
            self.obj("txt_00").set_text(Op.nuevoid(self.nav.datos_conexion,
                "vendedores_s", "idVendedor"))
            self.obj("cmb_tipo_doc").set_active(0)

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

        self.estadoedicion(False)
        self.config_grilla_categorias()
        self.cargar_grilla_categorias()
        self.config_grilla_items()
        self.cargar_grilla_items()

        if self.contrato is None:
            self.nav.obj("grilla").get_selection().unselect_all()
            self.nav.obj("barraestado").push(0, "")
        else:
            # Datos del Contrato del Empleado
            self.obj("txt_01").set_text(self.contrato)
            self.focus_out_event(self.obj("txt_01"), 0)

            # No puede cambiar el Empleado ni el Contrato
            self.obj("vbox1").set_sensitive(False)

        self.obj("ventana").show()
コード例 #18
0
    def __init__(self, edit, estab, v_or):
        self.editando = self.editando_persona = edit
        self.establecimiento = estab
        self.origen = v_or

        cursor = self.origen.conexion.cursor()
        cursor.execute("SAVEPOINT direccion")
        cursor.close()

        arch = Op.archivo("abm_direcciones")
        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 Direcciones")
        self.obj("btn_guardar").set_sensitive(False)

        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_03").set_max_length(10)
        self.obj("txt_04").set_max_length(10)
        self.obj("txt_05").set_max_length(10)
        self.obj("txt_06").set_max_length(10)
        self.obj("txt_07").set_max_length(100)
        self.obj("txt_08").set_max_length(10)

        self.obj("txt_00").set_tooltip_text(
            "Ingrese el Número de la Dirección de la Persona")
        self.obj("txt_01").set_tooltip_text(
            "Ingrese el Código de la Dirección (general)")
        self.obj("txt_02").set_tooltip_text(
            Mens.usar_boton("el País donde se encuentra"))
        self.obj("txt_02_1").set_tooltip_text("Nombre del País")
        self.obj("txt_03").set_tooltip_text(
            Mens.usar_boton("la Ciudad donde se encuentra"))
        self.obj("txt_03_1").set_tooltip_text(
            "Nombre del Departamento, Provincia, Estado")
        self.obj("txt_04").set_tooltip_text(
            Mens.usar_boton("la Ciudad donde se encuentra"))
        self.obj("txt_04_1").set_tooltip_text("Nombre de la Ciudad")
        self.obj("txt_05").set_tooltip_text(
            Mens.usar_boton("el Barrio donde se encuentra"))
        self.obj("txt_05_1").set_tooltip_text("Nombre del Barrio")
        self.obj("txt_06").set_tooltip_text("Ingrese el Nro. de Casa")
        self.obj("txt_07").set_tooltip_text(
            "Ingrese algunas Observaciones acerca de la Dirección")
        self.obj("txt_08").set_tooltip_text(
            Mens.usar_boton("la Calle sobre la que se encuentra"))
        self.obj("txt_08_1").set_tooltip_text("Nombre de la Calle")
        self.obj("txt_02").grab_focus()

        self.txt_cod_pais, self.txt_des_pais = self.obj("txt_02"), self.obj(
            "txt_02_1")
        self.txt_cod_dep, self.txt_des_dep = self.obj("txt_03"), self.obj(
            "txt_03_1")
        self.txt_cod_ciu, self.txt_des_ciu = self.obj("txt_04"), self.obj(
            "txt_04_1")
        self.txt_cod_bar, self.txt_des_bar = self.obj("txt_05"), self.obj(
            "txt_05_1")
        self.txt_cod_cal, self.txt_des_cal = self.obj("txt_08"), self.obj(
            "txt_08_1")

        Op.combos_config(self.origen.nav.datos_conexion,
                         self.obj("cmb_tipo_calle"), "tipocalles",
                         "idTipoCalle")
        arch.connect_signals(self)
        self.config_grilla_calle()

        if self.editando:
            if not self.establecimiento:
                seleccion, iterador = self.origen.obj(
                    "grilla_dir").get_selection().get_selected()
                self.idDirecPers = str(seleccion.get_value(iterador,
                                                           0))  # Nro. de Orden
                self.idDireccion = str(seleccion.get_value(iterador, 13))

                codpais = str(seleccion.get_value(iterador, 1))
                pais = seleccion.get_value(iterador, 2)
                coddepart = str(seleccion.get_value(iterador, 3))
                depart = seleccion.get_value(iterador, 4)
                codciudad = str(seleccion.get_value(iterador, 5))
                ciudad = seleccion.get_value(iterador, 6)
                codbarrio = str(seleccion.get_value(iterador, 7))
                barrio = seleccion.get_value(iterador, 8)

                nrocasa = seleccion.get_value(iterador, 10)
                obs = seleccion.get_value(iterador, 11)

                self.obj("txt_00").set_text(self.idDirecPers)
            else:
                self.idDireccion = str(self.origen.idDirec)

                cursor = Op.consultar(
                    self.origen.conexion, "idPais, Pais, " +
                    "idDepartamento, Departamento, idCiudad, Ciudad, " +
                    "idBarrio, Barrio, NroCasa, Observaciones, idDireccion",
                    "direcciones_s",
                    " WHERE idDireccion = " + self.idDireccion)
                datos = cursor.fetchall()
                print(datos)

                codpais, pais = str(datos[0][0]), datos[0][1]
                coddepart, depart = str(datos[0][2]), datos[0][3]
                codciudad, ciudad = str(datos[0][4]), datos[0][5]
                codbarrio, barrio = str(datos[0][6]), datos[0][7]
                nrocasa, obs = datos[0][8], datos[0][9]

            nrocasa = "" if nrocasa is None else str(nrocasa)
            obs = "" if obs is None else obs

            self.obj("txt_01").set_text(self.idDireccion)
            self.obj("txt_02").set_text(codpais)
            self.obj("txt_02_1").set_text(pais)
            self.obj("txt_03").set_text(coddepart)
            self.obj("txt_03_1").set_text(depart)
            self.obj("txt_04").set_text(codciudad)
            self.obj("txt_04_1").set_text(ciudad)
            self.obj("txt_05").set_text(codbarrio)
            self.obj("txt_05_1").set_text(barrio)

            self.obj("txt_06").set_text(nrocasa)
            self.obj("txt_07").set_text(obs)

            self.estadoedicion(True)
        else:
            if not self.establecimiento:
                self.obj("txt_00").set_text(
                    Op.nuevoid(
                        self.origen.nav.datos_conexion,
                        "personas_direcciones_s WHERE idPersona = " +
                        self.origen.obj("txt_00").get_text(),
                        "idDireccionPer"))

            self.obj("txt_01").set_text(
                Op.nuevoid(self.origen.nav.datos_conexion, "direcciones_s",
                           "idDireccion"))
            self.estadoedicion(False)

        if self.establecimiento:
            self.obj("hbox2").set_visible(False)
            self.obj("label2").set_property('width_request', 150)

        self.estadoedicion_calle(False)
        self.cargar_grilla_calle()

        if not self.establecimiento:
            self.origen.obj("grilla_dir").get_selection().unselect_all()
            self.origen.obj("barraestado").push(0, "")

        self.obj("ventana").show()
コード例 #19
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

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

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_default_size(500, 550)
        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)  # Código
        self.obj("txt_00_2").set_max_length(12)  # Nro. Doc. (Empleado)
        self.obj("txt_01").set_max_length(10)  # Código
        self.obj("txt_01_2").set_max_length(12)  # Nro. Doc. (Familiar)
        self.obj("txt_02").set_max_length(100)  # Observaciones

        self.obj("txt_00").set_tooltip_text(
            Mens.usar_boton("el Empleado cotizante en IPS"))
        self.obj("txt_00_1").set_tooltip_text("Nombre y Apellido del Empleado")
        self.obj("txt_00_2").set_tooltip_text(
            "Ingrese el Nro. de Documento del Empleado")
        self.obj("txt_00_3").set_tooltip_text(
            "Número de Seguro (en IPS) del Empleado")
        self.obj("txt_00_4").set_tooltip_text(
            "Identificador del Asegurado en IPS")
        self.obj("txt_00_5").set_tooltip_text("Sexo del Empleado")
        self.obj("txt_00_6").set_tooltip_text("Nacionalidad del Empleado")
        self.obj("txt_00_7").set_tooltip_text("Estado Civil del Empleado")
        self.obj("txt_00_8").set_tooltip_text(
            "Fecha de Nacimiento del Empleado")
        self.obj("txt_00_9").set_tooltip_text(
            "Lugar de Nacimiento del Empleado")
        self.obj("txt_00_10").set_tooltip_text("Dirección Actual del Empleado")
        self.obj("txt_00_11").set_tooltip_text(
            "Barrio de la Dirección del Empleado")
        self.obj("txt_00_12").set_tooltip_text(
            "Ciudad o Distrito de la Dirección del Empleado")
        self.obj("txt_00_13").set_tooltip_text("Teléfono Laboral del Empleado")
        self.obj("txt_00_14").set_tooltip_text(
            "Teléfono Particular del Empleado")
        self.obj("txt_00_15").set_tooltip_text(
            "Número de Celular del Empleado")
        self.obj("txt_00_16").set_tooltip_text(
            "Dirección de Correo Electrónico del Empleado")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("el Familiar beneficiado por el Seguro"))
        self.obj("txt_01_1").set_tooltip_text("Nombre y Apellido del Familiar")
        self.obj("txt_01_2").set_tooltip_text(
            "Ingrese el Nro. de Documento del Familiar")
        self.obj("txt_01_3").set_tooltip_text(
            "Fecha de Nacimiento del Familiar")
        self.obj("txt_01_4").set_tooltip_text("Sexo del Familiar")
        self.obj("txt_02").set_tooltip_text(
            "Ingrese una Observación relativa al Beneficiario")

        self.idTipoDocEmpleado = self.idTipoDocFamiliar = self.idTipoParentesco = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc_emp"),
                         "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc_ben"),
                         "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_parentesco"),
                         "tipoparentescos", "idTipoParentesco")

        self.config_grilla_beneficiarios()
        arch.connect_signals(self)

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

            self.obj("txt_00").set_text(self.cond_empleado)
            self.focus_out_event(self.obj("txt_00"), 0)

            self.cargar_grilla_beneficiarios()
            self.estadoguardar(True)
        else:
            self.obj("cmb_tipo_doc_emp").set_active(0)
            self.obj("cmb_tipo_doc_ben").set_active(0)
            self.obj("cmb_parentesco").set_active(0)
            self.estadoguardar(False)

        self.conexion = Op.conectar(self.nav.datos_conexion)
        self.estadoedicion(False)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
コード例 #20
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

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

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_default_size(870, 650)
        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("btn_lotes").set_tooltip_text(
        "Presione este botón para registrar los Lotes de los Ítems seleccionados")
        self.obj("btn_cuentas").set_tooltip_text(
        "Presione este botón para registrar las Cuentas a Pagar de las Facturas a Crédito")
        self.obj("btn_confirmar").set_tooltip_text(
        "Presione este botón para Guardar el registro y/o Confirmarlo\n" +
        "Una Factura confirmada no podrá ser Modificada o Eliminada con posterioridad\n" +
        "Por lo tanto, compruebe que los datos están todos correctos")

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

        self.obj("txt_00").set_tooltip_text("Ingrese el Número de " + self.nav.titulo)
        self.obj("txt_01").set_tooltip_text("Ingrese el Número de Timbrado de la Factura")
        self.obj("txt_02").set_tooltip_text(Mens.usar_boton("la Fecha de expedición de la Factura"))
        self.obj("txt_03").set_tooltip_text(Mens.usar_boton("al Proveedor de los ítems"))
        self.obj("txt_03_1").set_tooltip_text("Razón Social del Proveedor")
        self.obj("txt_03_2").set_tooltip_text("Ingrese el Nro. de Documento de Identidad del Proveedor")
        self.obj("txt_03_3").set_tooltip_text("Dirección principal del Proveedor")
        self.obj("txt_03_4").set_tooltip_text("Teléfono principal del Proveedor")
        self.obj("txt_00").grab_focus()

        self.idTipoFact = self.idTipoDoc = -1
        self.txt_nro_ord, self.txt_fch_ord = self.obj("txt_orden"), self.obj("txt_fecha")
        self.txt_cod_per, self.txt_rzn_scl = self.obj("txt_03"), self.obj("txt_03_1")
        self.txt_nro_doc, self.cmb_tip_doc = self.obj("txt_03_2"), self.obj("cmb_tipo_doc")
        self.txt_dir_per, self.txt_tel_per = self.obj("txt_03_3"), self.obj("txt_03_4")

        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_fact"), "tipofacturas", "idTipoFactura")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc"), "tipodocumentos", "idTipoDocumento")
        arch.connect_signals(self)

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

        if self.editando:
            seleccion, iterador = self.nav.obj("grilla").get_selection().get_selected()
            self.cond_timb = str(seleccion.get_value(iterador, 0))
            self.cond_fact = seleccion.get_value(iterador, 1)
            fecha = seleccion.get_value(iterador, 2)
            tipo = seleccion.get_value(iterador, 7)
            resp = seleccion.get_value(iterador, 13)
            conf = seleccion.get_value(iterador, 14)

            idper = str(seleccion.get_value(iterador, 16))
            tipodoc = seleccion.get_value(iterador, 17)
            ruc = seleccion.get_value(iterador, 3)
            nombre = seleccion.get_value(iterador, 4)
            direc = seleccion.get_value(iterador, 5)
            telef = seleccion.get_value(iterador, 6)

            direc = "" if direc is None else direc
            telef = "" if telef is None else telef

            self.obj("txt_00").set_text(self.cond_fact)
            self.obj("txt_01").set_text(self.cond_timb)
            self.obj("txt_02").set_text(fecha)
            self.obj("txt_03").set_text(idper)
            self.obj("txt_03_1").set_text(nombre)
            self.obj("txt_03_2").set_text(ruc)
            self.obj("txt_03_3").set_text(direc)
            self.obj("txt_03_4").set_text(telef)

            # 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 Tipo de Factura en Combo
            model, i = self.obj("cmb_tipo_fact").get_model(), 0
            while model[i][0] != tipo: i += 1
            self.obj("cmb_tipo_fact").set_active(i)

            self.cargar_grilla_detalles()
            self.obj("notebook").set_current_page(1)

            if conf != 1:
                self.fecha = seleccion.get_value(iterador, 15)
                self.estadoguardar(True)
                self.encabezado_guardado = True

                orden = seleccion.get_value(iterador, 18)
                fecha = seleccion.get_value(iterador, 19)

                if orden is not None:
                    self.obj("txt_orden").set_text(orden)
                    self.obj("txt_fecha").set_text(fecha)
                    self.orden_guardada = self.editando_orden = True
                else:
                    self.orden_guardada = self.editando_orden = False
            else:
                self.obj("notebook").set_show_tabs(False)
                self.obj("box1").set_sensitive(False)
                self.obj("box2").set_sensitive(False)
                self.obj("notebook").set_sensitive(False)
                self.obj("grilla").set_sensitive(False)
                self.obj("box4").set_sensitive(False)
                self.obj("hbox16").set_sensitive(False)

                Mens.no_puede_modificar_eliminar_anular(1,
                    "Seleccionó:\n\nNro. de Factura: " + self.cond_fact +
                    "\n\nNro. de Timbrado: " + self.cond_timb +
                    "\nFecha: " + fecha + "\nResponsable: " + resp +
                    "\n\nEsta Factura de Compra ya ha sido Confirmada." +
                    "\nSolo puede modificar Facturas pendientes de confirmación.")
        else:
            self.obj("cmb_tipo_fact").set_active(0)
            self.obj("cmb_tipo_doc").set_active(0)

            self.estadoguardar(False)
            self.encabezado_guardado = self.orden_guardada = self.editando_orden = False

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
コード例 #21
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("abm_cotizaciones")
        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 Cotizaciones")
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"),
                                    self.obj("btn_cancelar"))

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

        self.obj("txt_00").set_tooltip_text(
            "Ingrese el Código de la Cotización")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("la Fecha de la Cotización"))
        self.obj("txt_02").set_tooltip_text(
            "Ingrese el Monto de Compra de la Cotización")
        self.obj("txt_03").set_tooltip_text(
            "Ingrese el Monto de Venta de la Cotización")
        self.obj("txt_01").grab_focus()

        self.idMoneda = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_moneda"),
                         "monedas_s", "idMoneda")
        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj(
                "grilla").get_selection().get_selected()
            self.cond_id = str(seleccion.get_value(iterador, 0))
            self.cond_moneda = seleccion.get_value(iterador, 1)
            fecha = seleccion.get_value(iterador, 3)
            compra = str(seleccion.get_value(iterador, 4))
            venta = str(seleccion.get_value(iterador, 5))
            self.fecha = seleccion.get_value(iterador, 6)

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

            self.obj("txt_00").set_text(self.cond_id)
            self.obj("txt_01").set_text(fecha)
            self.obj("txt_02").set_text(compra)
            self.obj("txt_03").set_text(venta)
        else:
            self.obj("txt_00").set_text(
                Op.nuevoid(self.nav.datos_conexion, self.nav.tabla + "_s",
                           self.nav.campoid))
            self.obj("cmb_moneda").set_active(0)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
コード例 #22
0
ファイル: pedidos.py プロジェクト: edison-yamil/Distribuidora
    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()
コード例 #23
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("abm_tarjetas")
        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 Tarjetas")
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"), self.obj("btn_cancelar"))

        self.obj("txt_00").set_max_length(20)
        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_02_2").set_max_length(12)

        self.obj("txt_00").set_tooltip_text("Ingrese el Nro. de Tarjeta")
        self.obj("txt_01").set_tooltip_text(Mens.usar_boton("el Banco de la Tarjeta"))
        self.obj("txt_01_1").set_tooltip_text("Razón Social del Banco")
        self.obj("txt_01_2").set_tooltip_text("Ingrese el Nro. de Documento del Banco")
        self.obj("txt_01_3").set_tooltip_text("Dirección del Banco")
        self.obj("txt_01_4").set_tooltip_text("Teléfono del Banco")
        self.obj("txt_02").set_tooltip_text(Mens.usar_boton("el Titular de la Tarjeta"))
        self.obj("txt_02_1").set_tooltip_text("Razón Social del Titular")
        self.obj("txt_02_2").set_tooltip_text("Ingrese el Nro. de Documento del Titular")
        self.obj("txt_03").set_tooltip_text(Mens.usar_boton("la Fecha de Vencimiento de la Tarjeta"))
        self.obj("txt_00").grab_focus()

        self.idTipoDocBanco = self.idTipoDocTitular = self.idMarcaTarjeta = self.idTipoTarjeta = -1
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_doc_banco"), "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_doc_titular"), "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_marca"), "marcatarjetas", "idMarcaTarjeta")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo"), "tipotarjetas", "idTipoTarjeta")
        arch.connect_signals(self)

        if self.editando:
            seleccion, iterador = self.nav.obj("grilla").get_selection().get_selected()
            self.cond = seleccion.get_value(iterador, 0)
            banco = str(seleccion.get_value(iterador, 1))
            tip_banco = seleccion.get_value(iterador, 2)
            doc_banco = seleccion.get_value(iterador, 3)
            nom_banco = seleccion.get_value(iterador, 4)
            dir_banco = seleccion.get_value(iterador, 5)
            tel_banco = seleccion.get_value(iterador, 6)
            titular = str(seleccion.get_value(iterador, 7))
            tip_tit = seleccion.get_value(iterador, 8)
            doc_tit = seleccion.get_value(iterador, 9)
            nom_tit = seleccion.get_value(iterador, 10)
            marca = seleccion.get_value(iterador, 11)
            tipo = seleccion.get_value(iterador, 13)

            fecha = seleccion.get_value(iterador, 15)
            self.fecha_ven = seleccion.get_value(iterador, 16)

            dir_banco = "" if dir_banco is None else dir_banco
            tel_banco = "" if tel_banco is None else tel_banco

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

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

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(banco)
            self.obj("txt_01_1").set_text(nom_banco)
            self.obj("txt_01_2").set_text(doc_banco)
            self.obj("txt_01_3").set_text(dir_banco)
            self.obj("txt_01_4").set_text(tel_banco)
            self.obj("txt_02").set_text(titular)
            self.obj("txt_02_1").set_text(nom_tit)
            self.obj("txt_02_2").set_text(doc_tit)
            self.obj("txt_03").set_text(fecha)

            # Asignación de la Marca de Tarjeta
            model, i = self.obj("cmb_marca").get_model(), 0
            while model[i][0] != marca: i += 1
            self.obj("cmb_marca").set_active(i)

            # Asignación del Tipo de Tarjeta
            model, i = self.obj("cmb_tipo").get_model(), 0
            while model[i][0] != tipo: i += 1
            self.obj("cmb_tipo").set_active(i)
        else:
            self.obj("cmb_doc_banco").set_active(0)
            self.obj("cmb_doc_titular").set_active(0)
            self.obj("cmb_marca").set_active(0)
            self.obj("cmb_tipo").set_active(0)

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
コード例 #24
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("rrhh_comprobantes")
        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 Comprobante de Pago")
        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_05").set_max_length(100)

        self.obj("txt_c_01").set_max_length(10)
        self.obj("txt_c_02").set_max_length(10)
        self.obj("txt_c_03").set_max_length(12)

        self.obj("txt_00").set_tooltip_text(
            "Ingrese el Número de Comprobante de Pago")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("el Empleado cuyo Pago es registrado"))
        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(
            Mens.usar_boton("la Fecha de Inicio del Periodo de Pago"))
        self.obj("txt_04").set_tooltip_text(
            Mens.usar_boton("la Fecha de Finalización del Periodo de Pago"))
        self.obj("txt_05").set_tooltip_text(
            "Ingrese cualquier información adicional con respecto al Pago")
        self.obj("txt_02").grab_focus()

        self.obj("txt_c_01").set_tooltip_text(
            "Ingrese el Código del Detalle del Pago")
        self.obj("txt_c_02").set_tooltip_text(
            Mens.usar_boton("el Concepto de Pago"))
        self.obj("txt_c_03").set_tooltip_text(
            "Ingrese la Cantidad que es Pagada\n(días trabajados, horas extraordinarias, cantidad de hijos...)"
        )
        self.obj("txt_c_04").set_tooltip_text("Ingrese el Monto a Pagar")

        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_con, self.txt_des_con = self.obj("txt_c_02"), self.obj(
            "txt_c_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")

        self.salariominimo = Op.obtener_salario_minimo(self.nav.datos_conexion)
        arch.connect_signals(self)

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

        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))
            fini = seleccion.get_value(iterador, 9)
            ffin = seleccion.get_value(iterador, 10)
            fecha = seleccion.get_value(iterador, 13)[:-9]

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

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

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_02").set_text(idcont)
            self.obj("txt_03").set_text(fini)
            self.obj("txt_04").set_text(ffin)
            self.obj("txt_05").set_text(obs)

            self.focus_out_event(self.obj("txt_02"), 0)
            self.obj("lbl_fecha").set_text(fecha)

            self.cargar_grilla_conceptos()
            self.estadoguardar(True)
        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("lbl_fecha").set_text(Cal.mysql_fecha(date.today()))
            self.cargar_grilla_conceptos()
            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()
コード例 #25
0
ファイル: ordenes.py プロジェクト: edison-yamil/Distribuidora
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

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

        self.obj("ventana").set_position(1)
        self.obj("ventana").set_default_size(650, 600)
        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_2").set_max_length(12)
        self.obj("txt_02").set_max_length(10)

        self.obj("txt_00").set_tooltip_text("Ingrese el Número de " +
                                            self.nav.titulo)
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("al Proveedor de los ítems"))
        self.obj("txt_01_1").set_tooltip_text("Razón Social del Proveedor")
        self.obj("txt_01_2").set_tooltip_text(
            "Nro. de Documento de Identidad del Proveedor")
        self.obj("txt_01_3").set_tooltip_text(
            "Dirección principal del Proveedor")
        self.obj("txt_01_4").set_tooltip_text(
            "Teléfono principal del Proveedor")
        self.obj("txt_02").set_tooltip_text(
            Mens.usar_boton("un Pedido de Compra para cargar la Orden"))
        self.obj("txt_00").grab_focus()

        self.obj("txt_it_01").set_max_length(10)
        self.obj("txt_it_01_1").set_max_length(40)
        self.obj("txt_it_02").set_max_length(14)
        self.obj("txt_it_03").set_max_length(14)
        self.obj("txt_it_05").set_max_length(100)

        self.obj("txt_it_01").set_tooltip_text("Ingrese el Código del Ítem")
        self.obj("txt_it_01_1").set_tooltip_text(
            "Ingrese el Código de Barras del Ítem")
        self.obj("txt_it_01_2").set_tooltip_text("Descripción del Ítem")
        self.obj("txt_it_01_3").set_tooltip_text("Presentación del Ítem")
        self.obj("txt_it_01_4").set_tooltip_text("Categoría del Ítem")
        self.obj("txt_it_02").set_tooltip_text("Ingrese la Cantidad de Ítems")
        self.obj("txt_it_03").set_tooltip_text(
            "Ingrese el Precio Acordado del Ítem")
        self.obj("txt_it_04").set_tooltip_text(
            "Ingrese el Porcentaje de Descuento Acordado")
        self.obj("txt_it_05").set_tooltip_text(
            "Ingrese una Observación sobre el Ítems")

        self.idFormaPago = self.idTipoDoc = -1
        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_nro_ped = self.obj("txt_02")

        self.txt_cod_it = self.obj("txt_it_01")
        self.txt_bar_it, self.txt_nom_it = 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")

        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc"),
                         "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_pago"),
                         "formapagos", "idFormaPago")
        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
            ruc = seleccion.get_value(iterador, 2)
            nombre = seleccion.get_value(iterador, 3)
            direc = seleccion.get_value(iterador, 4)
            telef = seleccion.get_value(iterador, 5)
            pago = seleccion.get_value(iterador, 7)
            resp = seleccion.get_value(iterador, 11)
            aprob = seleccion.get_value(iterador, 12)

            idper = str(seleccion.get_value(iterador, 14))
            tipodoc = str(seleccion.get_value(iterador, 15))
            pedido = str(seleccion.get_value(iterador, 16))

            direc = "" if direc is None else direc
            telef = "" if telef is None else telef

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_fecha").set_text(fecha)
            self.obj("txt_01").set_text(idper)
            self.obj("txt_01_1").set_text(nombre)
            self.obj("txt_01_2").set_text(ruc)
            self.obj("txt_01_2").set_text(direc)
            self.obj("txt_01_3").set_text(telef)
            self.obj("txt_02").set_text(pedido)

            # 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 Forma de Pago en Combo
            model, i = self.obj("cmb_pago").get_model(), 0
            while model[i][0] != pago:
                i += 1
            self.obj("cmb_pago").set_active(i)

            if aprob != 1:
                self.obj("btn_aprobar").set_sensitive(True)
                self.obj("btn_rechazar").set_sensitive(True)
            else:
                self.obj("hbox1").set_sensitive(False)
                self.obj("vbox1").set_sensitive(False)
                self.obj("vbox3").set_sensitive(False)
                self.obj("hbox16").set_sensitive(False)
                self.obj("grilla").set_sensitive(False)
                self.obj("hbox18").set_sensitive(False)

                Mens.no_puede_modificar_eliminar_anular(
                    1, "Seleccionó:\n\nNro. de Orden: " + self.cond +
                    "\nFecha: " + fecha + "\nResponsable: " + resp +
                    "\n\nEsta Orden de Compra ya ha sido Aprobada." +
                    "\nSolo puede modificar Órdenes pendientes de aprobación.")

            self.encabezado_guardado = True
            self.editando_pedido = True if len(pedido) > 0 else False
        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.obj("cmb_tipo_doc").set_active(0)
            self.obj("cmb_pago").set_active(0)
            self.encabezado_guardado = self.editando_pedido = False

        self.pedido_guardado = True
        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()
コード例 #26
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()
コード例 #27
0
ファイル: salidas.py プロジェクト: edison-yamil/Distribuidora
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("rrhh_salidas")
        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 Salidas")
        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_03").set_max_length(10)
        self.obj("txt_04").set_max_length(100)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código de la Salida")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton("el Empleado cuya Salida 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("la Fecha de Salida del Empleado seleccionado"))
        self.obj("txt_03").set_tooltip_text(
            Mens.usar_boton(
                "el Comprobante de Pago en que se procede a la liquidación del Empleado"
            ))
        self.obj("txt_04").set_tooltip_text(
            "Ingrese cualquier información adicional con respecto a la Salida del Empleado"
        )
        self.obj("txt_01").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_cmp = self.obj("txt_03")

        self.idTipoDoc = self.idMotivoSalida = -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"),
                         "motivosalidas", "idMotivoSalida")
        self.pago_modificado = False

        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))
            idemp = str(seleccion.get_value(iterador, 1))
            tipodoc = seleccion.get_value(iterador, 2)
            nrodoc = seleccion.get_value(iterador, 3)
            nombre = seleccion.get_value(iterador, 4)
            fecha = seleccion.get_value(iterador, 7)
            compr = seleccion.get_value(iterador, 8)
            motivo = seleccion.get_value(iterador, 10)
            obs = seleccion.get_value(iterador, 12)
            obs = "" if obs is None else obs

            self.fecha = seleccion.get_value(iterador, 17)

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

            self.obj("txt_04").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)

            if len(compr) == 0:
                self.editando_pago = False
            else:
                self.editando_pago = True
                self.obj("txt_03").set_text(compr)

        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()
コード例 #28
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("rrhh_horas_extras")
        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 Horas Extraordinarias")
        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_04").set_max_length(8)
        self.obj("txt_05").set_max_length(8)
        self.obj("txt_08").set_max_length(100)

        self.obj("txt_00").set_tooltip_text(
            "Ingrese el Código de Horas Extraoridinarias")
        self.obj("txt_01").set_tooltip_text(
            Mens.usar_boton(
                "el Empleado cuyas Horas Extraoridinarias 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_02_2").set_tooltip_text("Salario Mensual del Empleado")
        self.obj("txt_03").set_tooltip_text(
            Mens.usar_boton(
                "la Fecha en que ocurren las Horas Extraordinarias"))
        self.obj("txt_04").set_tooltip_text(
            "Ingrese la Hora en que inician las Horas Extraordinarias")
        self.obj("txt_05").set_tooltip_text(
            "Ingrese la Hora en que finalizan las Horas Extraordinarias")
        self.obj("txt_06").set_tooltip_text(
            "Cantidad de Horas Extraordinarias")
        self.obj("txt_07").set_tooltip_text(
            "Monto a Pagar por las Horas Extraordinarias")
        self.obj("txt_08").set_tooltip_text(
            "Ingrese cualquier información adicional con respecto a las Horas Extraordinarias del 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.txt_sal_cnt = self.obj("txt_02"), \
            self.obj("txt_02_1"), self.obj("txt_02_2")

        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_id = str(seleccion.get_value(iterador, 0))
            self.cond_cont = str(seleccion.get_value(iterador, 1))
        else:
            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()
コード例 #29
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        # Necesario para Vendedores
        self.datos_conexion = self.nav.datos_conexion

        arch = Op.archivo("rrhh_contratos")
        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 Contratos")
        Mens.boton_guardar_cancelar(self.obj("btn_guardar"), self.obj("btn_cancelar"))
        self.permiso_vendedores()

        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_00").set_tooltip_text("Ingrese el Código de Contrato")
        self.obj("txt_01").set_tooltip_text(Mens.usar_boton("el Empleado con quien se celebró el Contrato"))
        self.obj("txt_01_2").set_tooltip_text("Ingrese el Nro. de Documento del Empleado")

        self.obj("txt_04").set_tooltip_text(Mens.usar_boton("la Fecha de Inicio de Actividades"))
        self.obj("txt_05").set_tooltip_text(Mens.usar_boton("la Fecha de Finalización de Actividades"))
        self.obj("txt_06").set_tooltip_text(Mens.usar_boton("la Fecha de Inicio del Periodo de Prueba"))
        self.obj("txt_07").set_tooltip_text(Mens.usar_boton("la Fecha de Finalización del Periodo de Prueba"))

        self.idTipoDoc = -1
        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")

        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_doc"), "tipodocumentos", "idTipoDocumento")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_cargo"), "cargos", "idCargo")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_contrato"), "tipocontratos", "idTipoContrato")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_periodo_pago"), "periodopagos", "idPeriodoPago")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_forma_pago"), "formapagos", "idFormaPago")
        Op.combos_config(self.nav.datos_conexion, self.obj("cmb_tipo_salario"), "tiposalarios", "idTipoSalario")

        self.salariominimo = Op.obtener_salario_minimo(self.nav.datos_conexion)
        arch.connect_signals(self)

        self.obj("cmb_tipo_doc").set_active(0)
        self.obj("cmb_cargo").set_active(0)
        self.obj("cmb_tipo_contrato").set_active(0)
        self.obj("cmb_periodo_pago").set_active(0)
        self.obj("cmb_forma_pago").set_active(0)
        self.obj("cmb_tipo_salario").set_active(0)

        if self.editando:
            seleccion, iterador = self.nav.obj("grilla").get_selection().get_selected()
            self.cond = str(seleccion.get_value(iterador, 0))
            idper = str(seleccion.get_value(iterador, 1))
            tipodoc = seleccion.get_value(iterador, 2)
            nrodoc = seleccion.get_value(iterador, 3)
            nombre = seleccion.get_value(iterador, 4)
            direccion = seleccion.get_value(iterador, 6)
            telefono = seleccion.get_value(iterador, 7)

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

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_01").set_text(idper)
            self.obj("txt_01_1").set_text(nombre)
            self.obj("txt_01_2").set_text(nrodoc)
            self.obj("txt_01_3").set_text(direccion)
            self.obj("txt_01_4").set_text(telefono)

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

            cargo = seleccion.get_value(iterador, 12)
            formapago = seleccion.get_value(iterador, 14)
            periodopago = seleccion.get_value(iterador, 16)
            tipocontrato = seleccion.get_value(iterador, 18)
            tiposalario = seleccion.get_value(iterador, 20)

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

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

            # Asignación de Periodo de Pago en Combo
            model, i = self.obj("cmb_periodo_pago").get_model(), 0
            while model[i][0] != periodopago: i += 1
            self.obj("cmb_periodo_pago").set_active(i)

            # Asignación de Forma de Pago en Combo
            model, i = self.obj("cmb_forma_pago").get_model(), 0
            while model[i][0] != formapago: i += 1
            self.obj("cmb_forma_pago").set_active(i)

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

            # Salario
            minimo = True if seleccion.get_value(iterador, 34) == 1 else False
            cantsal = seleccion.get_value(iterador, 35)
            salario = str(seleccion.get_value(iterador, 24))

            self.obj("rad_minimo").set_active(minimo)
            if cantsal is not None:
                self.obj("txt_02").set_value(float(cantsal))
            self.obj("txt_03").set_text(salario)

            # Fechas
            fecha_ini = seleccion.get_value(iterador, 22)
            fecha_fin = seleccion.get_value(iterador, 23)
            prueba_ini = seleccion.get_value(iterador, 25)
            prueba_fin = seleccion.get_value(iterador, 26)

            self.obj("txt_04").set_text(fecha_ini)
            self.obj("txt_05").set_text(fecha_fin)
            self.obj("txt_06").set_text(prueba_ini)
            self.obj("txt_07").set_text(prueba_fin)

            self.fecha_ini = seleccion.get_value(iterador, 30)
            self.fecha_fin = seleccion.get_value(iterador, 31)
            self.prueba_ini = seleccion.get_value(iterador, 32)
            self.prueba_fin = seleccion.get_value(iterador, 33)
        else:
            self.obj("txt_00").set_text(Op.nuevoid(self.nav.datos_conexion,
                self.nav.tabla + "_s", self.nav.campoid))

            self.obj("rad_minimo").set_active(True)
            self.fecha_ini = self.fecha_fin = self.prueba_ini = self.prueba_fin = None

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

        self.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()
コード例 #30
0
    def __init__(self, edit, origen):
        self.editando = edit
        self.nav = origen

        arch = Op.archivo("rrhh_gratificaciones")
        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 Gratificación")
        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(12)
        self.obj("txt_04").set_max_length(100)

        self.obj("txt_00").set_tooltip_text("Ingrese el Código de la Gratificación")
        self.obj("txt_01").set_tooltip_text(Mens.usar_boton("el Empleado cuya Gratificació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_02_2").set_tooltip_text("Salario Mensual del Empleado")
        self.obj("txt_03").set_tooltip_text("Ingrese el Monto a pagar como Gratificación")
        self.obj("txt_04").set_tooltip_text("Ingrese cualquier información adicional con respecto a la Gratificación del 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.txt_sal_cnt = self.obj("txt_02"), \
            self.obj("txt_02_1"), self.obj("txt_02_2")

        self.idPersona, self.borrar_contrato = None, not edit
        self.idTipoDoc = self.idMotivoGratificacion = -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"), "motivogratificaciones", "idMotivoGratificacion")

        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))
            motivo = seleccion.get_value(iterador, 9)
            monto = str(seleccion.get_value(iterador, 11))

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

            self.obj("txt_00").set_text(self.cond)
            self.obj("txt_02").set_text(idcont)
            self.obj("txt_03").set_text(monto)
            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_02"), 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.nav.obj("grilla").get_selection().unselect_all()
        self.nav.obj("barraestado").push(0, "")
        self.obj("ventana").show()