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 Obrigatórios
netSuiteOrg
: Um caminho de referência de string para uma conexão NetSuite no projeto atualrecordType
: Tipo de registro NetSuite (veja o exemplo da 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 de 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
é fornecido 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 fica disponível quando um registro é criado ou atualizado, mas não em ambos os casos.
Exemplos
Exemplo Básico
netSuiteOrg = "<TAG>endpoint:netsuite/NetSuite</TAG>";
recordType = "customer";
field = "entityStatus";
dict = NetSuiteGetSelectValue(netSuiteOrg, recordType, field);
i1=dict[field]["ID interno"]; // or dict[field][0]
e1=dict[field]["ID externo"]; // or dict[field][1]
Exemplo de Sublista
netSuiteOrg = "<TAG>endpoint:netsuite/NetSuite</TAG>";
recordType = "salesOrder";
field = "item";
sublist = "itemList";
dict = NetSuiteGetSelectValue(netSuiteOrg, recordType, field, sublist);
i1=dict[field]["ID interno"]; // or dict[field][0]
e1=dict[field]["ID externo"]; // or dict[field][1]
Exemplo de Lista de Opções
-
Vá para o navegador de esquema SOAP do NetSuite para obter a versão do NetSuite WSDL que você está usando. Este exemplo usa o navegador de esquema SOAP 2021.1.
-
Vá para 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 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 NetSuite Search. Você pode visualizar os valores deste campo para quando 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]]["ID interno"]; $cw.externalId = d[keys[0]]["ID externo"]; 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 de cada uma das entradas da lista de opções.
NetSuiteGetServerTime
Declaração
string NetSuiteGetServerTime(string netSuiteOrg)
Sintaxe
NetSuiteGetServerTime(<netSuiteOrg>)
Parâmetros Obrigatórios
netSuiteOrg
: Um caminho de referência de string para uma conexão NetSuite no projeto atual
Descrição
Recupera a data e 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 Obrigató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 fazer login no NetSuite sem exigir cabeçalhos de autenticação para cada chamada de serviço web.
Nota
O uso desta função não é necessário se você estiver usando o Harmony NetSuite Connector.
Aviso
A sessão do NetSuite expira após 15 minutos. Pode ser invalidado por outras chamadas ao 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=/"