예제 #1
0
 def on_btnInsertar_clicked(self, btn=None, date=None, cnx=None):
     
     if self.entDescripcion.get_text() == "":
         dialogos.error("El campo <b>Descripción Cuartel</b> no puede estar vacío")
         return
     
     if self.codigo_sector is None:
         dialogos.error("Debe escoger un <b>Cuartel</b>")
         return
     
     campos = {}
     llaves = {}
     campos['descripcion_cuartel']  = self.entDescripcion.get_text().upper()
     campos['codigo_sector'] = self.codigo_sector
     
     if not self.editando:
         sql = ifd.insertFromDict(schema + "." + table, campos)        
     else:
         llaves['codigo_cuartel'] = self.entCodigo.get_text()
         sql, campos=ifd.updateFromDict(schema + "." + table, campos, llaves)
     
     try:   
         self.cursor.execute(sql, campos)
         self.entDescripcion.set_text("")
         self.entDescripcion.grab_focus()
         self.padre.carga_datos()
     except:
         print sys.exc_info()[1]
         print sql
예제 #2
0
    def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):

        if self.entDescripcion.get_text() == "":
            dialogos.error(
                "El campo <b>Descripción Estado Fenologico</b> no puede estar vacío"
            )
            return

        if self.codigo_cultivo is None:
            dialogos.error("El campo <b>Cultivo</b> no puede estar vacío")
            return

        campos = {}
        llaves = {}
        campos['descripcion_estado_fenologico'] = self.entDescripcion.get_text(
        ).upper()
        campos['codigo_cultivo'] = self.codigo_cultivo
        if not self.editando:
            sql = ifd.insertFromDict(schema + "." + table, campos)

        else:
            llaves['codigo_estado_fenologico'] = self.entCodigo.get_text(
            ).upper()
            sql, campos = ifd.updateFromDict(schema + "." + table, campos,
                                             llaves)

        self.cursor.execute(sql, campos)
        self.dlgEstadoFenologico.hide()
예제 #3
0
 def sel_cuartel(self, completion, model, iter):
     if completion is not None:
         self.codigo_cuartel = model.get_value(iter, 1)
     
     strSelectHilera = """SELECT
                         f.descripcion_hilera,
                         f.codigo_hilera 
                         FROM """ + config.schema + """.hilera f WHERE """
     if completion is None:
         strSelectHilera = strSelectHilera + """f.codigo_hilera = """ + self.codigo_hilera +""" AND """
     
     strSelectHilera = strSelectHilera +""" f.codigo_cuartel = """ + self.codigo_cuartel + """ 
                         ORDER BY f.codigo_hilera"""
                     
     columnas = []
     columnas.append ([SELECCIONADO, "Sel", "bool"])
     columnas.append ([D_HILERA, "Hilera","str"])
     
     m = ifd.ListStoreFromSQL(self.cnx, strSelectHilera)
     self.modelo_hilera = gtk.ListStore(bool, str, str)
     
     try:
         for x in m:
             if completion is not None:
                 self.modelo_hilera.append((False, x[0], x[1]))
             else:
                 self.modelo_hilera.append((True, x[0], x[1]))
     except:
         dialogos.error("El cuartel no tiene hileras.")
         return
         
     SimpleTree.GenColsByModel(self.modelo_hilera, columnas, self.treeHilera)
     self.col_data = [x[0] for x in columnas]
     
     self.treeHilera.set_model(self.modelo_hilera)
예제 #4
0
    def on_btnPropiedades_clicked(self, btn=None):
        model, it = self.treeLaborHilera.get_selection().get_selected()
        if model is None or it is None:
            dialogos.error("Seleccione una Labor Hilera para editar."
                           )  #TODO: HACERLO PARA TODOS!!!!
            return
        dlg = dlgLaborHilera(self.cnx, self.frm_padre, False)

        dlg.entLabor.set_text(model.get_value(it, DESCRIPCION_LABOR))
        dlg.codigo_labor = model.get_value(it, CODIGO_LABOR)
        dlg.pecLabor.set_selected(True)

        dlg.entCuartel.set_text(model.get_value(it, DESCRIPCION_CUARTEL))
        dlg.codigo_cuartel = model.get_value(it, CODIGO_CUARTEL)
        dlg.pecCuartel.set_selected(True)
        dlg.codigo_hilera = model.get_value(it, CODIGO_HILERA)
        dlg.sel_cuartel(None, self.modelo, None)

        dlg.entFicha.set_text(model.get_value(it, DESCRIPCION_FICHA))
        dlg.rut = model.get_value(it, RUT)
        dlg.pecFicha.set_selected(True)

        dlg.entFecha.set_date(
            comunes.GetDateFromModel(model.get_value(it, FECHA).split()[0]))

        dlg.editando = (True)
        response = dlg.dlgLaborHilera.run()
        if response == gtk.RESPONSE_OK:
            self.modelo.clear()
            self.carga_datos()
예제 #5
0
    def query(self):

        self.is_filter = False
        try:
            cursor = self.db_connection.cursor()
            cursor.execute(self.query_db)
            self.recordset = cursor.fetchall()
        except:
            mensaje = str(sys.exc_info()[1])
            dialogos.error(
                "No se pudo realizar la consulta a la base de datos",
                mensaje,
                parent=self.padre)
            return False

        if not self.recordset:
            dialogos.error("No existen datos para la búsqueda",
                           parent=self.padre)
            return False

        cols = len(self.recordset[0])
        types = cols * [str]
        self.store = gtk.ListStore(*types)
        self.is_filter = True
        return True
