Il CRM 3.0 mette a disposizione un SDK da utilizzare a livello client, quindi utilizzando Javascript. Sono presenti moltissime funzionalità per interagire con i controlli sulla form ma, come capita spesso, non è presente quella che ci serve! Nel mio caso dovevo cambiare l'obbligarietà di alcuni campi basandomi sul valore selezionato dall'utente. Il SDK fornisce la proprietà RequiredLevel che, purtroppo, è read-only. Che fare? Ricorrere al puro Javascript.
Sono due le cose da fare:
- Cambiare il valore di class a "req": .className = "req"; In questo modo l'aspetto del campo sulla form assumerà quello di un campo obbligatorio.
- Utilizzare la proprietà req del controllo che dovrà essere puntato attraverso l'istruzione: document.all["<field_name>"].req = value. req è pari a 0 per campo non obbligatorio, 1 per campo consigliato e 2 per campo obbligatorio.
Il tutto può essere inserito sul gestore dell'evento onLoad della form oppure dell'evento onChange di un particolare campo.