Domanda

Capisco che un plugin registrato per esegue pre-validazione di fuori della transazione database, ma non sono sicuro che posso pensare a uno scenario in cui questo sarebbe preferibile pre-operazione. Qualcuno mi può dare un esempio di dove registrazione pre-validazione potrebbe essere utile?

È stato utile?

Soluzione

Abbiamo un paio di plugin registrati sul caso in cui il 'prevalidazione' anche se questo è il presupposto, non è in linea.

non ho scritto questi plugin specifici me stesso, ma mi può descrivere uno e dare la giustificazione per l'utilizzo di 'prevalidazione' piuttosto che 'PreOperation'.

Entità: account

Evento: Elimina

Logic: Plugin corre convalida pre. Verifica che non ci sono contatti riferimento a qualsiasi degli indirizzi dell'account. Se ne viene trovata, interrompere l'esecuzione. In caso contrario, conto di eliminazione.

per es.

Account 'StackOverflow' ha l'indirizzo 'Casa di Jeff Attwood' e Contact 'glosrob'. 'Glosrob' fa riferimento 'di Jeff Attwood Casa' attraverso una personalizzazione. Se l'utente seleziona per eliminare 'StackOverflow', dovremmo rilevare 'glosrob' fa riferimento un indirizzo e prevenire l'eliminazione.

Il ragionamento dietro questo è stato lo sviluppatore ha rilevato che nella fase PreOperation, alcuni aspetti della cancellazione Era già successo, vale a dire le eliminazioni a cascata. La logica del plugin ci impone di verificare tutti i contatti -. Registrandosi al PreOperation, contatti con l'account erano già stati eliminati, rendendo il controllo obsoleto

Nel nostro scenario precedente, quando l'utente seleziona la cancellazione di account 'StackOverflow', il contatto 'glosrob' sarebbe stato eliminato prima viene eseguito il plugin. Pertanto, quando il plugin ha funzionato poi, permetterebbe l'eliminazione.

Come con la maggior parte delle cose in CRM, tutto si riduce alle esigenze e soluzioni, ma credo che vi dà un'idea del perché / quando si potrebbe utilizzare una fase di preconvalida. Abbiamo un paio di altri con un ragionamento simile che correre sulla manifestazione 'Elimina'.

Altri suggerimenti

So che la sua molto vecchio post, è venuto qui mentre scavo per una risposta per la stessa domanda ... Più tardi ho trovato un punto chiave da MSDN sullo stesso argomento e ho pensato che sarebbe stato utile se vi posto l'infromation qui per tutti ..

Il plugin prevalidazione sarebbe accaduto prima dei controlli di sicurezza. Per esempio: Se un account è l'account "VIP" e non volete questo record di account da eliminare (non importa anche lui è un super user / admin), quindi meglio questo può accadere in validazione pre. Perché in quel momento non si è veramente preoccupato per chi è l'utente e quale tipo di permessi che ha (anche lui non può avere tutte le autorizzazioni per eliminare tutti i record nel sistema), CRM andare a controllare il database per i ruoli di protezione dell'utente durante l'operazione di pre ed è qui che il primo colpo del database sarebbe successo .. prima che è di per sé, si può fermare l'exucution del plugin in base alle nostre regole di convalida ..

Spero che un senso ...

Grazie

Saluti Srikanth

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top