Ver Mensaje Individual
  #3  
Antiguo 10-07-2017
Tecnofacil Tecnofacil is offline
Miembro
 
Registrado: jun 2015
Posts: 50
Reputación: 9
Tecnofacil Va por buen camino
en la primer columna tengo un tilde "autorizado" al darle clic se ejecuta este codigo
Código Delphi [-]
    if Column.FieldName='auto' then      // Se le doy clic al check que se encuentra en la columna 'Autorizado'
      begin
        if fdq_maestroauto.value = 1 then //Si esta tildado pregunto
          begin
            if Application.MessageBox('El pedido aún no esta autorizado, Confirma?','Atención',MB_YESNO)=id_yes then
              begin
                fdq_maestroauto.value := 0;    // si responde 'Si' destildo
                fdq_maestro.Post;
                Dbgrid1.Repaint;
              end;
            end
          else    //Si no esta tildado pregunto
            begin
              if Application.MessageBox('El pedido ya esta autorizado o no requiere CAI, Confirma?','Atención',MB_YESNO)=id_yes then
                begin
                  fdq_maestroauto.value := 1; //Si responde si Tildo
                  fdq_maestro.Post;
                  Dbgrid1.Repaint;
                end;
            end;
        end;

Hasta ahí todo bien, la idea es que al darle clic al segundo check, de la segunda columna sería, verifique si el primer check esta tildado, o mejor dicho, si el valor del campo "auto" es 1.
Código Delphi [-]
      if Column.FieldName='armado' then
        begin
          if fdq_maestroarmado.value = 1 then
            begin
              if Application.MessageBox('El pedido aún no esta armado, Confirma?','Atención',MB_YESNO)=id_yes then
                begin
                  fdq_maestroarmado.value := 0;
                  fdq_maestro.Post;
                  Dbgrid1.Repaint;
                end;
            end
          else
            begin
              if fdq_maestroauto.Value = 1 then // verifico si el campo anterior esta tildado
                begin
                  if Application.MessageBox('El pedido ya esta armado, Confirma?','Atención',MB_YESNO)=id_yes then
                    begin
                      fdq_maestroarmado.value := 1;
                      fdq_maestro.Post;
                      Dbgrid1.Repaint;
                    end;
                end
                else
                begin
                  MessageBox(0, 'El pedido figura como "No autorizado"', 'ATENCIÓN', MB_ICONWARNING or MB_OK);
                  DBGrid1.Refresh;
                end;
            end;
          end;

Tambien funciona de mil maravillas, pero... si luego de que se ejecute este código le doy de nuevo a la primer columna, (FieldName = 'auto'), me vuelve a mostrar el mensaje de que no esta autorizado, y en el paso a paso corrobore que en esta linea de código
Código Delphi [-]
 if Column.FieldName='auto' then
El valor de FieldName es = 'armado' en lugar de ser 'auto' que es la columna que estoy dándole clic. Es como si la variable FieldName no se actualizara.
Imágenes Adjuntas
Tipo de Archivo: png 2017-07-10_09h23_13.png (8,0 KB, 11 visitas)

Última edición por Tecnofacil fecha: 10-07-2017 a las 16:53:30.
Responder Con Cita