Sharepoint Site Setup
Nella configurazione del Sito SharePoint (DCS) è necessario connettere Dynamics 365 CE con SharePoint utilizzando una AppRegistration.
Le informazioni richieste sono:
| Campo | Descrizione |
|---|---|
| Application (client) ID | ID client dell’applicazione Azure. |
| Client Secret | Secret dell’applicazione Azure. |
| Tenant Id | ID tenant di Azure a cui connettere il client (dove è presente il sito SharePoint) |
Prerequisiti:
- Configurare l’integrazione del sito SharePoint – vedi Benefici della gestione documentale con integrazione SharePoint - Power Platform | Microsoft Learn
- Creare una App Registration e configurarla come documentato in DocSolutions per SharePoint (BC)
- L’utente che effettua la configurazione deve avere i ruoli System Administrator + DocSolutions Admin assegnati
- L’utente applicativo deve avere il ruolo DocSolutions User assegnato
Importante per la comunicazione degli errori:
DocSolutions notificherà errori nella creazione delle cartelle SharePoint o messaggi di licenza tramite notifiche in-app; questa funzionalità deve essere abilitata in tutte le app in cui i messaggi devono essere mostrati.
Dal portale Power Apps: apri l’app (tutte le app utilizzate dal cliente con DocSolutions), clicca su Impostazioni, seleziona la scheda Funzionalità e abilita il flag In-app notifications.

