Ir para o conteúdo

Funções do NetSuite

As funções do NetSuite fornecem informações de login e sessão e pesquisas para instâncias do NetSuite.

NetSuiteGetSelectValue

Declaração

dictionary NetSuiteGetSelectValue(string netSuiteOrg, string recordType, string field[, string sublist])

Sintaxe

NetSuiteGetSelectValue(<netSuiteOrg>, <recordType>, <field>[, <sublist>])

Parâmetros Necessários

  • netSuiteOrg: Um caminho de referência de string para uma conexão NetSuite no projeto atual
  • recordType: Tipo de registro NetSuite (consulte o exemplo de lista de opções abaixo)
  • field: Campo NetSuite

Parâmetros Opcionais

  • sublist: Sublista NetSuite

Descrição

Recupera os valores da lista de opções para um campo do NetSuite.

A resposta da função é um dicionário (mapa), onde:

  • As chaves do dicionário são os valores da lista de opções.
  • Os valores do dicionário são um mapa com dois elementos: o ID interno e o ID externo para cada lista de opções.

Nota

O valor de retorno deve ser atribuído a uma variável e a variável deve ser usada para recuperar IDs correspondentes para elementos da lista de opções em vez de chamar esta função várias vezes.

Nota

Se sublist é dado de forma inadequada, você pode obter

ERROR code=INSUFFICIENT_PERMISSION;message=You do not have permissions to set a value for element cef records

devido a qualquer um destes motivos:

  • O campo é somente leitura.
  • Um recurso associado está desativado.
  • O campo está disponível quando um registro é criado ou atualizado, mas não em ambos os casos.

Exemplos

Exemplo de Script

netSuiteOrg = "<TAG>endpoint:netsuite/NetSuite</TAG>";
recordType = "customer";
field = "entityStatus";
dict = NetSuiteGetSelectValue(netSuiteOrg, recordType, field);
i1=dict[field]["internalId"]; // or dict[field][0]
e1=dict[field]["externalId"]; // or dict[field][1]

Exemplo de Lista de Opções

  1. Acesse o navegador de esquema SOAP do NetSuite para obter a versão do NetSuite WSDL que você está usando. Este exemplo usa o 2021.1 SOAP Schema Browser.

  2. Acesse a aba Navegador de registros e navegue até o tipo de registro Cliente. A página resultante exibe o customer tabela de registros mostrando a estrutura do customer registro, incluindo seus nomes de campo e tipos de campo. Os tipos de registro diferenciam maiúsculas de minúsculas.

  3. Na coluna Nome do customer tabela de registros, localize o nome do campo entityStatus. Isso corresponde ao campo entityStatus mostrado no esquema de uma atividade de pesquisa do NetSuite. Você pode visualizar os valores para este campo ao visualizar uma transformação usando este esquema.

  4. Para recuperar todos os valores da lista de opções do campo entityStatus debaixo de customer tipo de registro, use um script:

    netSuiteOrg = "<TAG>endpoint:netsuite/NetSuite</TAG>";
    recordType = "customer";
    field = "entityStatus";
    d = NetSuiteGetSelectValue(netsuiteOrg, recordType, field);
    keys = GetKeys(d);
    $cw.internalId = d[keys[0]]["internalId"];
    $cw.externalId = d[keys[0]]["externalId"];
    keys
    

    Este script retornará uma lista de chaves:

    {CUSTOMER-Closed Won,CUSTOMER-Lost Customer,CUSTOMER-Renewal}
    
  5. Você pode então testar o script para ver os IDs internos e externos para cada uma das entradas da lista de opções.

NetSuiteGetServerTime

Declaração

string NetSuiteGetServerTime(string netSuiteOrg)

Sintaxe

NetSuiteGetServerTime(<netSuiteOrg>)

Parâmetros Necessários

  • netSuiteOrg: Um caminho de referência de string para uma conexão NetSuite no projeto atual

Descrição

Recupera a data-hora do servidor de um servidor NetSuite.

Exemplos

netSuiteOrg = "<TAG>endpoint:netsuite/NetSuite</TAG>";
NetSuiteGetServerTime(netSuiteOrg);
// Returns a date such as "2017-12-07T21:00:26.000-08:00"

NetSuiteLogin

Declaração

string NetSuiteLogin(string netSuiteOrg)

Sintaxe

NetSuiteLogin(<netSuiteOrg>)

Parâmetros Necessários

  • netSuiteOrg: Um caminho de referência de string para uma conexão NetSuite no projeto atual

Descrição

Recupera um novo ID de sessão de um endpoint NetSuite para uso em chamadas REST ou SOAP usadas fora do conector NetSuite. Isso fornece uma maneira simples de efetuar login no NetSuite sem exigir cabeçalhos de autenticação para cada chamada de serviço da web.

Nota

O uso desta função não é necessário se você estiver usando o Harmony NetSuite Connector.

Aviso

A sessão NetSuite expira após 15 minutos. Pode ser invalidado por outras chamadas para NetSuite.

Exemplos

netSuiteOrg = "<TAG>endpoint:netsuite/NetSuite</TAG>";
NetSuiteLogin(netSuiteOrg);
// Returns a string such as
// "JSESSIONID=_wXox...847; path=/; HttpOnly;NS_ROUTING_VERSION=LAGGING; path=/;NS_VER=2017.2.0; path=/"