Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Cria um registro de tabela.
Sintaxe
Xrm.WebApi.createRecord(entityLogicalName, data).then(successCallback, errorCallback);
Parâmetros
| Nome | Tipo | Obrigatório | Description |
|---|---|---|---|
entityLogicalName |
String | Yes | Nome lógico da tabela que você deseja criar. Por exemplo: account. |
data |
Objeto | Yes | Um objeto JSON que define as colunas e os valores para o novo registro de tabela. Ver exemplos |
successCallback |
Função | Não | Uma função para chamar quando um registro é criado. Ver Valor de Retorno |
errorCallback |
Função | Não | Uma função para chamar quando a operação falhar. Um objeto com as seguintes propriedades é passado: - errorCode: Número. O código de erro como um número decimal positivo. Por exemplo, o código de erro documentado como 0x80040333 será retornado como 2147746611.- message: Fio. Uma mensagem de erro descrevendo o problema. |
Valor de retorno
Quando for bem-sucedido, retorna um objeto promise para o successCallback com as seguintes propriedades:
| Nome | Tipo | Description |
|---|---|---|
entityType |
String | O nome lógico da tabela do novo registro. |
id |
String | GUID do novo registro. |
Examples
Estes exemplos usam os mesmos objetos de pedido que o artigo seguinte: Crie uma linha de tabela usando a Web API. O artigo mostra como definir o objeto de dados para criar um registo de tabela.
| Example | Demonstra | Exemplo de API Web |
|---|---|---|
| Criação básica | Como criar um registo de conta com valores de coluna. | Criação básica |
| Crie registos de tabela relacionados juntamente com o registo principal | Como criar uma conta e registos relacionados de contactos, oportunidades e tarefas numa só operação. | Criar linhas de tabela relacionadas numa só operação |
| Associe tabelas ao criar novos registos | Como associar uma nova conta a um contacto existente usando @odata.bind. |
Associar linhas de tabela no criar |
Exemplo básico de criação
Cria um registro de conta de exemplo.
// 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
}
);
Observação
Criar registos com uma imagem principal não é suportado para o modo offline. Só podes definir imagens primárias usando criar em modo online. Não podes definir outras colunas de imagem usando o create. Saiba mais sobre Imagens primárias
Crie registos de tabela relacionados juntamente com o exemplo do registo principal
Pode criar tabelas relacionadas entre si, definindo-as como valores de propriedades de navegação. Este padrão é conhecido como inserção profunda. Neste exemplo, cria um registo de conta de exemplo juntamente com o registo de contacto principal e um registo de oportunidade associado.
Observação
Criar registos de tabela relacionados numa única operação de criação não é suportado para modo offline.
// 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
}
);
Exemplo de tabelas associadas ao criar novos registos
Para associar novos registos de tabela a registos de tabela existentes, defina o valor das propriedades de navegação de valor único usando a @odata.bind anotação.
Observação
Os nomes das propriedades de navegação de valor único nem sempre são os mesmos do LogicalName atributo de pesquisa. Certifique-se de que está a usar o Name valor do NavigationProperty atributo do elemento no documento de serviço da API Web $metadata. Para mais informações, consulte Propriedades de Navegação Web API.
Aqui está um exemplo de código:
O exemplo seguinte cria um registo de conta e associa-o a um registo de contacto existente para definir este último como o contacto principal para o novo registo da conta:
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étodo preterido para cenário móvel offline
Observação
Em vez de usar o @odata.bind exemplo de anotação mostrado anteriormente, o objeto de pesquisa obsoleto com propriedades sensíveis a maiúsculas minúsculas (logicalname e id) ainda é suportado para personalizações existentes. No entanto, use a @odata.bind anotação tanto para cenários online como offline em vez de usar este objeto obsoleto.
O exemplo seguinte utiliza o método obsoleto para criar um registo de conta e associá-lo a um registo de contacto existente, para definir este último como o contacto principal para o novo registo de conta dos clientes móveis quando se trabalha em modo 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
}
);