Configurazione del Sito SharePoint
- Aprire l’app DocSolutions e andare su SharePoint Sites
- Aprire il sito in cui DocSolutions deve essere configurato (può essere più di uno)
- Aprire la scheda DocSolutions e configurare i seguenti campi:
- Client ID
- Client Secret
- Tenant ID
Una volta salvato il record, il client secret sarà criptato e l’ID del sito SharePoint sarà popolato. Message Status indica il risultato del test di connessione; se viene mostrato un messaggio di errore, correggere la configurazione di conseguenza.
NOTA
Deve essere attivata una licenza valida di DocSolutions per SharePoint per il cliente, basata sul Tenant ID.
DocSolutions Library Setup
Ogni entità in Dynamics 365 CE può essere configurata per utilizzare DocSolutions per CE; se l’entità non è configurata nella Gestione Documenti, verrà aggiunta.
DocSolutions per CE può creare cartelle e sottocartelle nel sito SharePoint, ma le Document Libraries devono essere create con la funzionalità standard o manualmente nel sito.
Configurazione Libreria
- Aprire il link DocSolution Libraries
- Aggiungere un nuovo record (di tipo DocSolutions Library)
- Compilare i seguenti campi:
| Nome/Codice | Codice o Nome della libreria DocSolutions |
|---|---|
| Entity/Table name | Nome logico dell’entità/tabella |
| SharePoint Site | Sito SharePoint dall’elenco dei siti esistenti |
| Folder Pattern | Stringa composta da un mix di valori di campi e testo fisso; i campi (nome logico) devono essere specificati tra parentesi graffe; es. {fieldname}; questi campi devono essere impostati come obbligatori per avere il nome corretto della cartella alla creazione |
| Parent Type | Può essere: Library: la cartella è creata sotto la Document Library specificata Parent Record: la cartella è creata sotto la cartella di un record padre (in una sottocartella fissa – es. account/ |
| Se Parent Type = Library | SharePoint Document Library Name: deve esistere in SharePoint; è il nome della libreria dove vengono create le cartelle |
| Se Parent Type = Parent Record | Parent DocSolutions Library: libreria DocSolutions padre che crea la cartella padre (obbligatorio) Parent Folder: nome cartella fisso (opzionale) Parent Field: nome logico del campo che collega il record dell’entità con il record padre |
| Integration Key | Campo opzionale che indica il campo di integrazione usato per BC-CE |
| Integration Path Field | Obbligatorio se le cartelle devono essere condivise tra CE e BC; nelle tabelle account e product sono presenti i campi eosapp_dcspath pronti per questo scopo; i valori di questo campo devono essere sincronizzati tra i due sistemi |
| Message Status (DCS) | Si compilerà automaticamente con il risultato della configurazione (OK o errore) |
- Inoltre, è possibile creare sottocartelle fisse nella sottogriglia sottostante.
Esempio per DCS Library con Parent Type = Library

Esempio per DCS Library con Parent Type = Parent Record

Rule Validator
La scheda Rule Validator consente di applicare regole di validazione al record prima del completamento della configurazione DocSolutions. Impostare Use Rule Validator su Yes e inserire la definizione della regola nel campo Rule Validator Json.
Il JSON viene elaborato in due fasi:
- Il gruppo di condizioni
whendetermina quando applicare le validazioni. Se è omesso o non contiene condizioni, il risultato è true. Le condizioni utilizzanoandper impostazione predefinita; impostarelogicsuorper richiedere che almeno una condizione sia vera. - Se
whenè false,otherwisedetermina il risultato. Il valore predefinito èsuccess, quindi la configurazione continua e levalidationsnon vengono valutate. Impostarlo suerrorper interrompere la configurazione e, facoltativamente, specificareotherwiseMessage. - Se
whenè true, vengono valutate le regole contenute invalidations. Tutti gli errori di validazione vengono restituiti insieme; se almeno una validazione fallisce, la configurazione viene saltata.
Esempio per DCS Library - Rule Validator
Come funzionano when e validations
La sezione when è il filtro che attiva le regole di validazione. Descrive la situazione nella quale devono essere applicati i controlli contenuti in validations; da sola non valida il record. Ad esempio, una regola può indicare: “solo quando l’origine del Case è Email, rendere obbligatorio un Contact”.
La sezione validations contiene i controlli da eseguire quando when è true. Una validazione required è utile per i lookup: il campo deve essere presente e deve contenere un valore. Nell’esempio seguente, caseorigincode è l’option set standard dell’origine del Case e primarycontactid è il lookup Contact del Case. Sostituire 2 con il valore dell’opzione Email se nell’ambiente di destinazione è diverso.
{
"when": {
"conditions": [
{
"field": "caseorigincode",
"operator": "eq",
"value": 2
}
]
},
"otherwise": "success",
"validations": [
{
"type": "required",
"field": "primarycontactid",
"message": "È obbligatorio indicare un Contact quando l'origine del Case è Email."
}
]
}
In questo esempio, un Case con origine Email esegue le validations; se non è indicato alcun Contact, la validazione fallisce e la configurazione DocSolutions viene saltata. Un Case con un’origine diversa non esegue le validations e la configurazione continua perché otherwise è impostato a success.
Proprietà di configurazione
| Proprietà | Descrizione |
|---|---|
when.logic | Operatore logico delle condizioni: and oppure or. Il valore predefinito è and. |
when.conditions[].field | Nome logico del campo Dataverse da leggere nel record corrente. |
when.conditions[].operator | Operatore di confronto: eq, neq, null oppure notnull. |
when.conditions[].value | Valore usato da eq o neq; può rappresentare testo, numeri, date, valori Boolean, opzioni, importi o il GUID di un riferimento a un’entità. |
otherwise | Risultato quando when è false: success (predefinito) oppure error. |
otherwiseMessage | Messaggio di errore opzionale restituito quando otherwise è error. |
validations[].type | Tipo di validazione: required oppure regex. |
validations[].field | Nome logico del campo da validare. |
validations[].message | Messaggio opzionale restituito quando la validazione fallisce. |
validations[].parameters.pattern | Espressione regolare usata da una validazione regex. |
validations[].parameters.ignoreCase | Valore Boolean opzionale per una validazione regex. Il valore predefinito è true. |
Con una validazione required, il campo deve essere presente e non può essere null o vuoto. Una validazione regex viene ignorata quando il campo non è presente, è null o è vuoto; quando è valorizzato, il parametro pattern è obbligatorio e deve corrispondere al valore secondo l’espressione regolare.
Il JSON può essere lasciato vuoto quando non è richiesta alcuna validazione. Un JSON non valido o parametri non validi per l’espressione regolare restituiscono un errore. Un operatore di condizione non supportato viene valutato come false e restituisce il risultato configurato in otherwise.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.