예제 #6
0
 def on_btnPropiedades_clicked(self, btn=None):
     model, it = self.treeCultivoTemporada.get_selection().get_selected()
     if model is None or it is None:
         dialogos.error("Seleccione un Cultivo de Temporada para editar.")
         return
     dlg = dlgCultivoTemporada(self.cnx, self.frm_padre, False)
     
     global cultivo
     cultivo = model.get_value(it, CODIGO_CULTIVO)
     global cuartel
     cuartel = model.get_value(it, CODIGO_CUARTEL)
     global temporada
     temporada = model.get_value(it, CODIGO_TEMPORADA)
        
     dlg.entCultivo.set_text(model.get_value(it, DESCRIPCION_CULTIVO))
     dlg.codigo_cultivo = model.get_value(it, CODIGO_CULTIVO)
     dlg.pecCultivo.set_selected(True)
     
     dlg.entCuartel.set_text(model.get_value(it, DESCRIPCION_CUARTEL))
     dlg.codigo_cuartel = model.get_value(it, CODIGO_CUARTEL)
     dlg.pecCuartel.set_selected(True)
     
     dlg.entSector.set_text(model.get_value(it, DESCRIPCION_SECTOR))
     
     dlg.entTemporada.set_text(model.get_value(it, DESCRIPCION_TEMPORADA))
     dlg.codigo_temporada = model.get_value(it, CODIGO_TEMPORADA)
     dlg.pecTemporada.set_selected(True)
        
     dlg.editando = (True)
     response = dlg.dlgCultivoTemporada.run()
     if response == gtk.RESPONSE_OK:
         self.modelo.clear()
         self.carga_datos()
예제 #7
0
파일: wnFicha.py 프로젝트: esanmartin/agro
 def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
     if self.entRUT.get_text() =="  .   .   - ":
         dialogos.error("El campo <b>Rut ficha</b> no puede estar vacío")
         return
     if not comunes.es_rut(self.entRUT.get_text()):
         dialogos.error("<b>El R.U.T. no corresponde</b>")
         return
     if self.entDescripcion.get_text() == "":
         dialogos.error("El campo <b>Descripción Ficha</b> no puede estar vacío")
         return
     
     if self.codigo_tipo_ficha is None:
         dialogos.error("Debe escoger un <b>Tipo Ficha</b>")
         return
     
     campos = {}
     llaves = {}
     campos['descripcion_ficha']  = self.entDescripcion.get_text().upper()
     campos['codigo_tipo_ficha'] = self.codigo_tipo_ficha
     if not self.editando:
         campos['rut']  = self.entRUT.get_text().upper()
         sql = ifd.insertFromDict(schema + "." + table, campos)
         
     else:
         llaves['rut'] = self.entRUT.get_text().upper()
         sql, campos=ifd.updateFromDict(schema + "." + table, campos, llaves)
     try:   
         self.cursor.execute(sql, campos)
         self.dlgFicha.hide()
     except:
         print sys.exc_info()[1]
         rut = self.entRUT
         dialogos.error("En la Base de Datos ya existe el RUT %s"%campos['rut'])
         self.entRUT.grab_focus()
예제 #8
0
    def on_btnPropiedades_clicked(self, btn=None):

        model, it = self.treeTemporada.get_selection().get_selected()
        if model is None or it is None:
            dialogos.error("Seleccione una Temporada para editar.")
            return

        dlg = dlgTemporada(self.cnx, self.frm_padre, False)
        dlg.entCodigo.set_text(model.get_value(it, CODIGO))
        fecha = comunes.GetDateFromModel(
            model.get_value(it, INICIO).split()[0])

        dlg.entInicio.set_date(fecha)
        fecha = comunes.GetDateFromModel(
            model.get_value(it, TERMINO).split()[0])
        dlg.entTermino.set_date(fecha)

        if model.get_value(it, ABIERTA):
            dlg.chkAbierta.set_active(True)

        dlg.editando = True
        response = dlg.dlgTemporada.run()
        if response == gtk.RESPONSE_OK:
            self.modelo.clear()
            self.carga_datos()
예제 #9
0
 def on_btnQuitar_clicked(self, btn=None):
     
     selection = self.treeCultivoTemporada.get_selection()
     model, it = selection.get_selected()
     if model is None or it is None:
         return
     
     cultivo = model.get_value(it, CODIGO_CULTIVO)
     cuartel = model.get_value(it, CODIGO_CUARTEL)
     temporada = model.get_value(it, CODIGO_TEMPORADA)
     llaves = {}
     
     if dialogos.yesno("¿Desea eliminar el cultivo temporada "+ 
                       "<b>%s/%s/%s</b>?\nEsta acción no se puede deshacer\n"
                      % (cultivo,cuartel,temporada), self.frm_padre) == gtk.RESPONSE_YES:
         try:
             llaves['codigo_cultivo'] = cultivo
             llaves['codigo_cuartel'] = cuartel
             llaves['codigo_temporada'] = temporada
             sql = ifd.deleteFromDict(config.schema + '.' + table, llaves)
             self.cursor.execute(sql, llaves)
             model.remove(it)
         except:
              print sys.exc_info()[1]
              dialogos.error("<b>NO SE PUEDE ELIMINAR</b>\nExisten datos"+ 
             "relacionados con:\n<b>%s/%s/%s</b>"%cultivo,cuartel,temporada)
예제 #10
0
    def on_btnInsertar_clicked(self, btn=None, date=None, cnx=None):

        if self.entDescripcion.get_text() == "":
            dialogos.error(
                "El campo <b>Descripción Cuartel</b> no puede estar vacío")
            return

        if self.codigo_sector is None:
            dialogos.error("Debe escoger un <b>Cuartel</b>")
            return

        campos = {}
        llaves = {}
        campos['descripcion_cuartel'] = self.entDescripcion.get_text().upper()
        campos['codigo_sector'] = self.codigo_sector

        if not self.editando:
            sql = ifd.insertFromDict(schema + "." + table, campos)
        else:
            llaves['codigo_cuartel'] = self.entCodigo.get_text()
            sql, campos = ifd.updateFromDict(schema + "." + table, campos,
                                             llaves)

        try:
            self.cursor.execute(sql, campos)
            self.entDescripcion.set_text("")
            self.entDescripcion.grab_focus()
            self.padre.carga_datos()
        except:
            print sys.exc_info()[1]
            print sql
예제 #11
0
 def on_btnPropiedades_clicked(self, btn=None):
     model, it = self.treeLaborHilera.get_selection().get_selected()
     if model is None or it is None:
         dialogos.error("Seleccione una Labor Hilera para editar.") #TODO: HACERLO PARA TODOS!!!!
         return
     dlg = dlgLaborHilera(self.cnx, self.frm_padre, False)
     
     dlg.entLabor.set_text(model.get_value(it, DESCRIPCION_LABOR))
     dlg.codigo_labor = model.get_value(it, CODIGO_LABOR)
     dlg.pecLabor.set_selected(True)
     
     dlg.entCuartel.set_text(model.get_value(it, DESCRIPCION_CUARTEL))
     dlg.codigo_cuartel = model.get_value(it, CODIGO_CUARTEL)
     dlg.pecCuartel.set_selected(True)
     dlg.codigo_hilera = model.get_value(it, CODIGO_HILERA)
     dlg.sel_cuartel(None, self.modelo, None)
     
     dlg.entFicha.set_text(model.get_value(it, DESCRIPCION_FICHA))
     dlg.rut = model.get_value(it, RUT)
     dlg.pecFicha.set_selected(True)
     
     dlg.entFecha.set_date(comunes.GetDateFromModel(model.get_value(it, FECHA).split()[0]))
     
     dlg.editando = (True)
     response = dlg.dlgLaborHilera.run()
     if response == gtk.RESPONSE_OK:
         self.modelo.clear()
         self.carga_datos()
예제 #12
0
 def on_btnPropiedades_clicked(self, btn=None):
     model, it = self.treeSector.get_selection().get_selected()
     if model is None or it is None:
         dialogos.error("Seleccione un Sector para editar.")
         return
     dlg = dlgSector(self.cnx, self.frm_padre, False)
     dlg.entDescripcion.set_text(model.get_value(it, DESCRIPCION))
     dlg.entCodigo.set_text(model.get_value(it, CODIGO_SECTOR))
     dlg.editando = (True)
     response = dlg.dlgSector.run()
     if response == gtk.RESPONSE_OK:
         self.modelo.clear()
         self.carga_datos()
예제 #13
0
파일: wnFicha.py 프로젝트: esanmartin/agro
 def on_btnPropiedades_clicked(self, btn=None):
     model, it = self.treeFicha.get_selection().get_selected()
     if model is None or it is None:
         dialogos.error("Seleccione una Ficha para editar.")
         return
     dlg = dlgFicha(self.cnx, self.frm_padre, False)
     dlg.entTipoFicha.set_text(model.get_value(it, DESCRIPCION_TIPO_FICHA))
     dlg.codigo_tipo_ficha = model.get_value(it, CODIGO_TIPO_FICHA)
     dlg.pecTipoFicha.set_selected(True)
     dlg.entDescripcion.set_text(model.get_value(it, DESCRIPCION))
     dlg.entRUT.set_text(model.get_value(it, RUT_FICHA))
     dlg.editando = (True)
     response = dlg.dlgFicha.run()
     if response == gtk.RESPONSE_OK:
         self.modelo.clear()
         self.carga_datos()
예제 #14
0
 def on_btnQuitar_clicked(self, btn=None):
     
     model, it = self.treeVariedad.get_selection().get_selected()
     if model is None or it is None:
         return
     descripcion = model.get_value(it, DESCRIPCION)
     
     if dialogos.yesno("¿Desea eliminar la Variedad <b>%s</b>?\nEsta acción no se puede deshacer\n" % descripcion, self.frm_padre) == gtk.RESPONSE_YES:
         llaves={'descripcion_variedad':descripcion}
         sql = ifd.deleteFromDict(schema + "." + table, llaves)
         try:
             self.cursor.execute(sql, llaves)
             model.remove(it)
         except:
             print sys.exc_info()[1]
             dialogos.error("<b>NO SE PUEDE ELIMINAR</b>\nLa Variedad <b>%s</b>, esta relacionada con un producto"%descripcion)
예제 #15
0
파일: wnFicha.py 프로젝트: felipelx07/agro
 def on_btnPropiedades_clicked(self, btn=None):
     model, it = self.treeFicha.get_selection().get_selected()
     if model is None or it is None:
         dialogos.error("Seleccione una Ficha para editar.")
         return
     dlg = dlgFicha(self.cnx, self.frm_padre, False)
     dlg.entTipoFicha.set_text(model.get_value(it, DESCRIPCION_TIPO_FICHA))
     dlg.codigo_tipo_ficha = model.get_value(it, CODIGO_TIPO_FICHA)
     dlg.pecTipoFicha.set_selected(True)
     dlg.entDescripcion.set_text(model.get_value(it, DESCRIPCION))
     dlg.entRUT.set_text(model.get_value(it, RUT_FICHA))
     dlg.editando = (True)
     response = dlg.dlgFicha.run()
     if response == gtk.RESPONSE_OK:
         self.modelo.clear()
         self.carga_datos()
예제 #16
0
파일: wnLabor.py 프로젝트: esanmartin/agro
 def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
     if self.entDescripcion.get_text() == "":
         dialogos.error("El campo <b>Descripción Labor</b> no puede estar vacío")
         return
     
     campos = {}
     llaves = {}
     campos['descripcion_labor']  = self.entDescripcion.get_text().upper()
     if not self.editando:
         sql = ifd.insertFromDict(schema + "." + table, campos)
         
     else:
         llaves['codigo_labor'] = self.entCodigo.get_text().upper()
         sql, campos=ifd.updateFromDict(schema + "." + table, campos, llaves)
         
     self.cursor.execute(sql, campos)
     self.dlgLabor.hide()
예제 #17
0
 def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
     if self.entDescripcion.get_text() == "":
         dialogos.error("El campo <b>Descripción Variedad</b> no puede estar vacío")
         return
     
     campos = {}
     llaves = {}
     campos['descripcion_variedad']  = self.entDescripcion.get_text().upper()
     if not self.editando:
         sql = ifd.insertFromDict(schema + "." + table, campos)
         
     else:
         llaves['codigo_variedad'] = self.entCodigo.get_text().upper()
         sql, campos=ifd.updateFromDict(schema + "." + table, campos, llaves)
         
     self.cursor.execute(sql, campos)
     self.dlgVariedad.hide()
예제 #18
0
 def on_btnQuitar_clicked(self, btn=None):
     
     selection = self.treeRegistroEstadoFenologico.get_selection()
     model, it = selection.get_selected()
     if model is None or it is None:
         return
     
     codigo = model.get_value(it, CODIGO_REGISTRO_ESTADO_FENOLOGICO)
     
     if dialogos.yesno("¿Desea eliminar el Registro de Estado Fenologico <b>%s</b>?\nEsta acción no se puede deshacer\n" % codigo, self.frm_padre) == gtk.RESPONSE_YES:
         try:
             llaves = {'codigo_registro_estado_fenologico':codigo}
             sql = ifd.deleteFromDict(config.schema + '.' + table, llaves)
             self.cursor.execute(sql, llaves)
             model.remove(it)
         except:
              print sys.exc_info()[1]
              dialogos.error("<b>NO SE PUEDE ELIMINAR</b>\nExisten datos relacionados con:\n<b>%s</b>"%codigo)
예제 #19
0
    def on_btnQuitar_clicked(self, btn=None):
        selection = self.treeSector.get_selection()
        model, it = selection.get_selected()
        if model is None or it is None:
            return

        codigo_sector = model.get_value(it, CODIGO_SECTOR)
        descripcion = model.get_value(it, DESCRIPCION)

        if dialogos.yesno("¿Desea eliminar el Sector <b>%s</b>?\nEsta acción no se puede deshacer\n" % descripcion, self.frm_padre) == gtk.RESPONSE_YES:
            try:
                llaves = {'codigo_sector':codigo_sector}
                sql = ifd.deleteFromDict(config.schema + '.' + table, llaves)
                self.cursor.execute(sql, llaves)
                model.remove(it)
            except:
                 print sys.exc_info()[1]
                 dialogos.error("<b>NO SE PUEDE ELIMINAR</b>\nExisten datos relacionados con:\n<b>%s</b>"%descripcion)
예제 #20
0
 def on_btnQuitar_clicked(self, btn=None):
     selection = self.treeProducto.get_selection()
     model, it = selection.get_selected()
     if model is None or it is None:
         return
     
     codigo_producto = model.get_value(it, CODIGO_PRODUCTO)
     descripcion = model.get_value(it, DESCRIPCION)
     
     if dialogos.yesno("¿Desea eliminar el Producto <b>%s</b>?\nEsta acción no se puede deshacer\n" % descripcion, self.frm_padre) == gtk.RESPONSE_YES:
         try:
             llaves = {'codigo_producto':codigo_producto}
             sql = ifd.deleteFromDict(config.schema + '.' + table, llaves)
             self.cursor.execute(sql, llaves)
             model.remove(it)
         except:
              print sys.exc_info()[1]
              dialogos.error("<b>NO SE PUEDE ELIMINAR</b>\nExisten datos relacionados con:\n<b>%s</b>"%descripcion)
예제 #21
0
파일: wnFicha.py 프로젝트: esanmartin/agro
 def on_btnQuitar_clicked(self, btn=None):
     selection = self.treeFicha.get_selection()
     model, it = selection.get_selected()
     if model is None or it is None:
         return
     
     rut = model.get_value(it, RUT_FICHA)
     descripcion = model.get_value(it, DESCRIPCION)
     
     if dialogos.yesno("¿Desea eliminar la Ficha <b>%s</b>?\nEsta acción no se puede deshacer\n" % descripcion, self.frm_padre) == gtk.RESPONSE_YES:
         try:
             llaves = {'rut':rut}
             sql = ifd.deleteFromDict(config.schema + '.ficha', llaves)
             self.cursor.execute(sql, llaves)
             model.remove(it)
         except:
              print sys.exc_info()[1]
              dialogos.error("<b>NO SE PUEDE ELIMINAR</b>\nExisten datos relacionados con:\n<b>%s</b>"%descripcion)
예제 #22
0
    def on_btnPropiedades_clicked(self, btn=None):

        model, it = self.treeEstadoFenologico.get_selection().get_selected()
        if model is None or it is None:
            dialogos.error("Seleccione un Estado Fenologico para editar.")
            return
        dlg = dlgEstadoFenologico(self.cnx, self.frm_padre, False)
        dlg.entCodigo.set_text(model.get_value(it, CODIGO))
        dlg.entDescripcion.set_text(model.get_value(it, DESCRIPCION))

        dlg.entCultivo.set_text(model.get_value(it, DESCRIPCION_CULTIVO))
        dlg.codigo_cultivo = model.get_value(it, CODIGO_CULTIVO)
        dlg.pecCultivo.set_selected(True)

        dlg.editando = True
        response = dlg.dlgEstadoFenologico.run()
        if response == gtk.RESPONSE_OK:
            self.modelo.clear()
            self.carga_datos()
예제 #23
0
    def on_btnPropiedades_clicked(self, btn=None):

        model, it = self.treeEstadoFenologico.get_selection().get_selected()
        if model is None or it is None:
            dialogos.error("Seleccione un Estado Fenologico para editar.")
            return
        dlg = dlgEstadoFenologico(self.cnx, self.frm_padre, False)
        dlg.entCodigo.set_text(model.get_value(it, CODIGO))
        dlg.entDescripcion.set_text(model.get_value(it, DESCRIPCION))
        
        dlg.entCultivo.set_text(model.get_value(it, DESCRIPCION_CULTIVO))
        dlg.codigo_cultivo = model.get_value(it, CODIGO_CULTIVO)
        dlg.pecCultivo.set_selected(True)
        
        dlg.editando = True
        response = dlg.dlgEstadoFenologico.run()
        if response == gtk.RESPONSE_OK:
            self.modelo.clear()
            self.carga_datos()
예제 #24
0
 def on_btnPropiedades_clicked(self, btn=None):
     model, it = self.treeHilera.get_selection().get_selected()
     if model is None or it is None:
         dialogos.error("Seleccione una Hilera para editar.")
         return
     dlg = dlgHilera(self.cnx, self.frm_padre, False)
     dlg.entVariedad.set_text(model.get_value(it, DESCRIPCION_VARIEDAD))
     dlg.codigo_variedad = model.get_value(it, CODIGO_VARIEDAD)
     dlg.pecVariedad.set_selected(True)
     dlg.entCuartel.set_text(model.get_value(it, DESCRIPCION_CUARTEL))
     dlg.codigo_cuartel = model.get_value(it, CODIGO_CUARTEL)
     dlg.pecCuartel.set_selected(True)
     dlg.entDescripcion.set_text(model.get_value(it, DESCRIPCION))
     dlg.entCodigo.set_text(model.get_value(it, CODIGO_HILERA))
     dlg.entSuperficie.set_text(model.get_value(it, SUPERFICIE))
     dlg.editando = (True)
     response = dlg.dlgHilera.run()
     if response == gtk.RESPONSE_OK:
         self.modelo.clear()
         self.carga_datos()
