createRecord (referência da API do cliente)

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

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
    }
);

Criar uma linha de tabela usando a API da Web
Xrm.WebApi