Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Crea un registre de taula.
Sintaxi
Xrm.WebApi.createRecord(entityLogicalName, data).then(successCallback, errorCallback);
Paràmetres
| Nom | Tipus | Necessari | Descripció |
|---|---|---|---|
entityLogicalName |
String | Sí | Nom lògic de la taula que voleu crear. Per exemple: account. |
data |
Objecte | Sí | Objecte JSON que defineix les columnes i els valors del registre de taula nou. Veure exemples |
successCallback |
Funció | No | Funció per cridar quan es crea un registre. Vegeu el valor retornat |
errorCallback |
Funció | No | Una funció per cridar quan l'operació falla. Es passa un objecte amb les propietats següents: - errorCode:Número. El codi d'error com a nombre decimal positiu. Per exemple, el codi d'error documentat com es 0x80040333 retornarà com 2147746611a .- message:Corda. Un missatge d'error que descriu el problema. |
Valor retornat
En cas d'èxit, retorna un objecte de promesa a la successCallback amb les propietats següents:
| Nom | Tipus | Descripció |
|---|---|---|
entityType |
String | El nom lògic de la taula del registre nou. |
id |
String | GUID del nou registre. |
Exemples
Aquests exemples utilitzen els mateixos objectes de petició que l'article següent: Crea una fila de taula utilitzant l'API web. L'article mostra com definir l'objecte de dades per crear un registre de taula.
| Exemple | Demostra | Exemple d'API web |
|---|---|---|
| Creació bàsica | Com crear un registre de compte amb valors de columna. | Creació bàsica |
| Crea registres de taula relacionats juntament amb el registre principal | Com crear un compte i registres relacionats de contacte, oportunitats i tasques en una sola operació. | Crea files de taula relacionades en una sola operació |
| Associeu taules quan creeu nous registres | Com associar un compte nou amb un contacte existent utilitzant @odata.bind. |
Associa files de taula a crear |
Exemple bàsic de creació
Crea un registre de compte d'exemple.
// define the data to create new account
var data =
{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1,
"opendeals_date": new Date("2024-02-03T00:00:00Z")
}
// create account record
Xrm.WebApi.createRecord("account", data).then(
function success(result) {
console.log("Account created with ID: " + result.id);
// perform operations on record creation
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
Nota
Crear registres amb una imatge principal no està admès en mode fora de línia. Només pots configurar imatges primàries utilitzant crear en mode en línia. No pots establir altres columnes d'imatge utilitzant crear. Més informació sobre les imatges principals
Crea registres de taula relacionats juntament amb l'exemple principal del registre
Pots crear taules relacionades entre elles definint-les com a valors de propietat de navegació. Aquest patró es coneix com a inserció profunda. En aquest exemple, crees un registre de compte de mostra juntament amb el registre principal de contacte i un registre d'oportunitat associat.
Nota
Crear registres de taula relacionats en una sola operació de creació no és compatible amb el mode fora de línia.
// define data to create primary and related table records
var data =
{
"name": "Sample Account",
"primarycontactid":
{
"firstname": "John",
"lastname": "Smith"
},
"opportunity_customer_accounts":
[
{
"name": "Opportunity associated to Sample Account",
"Opportunity_Tasks":
[
{ "subject": "Task associated to opportunity" }
]
}
]
}
// create account record
Xrm.WebApi.createRecord("account", data).then(
function success(result) {
console.log("Account created with ID: " + result.id);
// perform operations on record creation
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
Exemple d'associació de taules quan es creen nous registres
Per associar nous registres de taula als registres de taula existents, estableix el valor de les propietats de navegació d'un sol valor utilitzant l'anotació @odata.bind .
Nota
Els noms de les propietats de navegació d'un sol valor no sempre són els mateixos que LogicalName els de l'atribut de cerca. Assegura't que utilitzes el valor d'atribut Name de l'element NavigationProperty al document de servei de l'API web $metadata. Per a més informació, vegeu Propietats de Navegació de l'API Web.
Aquí tens un exemple de codi:
L'exemple següent crea un registre de compte i l'associa a un registre de contacte existent per establir aquest últim com a contacte principal per al nou registre de compte:
var data =
{
"name": "Sample Account",
"primarycontactid@odata.bind": "/contacts(465b158c-541c-e511-80d3-3863bb347ba8)"
}
// create account record
Xrm.WebApi.createRecord("account", data).then(
function success(result) {
console.log("Account created with ID: " + result.id);
// perform operations on record creation
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
Mètode obsolet per a l'escenari Mobile Offline
Nota
En lloc d'utilitzar l'exemple d'anotació @odata.bind mostrat anteriorment, l'objecte de cerca obsolet amb propietats sensibles a majúscules (logicalname i id) encara es suporta per a personalitzacions existents. Tanmateix, utilitza l'anotació @odata.bind tant per a escenaris en línia com fora de línia en lloc d'utilitzar aquest objecte obsolet.
L'exemple següent utilitza el mètode obsolet per crear un registre de compte i associar-lo a un registre de contacte existent per establir aquest últim com a contacte principal per al nou registre de compte des dels clients mòbils quan es treballa en mode offline:
var data =
{
"name": "Sample Account",
"primarycontactid":
{
"logicalname": "contact",
"id": "465b158c-541c-e511-80d3-3863bb347ba8"
}
}
// create account record
Xrm.WebApi.offline.createRecord("account", data).then(
function success(result) {
console.log("Account created with ID: " + result.id);
// perform operations on record creation
},
function (error) {
console.log(error.message);
// handle error conditions
}
);