In una entità del Dataverse ci possono essere dei campi definiti choice, i classici menu a tendina.
Questi campi sono caratterizzati dall'avere una label/testo visualizzato e un identificativo numerico. L'identificativo numerico è il valore che viene persistito sull'entità.
Precedentemente Dataverse era conosciuto come Common Data Service (CDS)
Se si vuole conoscere tutti i possibili valori, inteso come accoppiata valore numerico e label, bisogna fare riferimento all'entità stringmap.
Questa entità contiene tutti i valori dei campi choice di tutte le entità del Dataverse in tutte le lingue possibili.

Ad esempio per visualizzare tutti i valori del campo choice statuscode dell'entità Approvals, la query è questa:

SQL

select *
from stringmap 
where attributename = 'statuscode' and objecttypecode='msdyn_flow_approval' and langid=1033
order by displayorder
dove
  • attributename = nome del campo choice
  • objecttypecode = nome interno dell'entità
  • langid = codice della lingua (1033=inglese, 1040=italiano, ecc...) della specifica traduzione
  • attributevalue = valore numerico della singola voce del campo choice
  • value = label della singola voce
  • displayorder = ordine di visualizzazione delle label
Per eseguire la query si può usare il tool XrmToolBox con il plugin SQL 4 CDS.
da un risultato come questo
attributenameattributevaluedisplayorderlangidobjecttypecodeobjecttypecodenameorganizationidstringmapidvalueversionnumber
statuscode19235000011033msdyn_flow_approvalApprovalxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxc4f1dac1-36bd-eb11-8235-000d3abc6062CreatedNULL
statuscode19235000121033msdyn_flow_approvalApprovalxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxc5f1dac1-36bd-eb11-8235-000d3abc6062PendingNULL
statuscode19235000231033msdyn_flow_approvalApprovalxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxc6f1dac1-36bd-eb11-8235-000d3abc6062SuspendedNULL
statuscode19235000441033msdyn_flow_approvalApprovalxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxc7f1dac1-36bd-eb11-8235-000d3abc6062CompletedNULL
statuscode19235000551033msdyn_flow_approvalApprovalxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxc8f1dac1-36bd-eb11-8235-000d3abc6062ExpiredNULL
statuscode19235000661033msdyn_flow_approvalApprovalxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxc9f1dac1-36bd-eb11-8235-000d3abc6062CanceledNULL
statuscode19235000771033msdyn_flow_approvalApprovalxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcaf1dac1-36bd-eb11-8235-000d3abc6062AbandonedNULL

Quello che interessa sono solo i campi attributevalue e value
XmlTollbox
XmlTollbox

SQL

select attributevalue, value
from stringmap 
where attributename = 'statuscode' and objecttypecode='msdyn_flow_approval' and langid=1033
order by displayorder
da questo risultato
attributevaluevalue
192350000Created
192350001Pending
192350002Suspended
192350004Completed
192350005Expired
192350006Canceled
192350007Abandoned

Nomi inteni

Nell'esempio ho usato sull'entità Approvals che ha uno specifico nome interno ovvero msdyn_flow_approval.

Ma come faccio a trovare il nome interno?

Si può andare su Power Apps (https://make.powerapps.com) e cercare nelle tabelle presenti in Data / Tables.
Verifica che nella vista ci sia All e inserisci nel testo di ricerca il nome dell'entità.
Nella colonna Name compare il nome interno dell'entità.
Nome interno entità
Nome interno entità
cliccando sulla entità si può trovare anche il nome interno del campo choice
Nome interno campo
Nome interno campo
Tags:
Power Automate28 CRM3 Office 36510 Power Apps26
Potrebbe interessarti anche: