Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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 |
Object | Yes | Um objeto JSON que define as colunas e os valores do novo registro de tabela. Veja exemplos |
successCallback |
Função | Não | Uma função a ser chamada quando um registro é criado. Consulte o valor retornado |
errorCallback |
Função | Não | Uma função a ser chamada 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:Corda. Uma mensagem de erro descrevendo o problema. |
Valor de retorno
Com êxito, retorna um objeto de promessa para as successCallback seguintes propriedades:
| Nome | Tipo | Description |
|---|---|---|
entityType |
String | O nome lógico da tabela do novo registro. |
id |
String | GUID do novo registro. |
Exemplos
Esses exemplos usam os mesmos objetos de solicitação demonstrados em Criar uma linha de tabela usando a API Web para definir o objeto de dados para criar um registro de tabela.
Criação básica
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
Não há suporte para a criação de registros com uma imagem primária para o modo offline. As imagens primárias só podem ser definidas com a criação no modo online. Não é possível definir outras colunas de imagem com a criação. Saiba mais sobre as imagens primárias
Criar registros de tabela relacionados junto com o registro primário
Você pode criar tabelas relacionadas entre si definindo-as como valores de propriedades de navegação. Esse padrão é conhecido como inserção profunda. Neste exemplo, criamos um registro de conta de exemplo junto com o registro de contato primário e um registro de oportunidade associado.
Observação
Não há suporte para a criação de registros de tabela relacionados em uma única operação de criação para o 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
}
);
Associar tabelas na criação de novos registros
Para associar novos registros de tabela a registros de tabela existentes, defina o valor das propriedades de navegação com valor único usando a @odata.bind anotação.
Observação
Os nomes das propriedades de navegação com valor único nem sempre são os mesmos do LogicalName atributo de pesquisa. Você deve verificar se está usando o Name valor do atributo do NavigationProperty elemento no documento de serviço $metadata da API Web. Mais informações: Propriedades de navegação da API Web
Aqui está o exemplo de código:
O exemplo a seguir cria um registro de conta e o associa a um registro de contato existente para definir este último como o contato primário para o novo registro de 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 offline móvel
Observação
Em vez de usar @odata.bind o exemplo de anotação mostrado anteriormente, o objeto de pesquisa preterido com propriedades que diferenciam maiúsculas de minúsculas (logicalname e id) ainda tem suporte para personalizações existentes. No entanto, é recomendável usar @odata.bind a anotação para cenários online e offline em vez de usar esse objeto preterido.
O exemplo a seguir usa o método preterido para criar um registro de conta e associá-lo a um registro de contato existente para definir este último como o contato principal para o novo registro de conta de clientes móveis ao trabalhar no 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
}
);