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
attributename;attributevalue;displayorder;langid;objecttypecode;objecttypecodename;organizationid;stringmapid;value;versionnumber
statuscode;192350000;1;1033;msdyn_flow_approval;Approval;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;c4f1dac1-36bd-eb11-8235-000d3abc6062;Created;NULL
statuscode;192350001;2;1033;msdyn_flow_approval;Approval;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;c5f1dac1-36bd-eb11-8235-000d3abc6062;Pending;NULL
statuscode;192350002;3;1033;msdyn_flow_approval;Approval;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;c6f1dac1-36bd-eb11-8235-000d3abc6062;Suspended;NULL
statuscode;192350004;4;1033;msdyn_flow_approval;Approval;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;c7f1dac1-36bd-eb11-8235-000d3abc6062;Completed;NULL
statuscode;192350005;5;1033;msdyn_flow_approval;Approval;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;c8f1dac1-36bd-eb11-8235-000d3abc6062;Expired;NULL
statuscode;192350006;6;1033;msdyn_flow_approval;Approval;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;c9f1dac1-36bd-eb11-8235-000d3abc6062;Canceled;NULL
statuscode;192350007;7;1033;msdyn_flow_approval;Approval;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;caf1dac1-36bd-eb11-8235-000d3abc6062;Abandoned;NULL

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
attributevalue;value
192350000;Created
192350001;Pending
192350002;Suspended
192350004;Completed
192350005;Expired
192350006;Canceled
192350007;Abandoned

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: