En alguna ocasión he necesitado deshabilitar todos los campos de un formulario sin cambiar el estado del registro.
Para hacer esto de forma sencilla, lo único que debemos hacer es poner el siguiente código en el evento OnLoad del formulario:
for (var index in crmForm.all) { var control = crmForm.all[index]; if (control.Disabled != null) { control.Disabled = true; }}
Simple y efectivo.