예제 #25
0
 def on_btnPropiedades_clicked(self, btn=None):
     model, it = self.treeProducto.get_selection().get_selected()
     if model is None or it is None:
         dialogos.error("Seleccione un Producto para editar.")
         return
     dlg = dlgProducto(self.cnx, self.frm_padre, False)
     dlg.entUnidad.set_text(model.get_value(it, DESCRIPCION_UNIDAD))
     dlg.codigo_unidad = model.get_value(it, CODIGO_UNIDAD)
     dlg.pecUnidad.set_selected(True)
     dlg.entDescripcion.set_text(model.get_value(it, DESCRIPCION))
     dlg.entCodigo.set_text(model.get_value(it, CODIGO_PRODUCTO))
     dlg.entDosis.set_text(model.get_value(it, DOSIS_PROPUESTA))
     dlg.entUnidadDosis.set_text(model.get_value(it, DESCRIPCION_UNIDAD_DOSIS))
     dlg.codigo_unidad_dosis = model.get_value(it, CODIGO_UNIDAD_DOSIS)
     #dlg.pecUnidadDosis.set_selected(True)
     dlg.editando = (True)
     response = dlg.dlgProducto.run()
     if response == gtk.RESPONSE_OK:
         self.modelo.clear()
         self.carga_datos()
예제 #26
0
파일: wnHilera.py 프로젝트: esanmartin/agro
 def on_btnPropiedades_clicked(self, btn=None):
     model, it = self.treeHilera.get_selection().get_selected()
     if model is None or it is None:
         dialogos.error("Seleccione una Hilera para editar.")
         return
     dlg = dlgHilera(self.cnx, self.frm_padre, False)
     dlg.entVariedad.set_text(model.get_value(it, DESCRIPCION_VARIEDAD))
     dlg.codigo_variedad = model.get_value(it, CODIGO_VARIEDAD)
     dlg.pecVariedad.set_selected(True)
     dlg.entCuartel.set_text(model.get_value(it, DESCRIPCION_CUARTEL))
     dlg.codigo_cuartel = model.get_value(it, CODIGO_CUARTEL)
     dlg.pecCuartel.set_selected(True)
     dlg.entDescripcion.set_text(model.get_value(it, DESCRIPCION))
     dlg.entCodigo.set_text(model.get_value(it, CODIGO_HILERA))
     dlg.entSuperficie.set_text(model.get_value(it, SUPERFICIE))
     dlg.editando = (True)
     response = dlg.dlgHilera.run()
     if response == gtk.RESPONSE_OK:
         self.modelo.clear()
         self.carga_datos()
예제 #27
0
 def on_btnPropiedades_clicked(self, btn=None):
     model, it = self.treeProducto.get_selection().get_selected()
     if model is None or it is None:
         dialogos.error("Seleccione un Producto para editar.")
         return
     dlg = dlgProducto(self.cnx, self.frm_padre, False)
     dlg.entUnidad.set_text(model.get_value(it, DESCRIPCION_UNIDAD))
     dlg.codigo_unidad = model.get_value(it, CODIGO_UNIDAD)
     dlg.pecUnidad.set_selected(True)
     dlg.entDescripcion.set_text(model.get_value(it, DESCRIPCION))
     dlg.entCodigo.set_text(model.get_value(it, CODIGO_PRODUCTO))
     dlg.entDosis.set_text(model.get_value(it, DOSIS_PROPUESTA))
     dlg.entUnidadDosis.set_text(
         model.get_value(it, DESCRIPCION_UNIDAD_DOSIS))
     dlg.codigo_unidad_dosis = model.get_value(it, CODIGO_UNIDAD_DOSIS)
     #dlg.pecUnidadDosis.set_selected(True)
     dlg.editando = (True)
     response = dlg.dlgProducto.run()
     if response == gtk.RESPONSE_OK:
         self.modelo.clear()
         self.carga_datos()
예제 #28
0
 def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
     
     if self.entDescripcion.get_text() == "":
         dialogos.error("El campo <b>Descripción Producto</b> no puede estar vacío")
         return
     
     if self.entDosis.get_text() == "":
         dialogos.error("Especifique la Dosis Propuesta.")
     
     if self.codigo_unidad is None:
         dialogos.error("Debe escoger una <b>Unidad</b>")
         return
     
     campos = {}
     llaves = {}
     campos['dosis_propuesta']  = self.entDosis.get_text().upper()
     campos['descripcion_producto']  = self.entDescripcion.get_text().upper()
     campos['codigo_unidad'] = self.codigo_unidad
     campos['codigo_unidad_dosis'] = self.codigo_unidad
     
     
     if not self.editando:
         sql = ifd.insertFromDict(schema + "." + table, campos)        
     else:
         llaves['codigo_producto'] = self.entCodigo.get_text()
         sql, campos=ifd.updateFromDict(schema + "." + table, campos, llaves)
     
     try:   
         self.cursor.execute(sql, campos)
         self.dlgProducto.hide()
     except:
         print sys.exc_info()[1]
         print sql
예제 #29
0
파일: wnHilera.py 프로젝트: esanmartin/agro
 def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
     
     if self.entDescripcion.get_text() == "":
         dialogos.error("El campo <b>Descripción Hilera</b> no puede estar vacío")
         return
     
     if self.entSuperficie.get_text() == "":
         dialogos.error("")
     
     if self.codigo_cuartel is None:
         dialogos.error("Debe escoger una <b>Hilera</b>")
         return
     
     campos = {}
     llaves = {}
     campos['superficie']  = self.entSuperficie.get_text().upper()
     campos['descripcion_hilera']  = self.entDescripcion.get_text().upper()
     campos['codigo_cuartel'] = self.codigo_cuartel
     campos['codigo_variedad'] = self.codigo_variedad
     
     
     if not self.editando:
         sql = ifd.insertFromDict(schema + "." + table, campos)        
     else:
         llaves['codigo_hilera'] = self.entCodigo.get_text()
         sql, campos=ifd.updateFromDict(schema + "." + table, campos, llaves)
     
     try:   
         self.cursor.execute(sql, campos)
         self.dlgHilera.hide()
         self.padre.carga_datos()
     except:
         print sys.exc_info()[1]
         print sql
예제 #30
0
    def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):

        if self.entDescripcion.get_text() == "":
            dialogos.error(
                "El campo <b>Descripción Hilera</b> no puede estar vacío")
            return

        if self.entSuperficie.get_text() == "":
            dialogos.error("")

        if self.codigo_cuartel is None:
            dialogos.error("Debe escoger una <b>Hilera</b>")
            return

        campos = {}
        llaves = {}
        campos['superficie'] = self.entSuperficie.get_text().upper()
        campos['descripcion_hilera'] = self.entDescripcion.get_text().upper()
        campos['codigo_cuartel'] = self.codigo_cuartel
        campos['codigo_variedad'] = self.codigo_variedad

        if not self.editando:
            sql = ifd.insertFromDict(schema + "." + table, campos)
        else:
            llaves['codigo_hilera'] = self.entCodigo.get_text()
            sql, campos = ifd.updateFromDict(schema + "." + table, campos,
                                             llaves)

        try:
            self.cursor.execute(sql, campos)
            self.dlgHilera.hide()
            self.padre.carga_datos()
        except:
            print sys.exc_info()[1]
            print sql
예제 #31
0
    def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):

        if self.entDescripcion.get_text() == "":
            dialogos.error(
                "El campo <b>Descripción Producto</b> no puede estar vacío")
            return

        if self.entDosis.get_text() == "":
            dialogos.error("Especifique la Dosis Propuesta.")

        if self.codigo_unidad is None:
            dialogos.error("Debe escoger una <b>Unidad</b>")
            return

        campos = {}
        llaves = {}
        campos['dosis_propuesta'] = self.entDosis.get_text().upper()
        campos['descripcion_producto'] = self.entDescripcion.get_text().upper()
        campos['codigo_unidad'] = self.codigo_unidad
        campos['codigo_unidad_dosis'] = self.codigo_unidad

        if not self.editando:
            sql = ifd.insertFromDict(schema + "." + table, campos)
        else:
            llaves['codigo_producto'] = self.entCodigo.get_text()
            sql, campos = ifd.updateFromDict(schema + "." + table, campos,
                                             llaves)

        try:
            self.cursor.execute(sql, campos)
            self.dlgProducto.hide()
        except:
            print sys.exc_info()[1]
            print sql
예제 #32
0
    def on_btnQuitar_clicked(self, btn=None):

        selection = self.treeRegistroEstadoFenologico.get_selection()
        model, it = selection.get_selected()
        if model is None or it is None:
            return

        codigo = model.get_value(it, CODIGO_REGISTRO_ESTADO_FENOLOGICO)

        if dialogos.yesno(
                "¿Desea eliminar el Registro de Estado Fenologico <b>%s</b>?\nEsta acción no se puede deshacer\n"
                % codigo, self.frm_padre) == gtk.RESPONSE_YES:
            try:
                llaves = {'codigo_registro_estado_fenologico': codigo}
                sql = ifd.deleteFromDict(config.schema + '.' + table, llaves)
                self.cursor.execute(sql, llaves)
                model.remove(it)
            except:
                print sys.exc_info()[1]
                dialogos.error(
                    "<b>NO SE PUEDE ELIMINAR</b>\nExisten datos relacionados con:\n<b>%s</b>"
                    % codigo)
예제 #33
0
    def sel_cultivo(self, completion, model, iter):
        if completion is not None:
            self.codigo_cultivo = model.get_value(iter, 1)

        strSelectCuartel = """SELECT 
                            c.descripcion_cuartel,
                            ct.codigo_cuartel 
                            FROM """ + config.schema + """.cultivo_temporada ct 
                            INNER JOIN """ + config.schema + """.cuartel c 
                            ON c.codigo_cuartel = ct.codigo_cuartel WHERE """
        if completion is None:
            strSelectCuartel = strSelectCuartel + """ct.codigo_cuartel = """ + self.codigo_cuartel + """ AND """

        strSelectCuartel = strSelectCuartel + """ ct.codigo_cultivo = """ + self.codigo_cultivo + """ 
                            ORDER BY ct.codigo_cuartel"""

        columnas = []
        columnas.append([SELECCIONADO, "Sel", "bool"])
        columnas.append([D_CUARTEL, "Cuartel", "str"])

        m = ifd.ListStoreFromSQL(self.cnx, strSelectCuartel)
        self.modelo_cuartel = gtk.ListStore(bool, str, str)
        try:
            for x in m:
                if completion is not None:
                    self.modelo_cuartel.append((False, x[0], x[1]))
                else:
                    self.modelo_cuartel.append((True, x[0], x[1]))
        except:
            #TODO: COLOCAR UN MENSAJE MÁS CLARO.
            dialogos.error(
                "No existen cultivos para la temporada en los cuarteles.")
            return

        SimpleTree.GenColsByModel(self.modelo_cuartel, columnas,
                                  self.treeCuartel)
        self.col_data = [x[0] for x in columnas]

        self.treeCuartel.set_model(self.modelo_cuartel)
예제 #34
0
    def query(self):

        self.is_filter = False
        try:
            cursor = self.db_connection.cursor()
            cursor.execute(self.query_db)
            self.recordset = cursor.fetchall()
        except:
            mensaje = str(sys.exc_info()[1])
            dialogos.error("No se pudo realizar la consulta a la base de datos", mensaje, parent=self.padre)
            return False

        if not self.recordset:
            dialogos.error("No existen datos para la búsqueda", parent=self.padre)
            return False


        cols = len(self.recordset[0])
        types = cols * [str]
        self.store = gtk.ListStore(*types)
        self.is_filter = True
        return True
예제 #35
0
 def sel_cultivo(self, completion, model, iter):
     if completion is not None:
         self.codigo_cultivo = model.get_value(iter, 1)
     
     strSelectCuartel = """SELECT 
                         c.descripcion_cuartel,
                         ct.codigo_cuartel 
                         FROM """ + config.schema + """.cultivo_temporada ct 
                         INNER JOIN """ + config.schema + """.cuartel c 
                         ON c.codigo_cuartel = ct.codigo_cuartel WHERE """
     if completion is None:
         strSelectCuartel = strSelectCuartel + """ct.codigo_cuartel = """ + self.codigo_cuartel +""" AND """
     
     strSelectCuartel = strSelectCuartel + """ ct.codigo_cultivo = """ + self.codigo_cultivo + """ 
                         ORDER BY ct.codigo_cuartel"""
                         
     columnas = []
     columnas.append ([SELECCIONADO, "Sel", "bool"])
     columnas.append ([D_CUARTEL, "Cuartel","str"])
     
     m = ifd.ListStoreFromSQL(self.cnx, strSelectCuartel)
     self.modelo_cuartel = gtk.ListStore(bool, str, str)
     try:
         for x in m:
             if completion is not None:
                 self.modelo_cuartel.append((False, x[0], x[1]))
             else:
                 self.modelo_cuartel.append((True, x[0], x[1]))
     except:
         #TODO: COLOCAR UN MENSAJE MÁS CLARO.
         dialogos.error("No existen cultivos para la temporada en los cuarteles.")
         return
     
     SimpleTree.GenColsByModel(self.modelo_cuartel, columnas, self.treeCuartel)
     self.col_data = [x[0] for x in columnas]
     
     self.treeCuartel.set_model(self.modelo_cuartel)
예제 #36
0
파일: wnFicha.py 프로젝트: felipelx07/agro
    def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
        if self.entRUT.get_text() == "  .   .   - ":
            dialogos.error("El campo <b>Rut ficha</b> no puede estar vacío")
            return
        if not comunes.es_rut(self.entRUT.get_text()):
            dialogos.error("<b>El R.U.T. no corresponde</b>")
            return
        if self.entDescripcion.get_text() == "":
            dialogos.error(
                "El campo <b>Descripción Ficha</b> no puede estar vacío")
            return

        if self.codigo_tipo_ficha is None:
            dialogos.error("Debe escoger un <b>Tipo Ficha</b>")
            return

        campos = {}
        llaves = {}
        campos['descripcion_ficha'] = self.entDescripcion.get_text().upper()
        campos['codigo_tipo_ficha'] = self.codigo_tipo_ficha
        if not self.editando:
            campos['rut'] = self.entRUT.get_text().upper()
            sql = ifd.insertFromDict(schema + "." + table, campos)

        else:
            llaves['rut'] = self.entRUT.get_text().upper()
            sql, campos = ifd.updateFromDict(schema + "." + table, campos,
                                             llaves)
        try:
            self.cursor.execute(sql, campos)
            self.dlgFicha.hide()
        except:
            print sys.exc_info()[1]
            rut = self.entRUT
            dialogos.error("En la Base de Datos ya existe el RUT %s" %
                           campos['rut'])
            self.entRUT.grab_focus()
예제 #37
0
    def sel_cuartel(self, completion, model, iter):
        if completion is not None:
            self.codigo_cuartel = model.get_value(iter, 1)

        strSelectHilera = """SELECT
                            f.descripcion_hilera,
                            f.codigo_hilera 
                            FROM """ + config.schema + """.hilera f WHERE """
        if completion is None:
            strSelectHilera = strSelectHilera + """f.codigo_hilera = """ + self.codigo_hilera + """ AND """

        strSelectHilera = strSelectHilera + """ f.codigo_cuartel = """ + self.codigo_cuartel + """ 
                            ORDER BY f.codigo_hilera"""

        columnas = []
        columnas.append([SELECCIONADO, "Sel", "bool"])
        columnas.append([D_HILERA, "Hilera", "str"])

        m = ifd.ListStoreFromSQL(self.cnx, strSelectHilera)
        self.modelo_hilera = gtk.ListStore(bool, str, str)

        try:
            for x in m:
                if completion is not None:
                    self.modelo_hilera.append((False, x[0], x[1]))
                else:
                    self.modelo_hilera.append((True, x[0], x[1]))
        except:
            dialogos.error("El cuartel no tiene hileras.")
            return

        SimpleTree.GenColsByModel(self.modelo_hilera, columnas,
                                  self.treeHilera)
        self.col_data = [x[0] for x in columnas]

        self.treeHilera.set_model(self.modelo_hilera)
예제 #38
0
 def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
     if self.entCultivo.get_text() == "":
         dialogos.error("El cultivo no puede ser vacio.")
         return
     
     if self.entCuartel.get_text() == "":
         dialogos.error("El cuartel no puede ser vacio.")
         return
     
     if self.entTemporada.get_text() == "":
         dialogos.error("La temporada no puede ser vacia.")
         return
     
     campos = {}
     llaves = {}
     campos['codigo_cultivo'] = self.codigo_cultivo
     campos['codigo_cuartel'] = self.codigo_cuartel
     campos['codigo_temporada'] = self.codigo_temporada
     
     if not self.editando:
         sql = ifd.insertFromDict(schema + "." + table, campos)        
     else:
         try:
             llaves['codigo_cultivo'] = cultivo
             llaves['codigo_cuartel'] = cuartel
             llaves['codigo_temporada'] = temporada
             sql = ifd.deleteFromDict(config.schema + '.' + table, llaves)
             self.cursor.execute(sql, llaves)
         except:
              print sys.exc_info()[1]
              dialogos.error("<b>NO SE PUEDE ELIMINAR</b>\nExisten datos"+ 
             "relacionados con:\n<b>%s/%s/%s</b>" % 
             (cultivo,cuartel,temporada))
         
         sql = ifd.insertFromDict(schema + "." + table, campos)
     
     try:   
         self.cursor.execute(sql, campos)
         self.dlgCultivoTemporada.hide()
     except:
         print sys.exc_info()[1]
         print sql
예제 #39
0
    def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):

        fecha = self.entFecha.get_date()
        cuartel_true = None

        if self.modelo_cuartel == None:
            dialogos.error("Seleccione un cultivo y un cuartel.")
            return

        if self.entEstadoFenologico.get_text() == "":
            dialogos.error("El estado fenologico no puede ser vacio.")
            return

        campos = {}
        llaves = {}
        campos['fecha'] = fecha.strftime("%Y/%m/%d")
        campos['codigo_temporada'] = self.codigo_temporada
        campos['codigo_estado_fenologico'] = self.codigo_estado_fenologico
        campos['codigo_cultivo'] = self.codigo_cultivo

        for i in self.modelo_cuartel:
            if i[0] == True:
                cuartel_true = 1
                campos['codigo_cuartel'] = i[2]

                if not self.editando:
                    sql = ifd.insertFromDict(schema + "." + table, campos)
                else:
                    llaves[
                        'codigo_registro_estado_fenologico'] = self.codigo_registro_estado_fenologico
                    sql, campos = ifd.updateFromDict(schema + "." + table,
                                                     campos, llaves)

                try:
                    self.cursor.execute(sql, campos)
                    self.entEstadoFenologico.hide()
                except:
                    print sys.exc_info()[1]
                    print sql

        if cuartel_true == None:
            dialogos.error("Seleccione un cuartel.")
            return
예제 #40
0
    def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):

        fecha = self.entFecha.get_date()
        hilera_true = None

        if self.modelo_hilera == None:
            dialogos.error("Seleccione un cuartel y una Hilera.")
            return

        if self.entFicha.get_text() == "":
            dialogos.error("La ficha no puede ser vacia.")
            return

        campos = {}
        llaves = {}
        campos['codigo_labor'] = self.codigo_labor
        campos['fecha'] = fecha.strftime("%Y/%m/%d")
        campos['rut'] = self.rut
        campos['codigo_cuartel'] = self.codigo_cuartel

        for i in self.modelo_hilera:
            if i[0] == True:
                hilera_true = 1
                campos['codigo_hilera'] = i[2]

                if not self.editando:
                    sql = ifd.insertFromDict(schema + "." + table, campos)
                else:
                    llaves['codigo_labor'] = self.codigo_labor
                    llaves['codigo_hilera'] = self.codigo_hilera
                    sql, campos = ifd.updateFromDict(schema + "." + table,
                                                     campos, llaves)

                try:
                    self.cursor.execute(sql, campos)
                    self.dlgLaborHilera.hide()
                except:
                    print sys.exc_info()[1]
                    print sql

        if hilera_true == None:
            dialogos.error("Seleccione una hilera.")
            return
예제 #41
0
 def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
     
     fecha = self.entFecha.get_date()
     hilera_true = None
     
     if self.modelo_hilera == None:
         dialogos.error("Seleccione un cuartel y una Hilera.")
         return
     
     if self.entFicha.get_text() == "":
         dialogos.error("La ficha no puede ser vacia.")
         return
     
     campos = {}
     llaves = {}
     campos['codigo_labor'] = self.codigo_labor
     campos['fecha'] = fecha.strftime("%Y/%m/%d")
     campos['rut']  = self.rut
     campos['codigo_cuartel'] = self.codigo_cuartel
     
     for i in self.modelo_hilera:
         if i[0] == True:
             hilera_true = 1
             campos['codigo_hilera'] = i[2]
             
             if not self.editando:
                 sql = ifd.insertFromDict(schema + "." + table, campos)        
             else:
                 llaves['codigo_labor'] = self.codigo_labor
                 llaves['codigo_hilera'] = self.codigo_hilera
                 sql, campos=ifd.updateFromDict(schema + "." + table, campos, llaves)
                 
             try:   
                 self.cursor.execute(sql, campos)
                 self.dlgLaborHilera.hide()
             except:
                 print sys.exc_info()[1]
                 print sql
             
     if hilera_true == None:
         dialogos.error("Seleccione una hilera.")
         return
예제 #42
0
 def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
     
     fecha = self.entFecha.get_date()
     cuartel_true = None
     
     if self.modelo_cuartel == None:
         dialogos.error("Seleccione un cultivo y un cuartel.")
         return
     
     if self.entEstadoFenologico.get_text() == "":
         dialogos.error("El estado fenologico no puede ser vacio.")
         return
     
     campos = {}
     llaves = {}
     campos['fecha'] = fecha.strftime("%Y/%m/%d")
     campos['codigo_temporada'] = self.codigo_temporada
     campos['codigo_estado_fenologico'] = self.codigo_estado_fenologico
     campos['codigo_cultivo'] = self.codigo_cultivo
         
     for i in self.modelo_cuartel:
         if i[0] == True:
             cuartel_true = 1
             campos['codigo_cuartel'] = i[2]
             
             if not self.editando:
                 sql = ifd.insertFromDict(schema + "." + table, campos)        
             else:
                 llaves['codigo_registro_estado_fenologico'] = self.codigo_registro_estado_fenologico
                 sql, campos=ifd.updateFromDict(schema + "." + table, campos, llaves)
                 
             try:   
                 self.cursor.execute(sql, campos)
                 self.entEstadoFenologico.hide()
             except:
                 print sys.exc_info()[1]
                 print sql
             
     if cuartel_true == None:
         dialogos.error("Seleccione un cuartel.")
         return
예제 #43
0
 def on_btnAceptar_clicked(self, btn=None, date=None, cnx=None):
     
     fecha = self.entFecha.get_date()
     hilera_true = None
     
     if self.modelo_hilera == None:
         dialogos.error("Seleccione un cuartel y una Hilera.")
         return
             
     if self.entProducto.get_text() == "":
         dialogos.error("El producto no puede ser vacio.")
         return
             
     if self.entMaquinaria.get_text() == "":
         dialogos.error("La maquinaria no puede ser vacia.")
         return
            
     if self.entImplemento.get_text() == "":
         dialogos.error("El implemento no puede ser vacio.")
         return
             
     if self.entDosis.get_text() == "":
         dialogos.error("La dosis no puede ser vacia.")
         return
     
     if self.entFicha.get_text() == "":
         dialogos.error("La ficha no puede ser vacia.")
         return
     
     if self.entTemporada.get_text() == "":
         dialogos.error("La temporada no puede ser vacia.")
         return
     
     campos = {}
     llaves = {}
     
     campos['codigo_producto'] = self.codigo_producto
     campos['dosis']  = self.entDosis.get_text().upper()
     campos['fecha'] = fecha.strftime("%Y/%m/%d")
     campos['rut']  = self.rut
     campos['codigo_maquinaria'] = self.codigo_maquinaria
     campos['codigo_implemento'] = self.codigo_implemento
     campos['codigo_temporada'] = self.codigo_temporada
     campos['codigo_cuartel'] = self.codigo_cuartel
     
     for i in self.modelo_hilera:
         if i[0] == True:
             hilera_true = 1
             campos['codigo_hilera'] = i[2]
     
             if not self.editando:
                 sql = ifd.insertFromDict(schema + "." + table, campos)        
             else:
                 llaves['codigo_aplicacion'] = self.entCodigo.get_text()
                 sql, campos=ifd.updateFromDict(schema + "." + table, campos, llaves)
     
             try:   
                 self.cursor.execute(sql, campos)
                 self.dlgAplicacion.hide()
             except:
                 print sys.exc_info()[1]
                 print sql
     
     if hilera_true == None:
         dialogos.error("Seleccione una hilera.")
         return