Share MS CRM Task

Di seguito il codice c# per condividere un task CRM ad un Team...
Questa operazione è eseguibile unicamente via codice.

SecurityPrincipal principal = new SecurityPrincipal();
principal.Type = SecurityPrincipalType.Team; //avrei potuto scegliere anche User...
principal.PrincipalId = teamID;
PrincipalAccess principalAccess = new PrincipalAccess();
principalAccess.Principal = principal;

//Imposto i diritti sullo share del task
principalAccess.AccessMask = AccessRights.ReadAccess | AccessRights.WriteAccess | AccessRights.DeleteAccess;

//Si puo' scegliere anche specificando TargetOwnedAccount...
//ma TargetOwnedDynamic andrà bene per tutte le entità: nel nostro caso
//scegliamo EntityName.task.ToString();

TargetOwnedDynamic target = new TargetOwnedDynamic();
target.EntityId = taskID;
target.EntityName = EntityName.task.ToString();

//Impongo i criteri di share
ModifyAccessRequest request = new ModifyAccessRequest();
request.PrincipalAccess = principalAccess;
request.Target = target;
CrmService.Execute(request);


Ciao
Rob

Custom Lookup Dialog for Microsoft Dynamics CRM 3.0

Un utile post dove si spiega come modificare i criteri di filtro delle LookUp del MS CRM 3 in modo facile e veloce!
Riassumendo, i passi fondamentali sono:

-Immaginiamo di voler impostare un nuovo criterio di ricerca sulla lookup <lookupfieldname>, all'OnLoad del form dell'entità principale aggiungiamo il seguente codice js:

crmForm.all.<lookupfieldname>.lookupbrowse=1;
var fetchCustomXml= "<fetch mapping='logical'><entity name='account'><all-attributes/><order attribute='name' descending='false'/><filter type='and'><condition attribute='parentaccountid' operator='not-null'/></filter></entity></fetch>";
crmForm.all.<lookupfieldname>.additionalparams = "fetchXml=" + fetchCustomXml;



-La stringa fetchCustomXml è ricavabile dall'advanced find:
        -impostare i criteri di filtro desiderati,
        -lanciare la Query,
        -lanciare dalla address bar di IE la seguente istruzione:

    javascript:alert(resultRender.FetchXml.value);

        -e formattare la stringa XML nel modo riportato sopra

Ciao
Rob