La Web del Programador: Comunidad de Programadores
 
    Pregunta:  20217 - IMPEDIR MODIFICAR CLAVE PRIMARIA
Autor:  german dario tamayo zuluaga
como puedo hacer que al hacer retrieve en un datawindow, todas las claves primarias aparescan desactivadas para ser modificadas, pero que si quiero agragar una si me lo permita?

muchas gracias

  Respuesta:  Julio Castro
Lo que debes de hacer en la ventana en donde tienes tu datawindows es colocar una sentencia de la siguiente manera:

DW_EJEMPLO.OBJECT.campo_q_deseas_proteger.PROTECT = 1

Eso desactivara el campo del datawindows y no permitira actualizarlo.

Espero que te sirva.

Saludos

  Respuesta:  german dario tamayo zuluaga
La respuesta es la siguiente:
donde se edita el datawindow se da dobleclick sobre el campo que se quiere que posea este atributo. se debe dar no en el header sino en el campo que esta sobre el detail. en el cuadro de dialogo que aparece se da en la pestaƱa de expression y alli se da doble click sobre protect.
Aparece otro cuadro donde podemos validar un expression.

se debe poner:
if(isrownew(),0,1)
y ya queda listo. ejecuta el datawindow y veras que no se puede modificar el campo que elegiste, pero si insertas un nuevo registro si te permite hacerlo.
lo que dice la funcion es esto: si inserta una nueva fila (isrownew), entonces desproteja el campo (0), sino protejalo (0).