Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si genera una pagina usando il linguaggio naturale, l'intelligenza artificiale crea una pagina React in TypeScript. La pagina generata copre sia l'esperienza utente front-end selezionando i componenti corretti che determinando il layout migliore e la logica di business corrispondente.
È possibile visualizzare e modificare il codice generato per perfezionare l'output. Le operazioni sui dati usano un dataApi oggetto che espone i metodi pubblici seguenti:
| Metodo | Description |
|---|---|
createRow |
Crea una nuova riga nella tabella specificata. |
deleteRow |
Elimina una riga dalla tabella specificata. |
getChoices |
Recupera le scelte per il nome della colonna di scelta specificata. |
queryTable |
Esegue una query su una tabella con le opzioni specificate. |
retrieveRow |
Recupera una riga dalla tabella specificata con le opzioni specificate. |
setPageOutput |
Imposta il valore restituito allo script chiamante quando viene chiusa una finestra di dialogo di pagina generativa. |
updateRow |
Aggiorna una riga esistente nella tabella specificata. |
Metodo createRow
Crea una nuova riga nella tabella specificata.
Parametri
Impostare i valori per questi parametri obbligatori.
| Nome | TIPO | Description |
|---|---|---|
tableName |
corda | Nome logico della tabella in cui creare la riga. |
row |
oggetto | Dati di riga da creare. |
Restituzioni
Promessa contenente il risultato dell'operazione. Quando l'operazione ha esito positivo, il risultato è il valore ID (GUID) della riga creata.
Example
// Define the row data to create new account
var row =
{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1,
}
try {
// Create a new account record
const newAccountId = await dataApi.createRow("account", row);
console.log("Account created with ID: " + newAccountId);
// Create a contact with a lookup to an account
const newContactId = await dataApi.createRow('contact', {
firstname: 'John',
lastname: 'Doe',
emailaddress1: 'john.doe@contoso.com',
"parentcustomerid@odata.bind": `/account(${newAccountId})`, // Lookup format
});
}
catch (error) {
console.log(error.message);
}
Metodo deleteRow
Elimina una riga dalla tabella specificata.
Parametri
Impostare i valori per questi parametri obbligatori.
| Nome | TIPO | Description |
|---|---|---|
tableName |
corda | Nome logico della tabella in cui eliminare la riga. |
rowId |
corda | ID della riga da eliminare. |
Restituzioni
Promessa contenente il risultato dell'operazione. Quando l'operazione ha esito positivo, non restituisce alcun valore.
Example
let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
await dataApi.deleteRow("account", rowId);
}
catch (error) {
console.log(error.message);
}
Metodo getChoices
Recupera le scelte per il nome della colonna di scelta specificata.
Parametri
Questo parametro è obbligatorio.
| Nome | TIPO | Description |
|---|---|---|
enumName |
string |
Nome della colonna scelta nel formato tablename-columnname |
Restituzioni
Promessa contenente il risultato dell'operazione. Quando l'operazione ha esito positivo, restituisce una matrice delle opzioni di scelta. Ogni opzione ha queste proprietà:
| Nome | TIPO | Description |
|---|---|---|
label |
corda | Valore dell'etichetta localizzata dell'opzione. |
value |
numero | Valore numerico dell'opzione. |
Example
// Returns the accountcategorycode column options from the account table
const categoryChoices = await dataApi.getChoices("account-accountcategorycode");
// Returns the statecode column options from the contact table
const stateChoices = await dataApi.getChoices('contact-statecode');
// Returns the statuscode column options from the account table
const statusChoices = await dataApi.getChoices('account-statuscode');
Metodo queryTable
Esegue una query su una tabella usando le opzioni specificate.
Parametri
Impostare i valori per questi parametri obbligatori.
| Nome | TIPO | Description |
|---|---|---|
tableName |
string |
Nome logico della tabella su cui eseguire una query |
query |
QueryTableOptions | Opzioni per l'esecuzione di query sulla tabella |
QueryTableOptions
| Nome | TIPO | Description |
|---|---|---|
select |
string[] |
(Scelta consigliata) Matrice di nomi di colonna da recuperare. |
filter |
string |
(Facoltativo) Espressione filtro OData (ad esempio, statecode eq 0). |
orderBy |
string |
(Facoltativo) Espressione orderby OData (ad esempio, name asc, createdon desc). |
pageSize |
number |
(Facoltativo) Numero massimo di righe da restituire per pagina. |
Restituzioni
Promessa contenente il risultato dell'operazione. Quando l'operazione ha esito positivo, la promessa restituisce un oggetto contenente una tabella dati con i risultati con queste proprietà:
| Nome | TIPO | Description |
|---|---|---|
rows |
Object[] |
Matrice di dati di riga |
hasMoreRows |
boolean |
Indica se sono disponibili più righe |
loadMoreRows |
function |
Funzione per caricare la pagina successiva dei risultati. (opzionale) |
Example
// Query tasks with options
const result = await dataApi.queryTable("task", {
select: ["activityid", "subject", "scheduledend", "prioritycode", "statecode"],
orderBy: "scheduledend asc",
pageSize: 50,
filter: "statecode eq 0"
});
// Query accounts with pagination
const pagedAccounts = await dataApi.queryTable('account', {
select: ['name'],
pageSize: 50,
});
console.log(`Page 1: ${pagedAccounts.rows.length} accounts`);
if (pagedAccounts.hasMoreRows && pagedAccounts.loadMoreRows) {
const nextPage = await pagedAccounts.loadMoreRows();
console.log(`Page 2: ${nextPage.rows.length} accounts`);
}
Osservazioni:
Annotazioni
Per ottenere prestazioni ottimali, limitare sempre il numero di colonne restituite tramite la proprietà QueryTableOptionsselect .
Metodo retrieveRow
Recupera una riga dalla tabella specificata utilizzando le opzioni specificate.
Parametri
Impostare i valori per questi parametri obbligatori.
| Nome | TIPO | Description |
|---|---|---|
tableName |
string |
Nome logico della tabella da recuperare |
options |
RetrieveRowOptions | Opzioni per il recupero della riga |
RetrieveRowOptions
| Nome | TIPO | Description |
|---|---|---|
id |
string |
ID (GUID) della riga da recuperare |
select |
string[] |
(Scelta consigliata) Matrice di nomi di colonna da recuperare. Se omesso, vengono restituite tutte le colonne. |
Restituzioni
Promessa contenente il risultato dell'operazione. Quando l'operazione ha esito positivo, viene restituito un oggetto contenente i dati del record, incluse tutte le colonne selezionate.
Example
// Retrieve an account with all columns
const account = await dataApi.retrieveRow('account', {
id: '30dc51e9-947d-47d8-ad48-4fc48fba4a95',
});
// Retrieve specific columns only
const contact = await dataApi.retrieveRow('contact', {
id: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
select: ['firstname', 'lastname', '_parentcustomerid_value'],
});
Metodo setPageOutput
Imposta il valore restituito allo script chiamante quando viene chiusa una pagina generativa aperta quando viene chiusa una finestra di dialogo.
Parametri
| Nome | TIPO | Description |
|---|---|---|
value |
unknown | Valore da restituire allo script che ha aperto la finestra di dialogo. Il valore può essere una primitiva, un oggetto o una matrice. |
Restituzioni
Nessun valore.
Example
dataApi.setPageOutput({
action: "selected",
recordId: selectedRecordId
});
const xrm = (window as any).Xrm;
await xrm.Navigation.navigateBack();
La chiamata setPageOutput non chiude la finestra di dialogo o aggiorna la pagina chiamante. Chiudere la finestra di dialogo con Xrm.Navigation.navigateBack(). La promessa restituita da Xrm.Navigation.navigateTo viene quindi risolta con un oggetto la cui returnValue proprietà contiene il valore archiviato più di recente. Lo script chiamante deve applicare in modo esplicito il valore restituito alla maschera, alla griglia o ad altro stato.
Questo metodo si applica alle pagine generative aperte come dialoghi. Le pagine generative aperte inline o in un riquadro laterale dell'app non restituiscono un valore allo script chiamante.
Metodo updateRow
Aggiorna una riga esistente nella tabella specificata.
Parametri
Impostare i valori per questi parametri obbligatori.
| Nome | TIPO | Description |
|---|---|---|
tableName |
corda | Nome logico della tabella in cui aggiornare la riga. |
rowId |
corda | ID della riga da aggiornare. |
row |
Oggetto | Dati di riga da aggiornare. |
Restituzioni
Promessa contenente il risultato dell'operazione. Quando l'operazione ha esito positivo, non restituisce alcun valore.
Example
let rowId = "5531d753-95af-e711-a94e-000d3a11e605"
// Define the row to update a record
var row =
{
"name": "Updated Sample Account ",
"creditonhold": true,
"address1_latitude": 47.639583,
"description": "This is the updated description of the sample account",
"revenue": 6000000,
"accountcategorycode": 2
}
// update the record
try {
await dataApi.updateRow("account", rowId, row);
}
catch (error){
console.log(error.message);
}