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:
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
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
XmlTollboxselect 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àcliccando sulla
entità si può trovare anche il nome interno del
campo choice
Nome interno campo