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 atualrecordType
: 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¶
-
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.
-
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 docustomer
registro, incluindo seus nomes de campo e tipos de campo. Os tipos de registro diferenciam maiúsculas de minúsculas. -
Na coluna Nome do
customer
tabela de registros, localize o nome do campoentityStatus
. Isso corresponde ao campoentityStatus
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. -
Para recuperar todos os valores da lista de opções do campo
entityStatus
debaixo decustomer
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}
-
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=/"