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 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 devolução

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

Estes exemplos usam os mesmos objetos de solicitação do seguinte artigo: Criar uma linha de tabela usando a API Web. O artigo mostra como definir o objeto de dados para criar um registro de tabela.

Exemplo Demonstra Exemplo de API Web
Criação básica Como criar um registro de conta com valores de coluna. Criação básica
Criar registros de tabela relacionados junto com o registro primário Como criar uma conta e registros de contato, oportunidade e tarefa relacionados em uma operação. Criar linhas de tabela relacionadas em uma operação
Associar tabelas ao criar novos registros Como associar uma nova conta a um contato existente usando @odata.bind. Associar linhas de tabela ao 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

Não há suporte para a criação de registros com uma imagem primária para o modo offline. Você só pode definir imagens primárias usando a criação no modo online. Não é possível definir outras colunas de imagem usando a criação. Saiba mais sobre as imagens primárias

Você pode criar tabelas relacionadas entre si definindo-as como valores de propriedade de navegação. Esse padrão é conhecido como inserção profunda. Neste exemplo, você cria 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 ao criar novos exemplos de 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. Verifique se você está usando o Name valor do atributo do NavigationProperty elemento no documento de serviço $metadata da API Web. Para obter mais informações, consulte As Propriedades de Navegação da API Web.

Este é um 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 o @odata.bind 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, use a @odata.bind 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 primário 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
    }
);

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