new Process(key, id, responseObject, sourceClass)
Processo é um conjunto de interações que são executadas seguindo uma sequência lógica definida pelo usuário. Em cada interação pode ser criada uma interface com o usuário utilizando componentes como grades, atalhos ou relatórios.
Importante: Ao criar um arquivo com a extensão .ip o framework cria automaticamente uma instância de Process, não havendo necessidade de utilizar este construtor diretamente.
Parameters:
| Name | Type | Description |
|---|---|---|
key |
number | Chave da tabela iVfs que contém o código fonte do processo. |
id |
string | Id único do processo que será criado. |
responseObject |
Object | Objeto que recebe a saída do processo. |
sourceClass |
number | DBKey | Chave da classe onde o processo está localizado. |
Extends
- ServerComponent
Members
-
bodyClassName :string
-
Classe CSS do elemento body da página utilizada pelo processo.
Type:
- string
-
canExport :boolean
-
Indica se os SimpleLayouts do processo podem ser exportados.
Type:
- boolean
-
canWriteScripts :boolean
-
Indica se o processo pode escrever tags <script>, utilizadas no sincronismo e pelos Widgets.
Em determinadas situações, como o direcionamento da saída de um processo para um Email, as tags <script> devem ser desligadas.
Type:
- boolean
-
cssFiles :Array
-
Arquivos CSS que devem ser carregados por este processo. É importante que seja sempre avaliada a possibilidade de criação de um novo tema em detrimento do uso dessa funcionalidade.
Type:
- Array
-
currentInteraction :Interaction
-
Objeto que contêm informações sobre a interação atual.
Type:
- Interaction
-
currentTabId :number
-
O identificador da aba do processo.
Type:
- number
-
dbkey :DBKey
-
Chave da tabela iVfs que contém o código fonte do processo.
Type:
- DBKey
-
disableSaveInputAsDefault :boolean
-
Indica se o recurso saveInputAsDefault de todos os field será desabilitado.
Type:
- boolean
- Deprecated:
-
- Utilize a propriedade #saveInputsAsDefault.
-
enabledActions :Array.<(Button|ButtonGroup|string)>
-
Equivalente à propriedade enabledButtons.
Type:
- Array.<(Button|ButtonGroup|string)>
- Deprecated:
-
- Utilize a propriedade enabledButtons.
- See:
-
- Process#enabledButtons
-
enabledButtons :Array.<(Button|ButtonGroup|string)>
-
Define quais botões estão habilitados na interação corrente.
Também podem ser informados grupos de botões, pela instância ou pelo nome. Informar um grupo habilita todos os botões dele. Informar apenas um botão que pertence a um grupo também habilita o grupo.
Type:
- Array.<(Button|ButtonGroup|string)>
- See:
-
- Process#visibleButtons
- Process#buttonGroup
Example
this.enabledButtons = ['Botão 1', 'Botão 2'];
-
environment :Environment
-
Objeto que representa o ambiente Web Framework.
Type:
- Environment
-
help :Record.<*, *>|string
-
Ajuda descrevendo a utilização do processo para o usuário final.
A ajuda pode ser um texto livre ou um objeto estruturado conforme exemplo abaixo.
Type:
- Record.<*, *> | string
Example
this.help = { overview: "Explicação sobre o funcionamento do processo.", buttons: { executar: "Explicação sobre o botão executar na visão do processo." }, grids: { vars: "Ajuda da grade de variáveis na visão do processo." }, ler: { overview: "Texto explicativo sobre a interação Ler.", buttons: { executar: "Sobre o botão executar na visão da interação Ler.", abortar: "Sobre o botão abortar na visão da interação Ler." }, grids: { itens: "Ajuda da grade itens no contexto da interação Ler." } }, gravar: { overview: "Texto explicativo sobre a interação Gravar.", grids: { itens: "Ajuda da grade itens no contexto da interação Gravar." } } }; -
id :string
-
Identificador único do processo. Um mesmo processo pode ter várias instâncias dele abertas ao mesmo tempo e o id faz a distinção entre elas.
Type:
- string
-
immediateRedirectEnabled :boolean
-
Indica se o processo pode ser interrompido e redirecionado para a interação indicada pela última execução do método #setNextInteraction.
Type:
- boolean
-
key :number
-
Chave da tabela iVfs que contém o código fonte do processo.
Type:
- number
-
lastInteraction :Interaction
-
Última interação que foi executada pelo processo.
Type:
- Interaction
-
Caminho do processo no menu principal.
-
name :string
-
Nome do processo.
Type:
- string
-
permissionKeyWords :Array.<string>
-
Array de strings disponibilizado pelo processo para a validação de permissões. Deve ser utilizado da seguinte forma.
- O desenvolvedor ao fazer um processo pode estar publicando algumas permissões para o processo, como por exemplo: this.permissions = ['podeAprovar', 'podeCalcular', ...]
- O administrador do sistema vai ter essas permissões disponíveis durante a configuração das permissões dos processos e relatórios, podendo assim defini-las para os usuários/grupos;
- Com o uso do método this.hasPermission(permissionKeyWord) será possível checar se o administrador concedeu a permissão publicada para o usuário corrente.
Type:
- Array.<string>
- See:
-
- Process#hasPermission
-
pId :string
-
Identificador único do processo. Um mesmo processo pode ter várias instâncias dele abertas ao mesmo tempo e o id faz a distinção entre elas.
Type:
- string
- Deprecated:
-
- Utilize a propriedade #id.
-
response :Object
-
Objeto que o processo usará para enviar as respostas.
Importante: o objeto informado deve obrigatoriamente ter o método "write" implementado. Por padrão serão escritas tags <script> para o response informado. Caso o destino não suporte a execução de scripts, a propriedade canWriteScripts deve ser desativada.
Type:
- Object
- See:
-
- Process#canWriteScripts
-
saveInputsAsDefault :boolean
-
Indica se os valores informados pelo usuário nos campos do processo devem ser salvos para serem sugeridos nas próximas execuções. Os campos também podem desabilitar esse recurso individualmente por meio da propriedade
saveInputAsDefault.Type:
- boolean
-
simpleLayoutOutputHandler :Object
-
Objeto que será responsável por tratar a saída gerada pelos SimpleLayouts criados através do método getSimpleLayout. O objeto informado deverá implementar os métodos write e writeln. Se o valor desta propriedade for null, será utilizado o processo como responsável pela saída do SimpleLayout, comportamento padrão do sistema.
Type:
- Object
-
sourceClass :number|DBKey
-
Diretório da Virtual File System onde está localizado o processo. Será nulo caso o código-fonte do processo não seja definido na Virtual File System.
Type:
- number | DBKey
-
status :string
-
Apresenta para o usuário uma mensagem com o estado do processo.
Indica qual ação o processo está executando no momento.
Type:
- string
- See:
Example
this.status = 'Mensagem';
-
title :string
-
Título do processo. Um vez definido esse nome aparecerá na aba referente ao processo.
Type:
- string
Example
this.title = 'Título do process referente';
-
uri :string
-
O caminho do processo.
Type:
- string
-
useLayoutManager :boolean
-
Indica se o gerenciador de leiaute do processo está ativo, permitindo que os componentes possam ser organizados em colunas e linhas por meio das propriedades
column,spanebreakLine.Leiautes que precisem de um controle mais preciso sobre a disposição dos componentes podem desativar o gerenciador de leiaute e realizar a escrita desses componentes dentro de outras tags de leiaute, como
div,section,table, etc.Type:
- boolean
Example
process.useLayoutManager = false; process.write('<main style="display: grid; grid-auto-flow: column; ' + 'grid-auto-columns: max-content;">'); process.write('<section>'); gridA.write(); gridB.write(); process.write('</section>'); process.write('<section>');* gridC.write(); process.write('</section>'); process.write('</main>'); -
userKeyToValidatePermissions :number
-
Indica a chave do usuário que deve ser usada para validação de permissões.
Type:
- number
-
visibleActions :Array.<(Button|ButtonGroup|string)>
-
Equivalente à propriedade visibleButtons.
Type:
- Array.<(Button|ButtonGroup|string)>
- Deprecated:
-
- Utilize a propriedade visibleButtons.
- See:
-
- Process#visibleButtons
-
visibleButtons :Array.<(Button|ButtonGroup|string)>
-
Define quais botões estão visíveis na interação corrente. A ordem dos botões será alterada para refletir a ordem informada nesta propriedade.
Também podem ser informados grupos de botões, pela instância ou pelo nome. Informar um grupo torna visíveis todos os botões dele. Informar apenas um botão que pertence a um grupo também torna o grupo visível. Quando forem informados o grupo e também botões dele, apenas os botões informados serão exibidos no grupo.
A leitura desta propriedade retorna os botões e os grupos de botões que estão sendo exibidos. O valor lido pode ser atribuído novamente sem alterar o que é exibido, o que permite, por exemplo, acrescentar um botão à lista atual.
Type:
- Array.<(Button|ButtonGroup|string)>
- See:
-
- Process#enabledButtons
- Process#buttonGroup
Examples
this.visibleButtons = ["Botão 1", "Botão 2"]
const fiscal = this.buttonGroup('Fiscal', ['Emitir NF-e', 'Imprimir DANFE']); this.visibleButtons = ['Aprovar', fiscal, 'Exportar']; -
warnIncompleteHelp :boolean
-
Indica se um alerta será exibido após a carga das interações caso não tenha sido definida a ajuda do processo ou de uma das grades, campos e botões visíveis.
Este alerta também pode ser ativado globalmente pela propriedade de mesmo nome em "/Configuração/Web Framework/Ajuda".
Type:
- boolean
-
workloadType :string
-
Indica para o banco de dados qual o comportamento da aplicação que está requisitando os dados. Valores possíveis:
- "olap" (Online Analytical Processing): Indicado para relatórios ou processos de consulta. Normalmente interagem com uma massa de dados média ou elevada. Prioridade de atendimento média;
- "oltp" (Online Transaction Processing): Indicado para processos que realizam a leitura ou gravação de poucos registros. Prioridade de atendimento alta;
- "dw" (Data Warehouse): Indicado para processos que consolidam grandes massas de dados para pesquisas posteriores. Prioridade de atendimento baixa;
Type:
- string
- Default Value:
-
- "olap"
Methods
-
action()
-
Equivalente ao método button.
- Deprecated:
-
- Utilize o método button.
- See:
-
- Process#button
Returns:
- Type
- Button
-
activity(name, func [, opt_permKeyWord] [, opt_exitFunc])
-
Cria ou redefine uma atividade. Atividade é um conjunto de instruções que não retornam saída visual para o usuário.
Não ocorre nenhuma interação com o usuário. Ao final da execução de uma atividade, o fluxo de execução irá continuar e a próxima interação ou atividade será executada, caso queira definir a próxima interação a ser executada utilize o método setNextInteraction.
Parameters:
Name Type Argument Description namestring Nome da atividade.
funcfunction Função de definição da atividade. Pode-se declarar a função no próprio parâmetro.
opt_permKeyWordstring <optional>
Palavra chave de permissão. Indica que permissão o usuário precisa ter acesso para a execução da atividade.
opt_exitFuncfunction <optional>
Evento disparado ao ser fechado a interação corrente.
- See:
-
- Process#setNextInteraction
- Process#hasPermission
- Process#permissionKeyWord
- Process#interaction
Returns:
A atividade identificada por name.
- Type
- Interaction
Example
this.activity("Nome da atividade", function () { . }, "String de permissão") -
alert(message)
-
Exibe uma mensagem de alerta para o usuário.
Parameters:
Name Type Description messagestring Mensagem de alerta.
Example
process.alert('O limite de crédito do cliente foi atingido.'); -
authenticateUser(label)
-
Exibe uma janela de autenticação solicitando o nome e a senha de um usuário do sistema. Pode ser utilizado em operações onde é necessária a confirmação do usuário logado ou para autenticar um usuário com privilégios que o usuário corrente não possui.
Parameters:
Name Type Description labelstring Mensagem indicando o propósito da autenticação.
Returns:
Chave do usuário autenticado ou -1 caso a autenticação falhe com as credenciais informadas. Será retornado
nullcaso o usuário cancele o diálogo. Será disparado um erro caso o tempo limite de espera seja atingido.- Type
- number | null
Example
const userKey = this.authenticateUser('Mensagem de autenticação'); -
beep()
-
Emite um beep padrão do sistema.
-
button(name, target [, order] [, processKey] [, newTab])
-
Cria um botão no processo se não existir um com o nome informado. Caso exista, será retornada a instância criada anteriormente.
Parameters:
Name Type Argument Description namestring Nome do botão. O valor informado também será utilizado como o texto do botão, caso a propriedade label do botão não seja informada.
targetstring | function Poderá ser informado:
- nome de uma interação;
- nome de uma atividade;
- função que será atribuída ao evento 'click' do botão. Essa função recebe como parâmetro a instância do botão. Se "target" for uma string vazia e o parâmetro "processKey" for informado, será considerado como destino a primeira interação do processo destino.
ordernumber <optional>
Ordem do botão na barra de botões. Prefira utilizar a propriedade Process.visibleButtons.
processKeynumber <optional>
Indica a chave do processo que contém a atividade ou interação informada no parâmetro "target". Será considerado o processo corrente quando não for informado.
newTabboolean <optional>
Indica se deve ser criada uma nova aba para exibir a interação ou atividade informada em "target". Considerado "false" quando não for informado.
- See:
-
- Process#Button
Returns:
- Type
- Button
Example
const button = this.button('exibirMensagem', function (bt) { bt.process.alert('Olá!'); }); const button = this.button('exibirMensagem'); button.on('click', function (event) { event.process.alert('Olá'); }) -
buttonGroup(name [, buttons])
-
Cria um grupo de botões no processo se não existir um com o nome informado. Caso exista, será retornada a instância criada anteriormente.
O grupo é exibido na barra de botões como um botão que abre um menu com os botões que fazem parte dele. Um botão que pertence a um grupo deixa de ser exibido diretamente na barra.
Parameters:
Name Type Argument Description namestring Nome do grupo. O valor informado também será utilizado como o texto do grupo, caso a propriedade label do grupo não seja informada. O nome não pode ser igual ao de um botão do processo.
buttonsArray.<(Button|string)> <optional>
Nomes ou instâncias dos botões que farão parte do grupo, na ordem em que serão exibidos no menu. Quando informado, estes passam a ser os únicos botões do grupo.
- See:
-
- Process#button
- Process#visibleButtons
Returns:
Grupo existente com o nome informado ou uma nova instância caso não exista um com o nome informado.
- Type
- ButtonGroup
Example
this.button('Emitir NF-e').on('click', emitir); this.button('Imprimir DANFE', 'imprimirDanfe'); const fiscal = this.buttonGroup('Fiscal', ['Emitir NF-e', 'Imprimir DANFE']); fiscal.help = 'Operações fiscais do pedido.'; // O grupo pode ser informado pela instância ou pelo nome this.visibleButtons = ['Aprovar', fiscal, 'Exportar']; this.visibleButtons = ['Aprovar', 'Fiscal', 'Exportar']; -
clearActions()
-
Equivalente ao método clearButtons.
- Deprecated:
-
- Utilize clearButtons.
- See:
-
- Process#clearButtons
-
clearButtons()
-
Remove os botões declarados no processo.
-
clearHistory()
-
Limpa o histórico do botão voltar, impossibilitando que o usuário volte a uma interação anterior.
Um cenário comum de uso deste método são os processos que são realizados em etapas e se deseja que o usuário não volte para uma etapa anterior caso ele tenha concluído o processo. Nesses casos, pode ser utilizado o
clearHistoryna última interação, garantindo que o usuário não retorne para as anteriores, e na primeira, necessário para o caso do usuário reiniciar o processo, não permitindo que ele volte para a última interação.Importante: a limpeza do histórico deve ser realizada no início da definição da interação, antes da escrita dos componente visuais e das execuções do método
write.Example
this.interaction('finish', function () { this.clearHistory(); }); -
close()
-
Este método existe para contornar um bug do contador de referência dos objetos no ambiente JavaScript quando ocorre referência circular.
-
closeTab( [opt_targetTabId])
-
Fecha a aba que contém o processo, e o processo em si.
Parameters:
Name Type Argument Description opt_targetTabIdnumber <optional>
Identificador da aba a ser selecionada após o fechamento da aba atual.
-
confirm(msg [, opt_noAsDefault])
-
Exibe uma janela solicitando confirmação do usuário.
Parameters:
Name Type Argument Description msgstring Mensagem com a pergunta a ser exibida para o usuário.
opt_noAsDefaultboolean <optional>
Determina se a resposta padrão é "não".
Returns:
Retorna
truese o usuário confirmar, oufalsecaso contrário.- Type
- boolean
Example
var resposta = this.confirm ('Mensagem', true); -
confirmUser( [message])
-
Exibe uma janela de confirmação solicitando que o usuário atualmente logado reautentique sua identidade inserindo sua senha ou utilizando um provedor de identidade se o login foi feito por aquele provedor. É indicado que seja utilizado para operações sensíveis que exigem garantia de que o operador presente no momento é de fato o dono da sessão.
Parameters:
Name Type Argument Description messagestring <optional>
Mensagem indicando o propósito da confirmação de identidade. Caso não seja informado nenhum valor, será exibida a mensagem padrão "Confirme sua identidade para continuar".
Returns:
Retorna
truese a identidade for confirmada com sucesso, oufalsese o usuário cancelar o diálogo. Será disparado um erro caso o tempo limite de espera seja atingido.- Type
- boolean
Example
const confirmed = this.confirmUser('Mensagem de confirmação de identidade.'); -
copyToClipboard(text [, options])
-
Tenta copiar o texto informado para a área de transferência do sistema operacional.
Parameters:
Name Type Argument Description textstring optionsObject <optional>
Opções de cópia
Properties
Name Type Argument Description successMessagestring <optional>
Mensagem exibida em caso de sucesso. Informe uma string vazia para não exibir mensagem.
-
deleteGrid(name)
-
Exclui uma grade criada anteriormente pelo método grid. As grades detalhes também serão excluídas.
Parameters:
Name Type Description namestring Nome da grade a ser excluída.
- See:
-
- Process#grid
Returns:
True se localizou e apagou a grade informada e todas as suas grades detalhes.
-
download(files [, options])
-
Realiza uma operação de download dos arquivos.
Quando informado mais de um arquivo, esse método irá compactá-los em um arquivo zip com todos os arquivos informados.
Poderão ser informados arquivos de diferentes fontes de armazenamentos, como o sistema de arquivos do sistema operacional, a Virtual File System, a Union File System ou a LobStorage.
Parameters:
Name Type Argument Description filesstring | number | DBKey | Array.<(string|number|DBKey)> Arquivos que serão descarregados pelo usuário.
optionsDownloadOptions | Record.<*, *> <optional>
Opções da operação do download. Ver DownloadOptions para mais detalhes.
Examples
process.download(filePath);
process.download([filePath, vfsKey, lobKey], { fileName: 'Anexos da operação' }); -
dsvLink(name, dsvKey [, opt_newTab])
-
Cria uma âncora para uma consulta automatizada.
Parameters:
Name Type Argument Description namestring Nome da âncora.
dsvKeynumber Chave da consulta automatizada.
opt_newTabboolean <optional>
True para abrir o processo referenciado pela âncora em uma nova aba.
Returns:
Âncora para uma consulta automatizada
- Type
- Object
-
findGrid(name)
-
Pesquisa uma grade do processo pelo seu nome.
Parameters:
Name Type Description namestring Nome único da grade no processo.
Returns:
Grade encontrada ou
nullcaso não exista uma com o nome informado.- Type
- Grid
-
getFileId(filePathOrVfsKey)
-
Retorna um identificador para um arquivo do sistema operacional ou da Virtual File System, para que possa ser utilizado em uma operação de download via API Link.prototype.srcId.
O uso desta API não é mais recomendado, pois a sessão do usuário é bloqueada enquanto o arquivo é descarregado. Prefira utilizar o método Process.prototype.download.
Parameters:
Name Type Description filePathOrVfsKeyPath do arquivo ou chave do script na ivfs
- See:
Returns:
Id para o arquivo
- Type
- string
-
getLinks()
-
Obtém um mapa dos links criados no processo. O mapa associa o nome do link à instância criada.
Returns:
- Type
- Record.<string, Link>
-
getSimpleLayout()
-
Cria uma instância do SimpleLayout.
Returns:
Instância do SimpleLayout.
- Type
- SimpleLayout
-
getVisibleGridNames()
-
Obtém os nomes das grades que estão visíveis na interação corrente.
Returns:
Array com os nomes das grades visíveis na interação corrente.
- Type
- string
-
grid(name [, opt_ds] [, opt_classKey] [, opt_masterGrid])
-
Cria ou retorna uma grade previamente definida.
Parameters:
Name Type Argument Description namestring Nome da grade.
opt_dsDataSet <optional>
Se informado, teremos uma grade de registros se não, teremos uma grade de variáveis.
opt_classKeynumber <optional>
Chave da classe que terá definição de campos da grade, somente utilizado para grades de registros. A classe de definição dos campos é um arquivo x-class onde todas as configurações, assim como os campos, estão definidos.
opt_masterGridGrid <optional>
Define quem é a grade mestre, fazendo assim um relação de masterDetail.
Essa relação é automaticamente criada quando, na definição dos campos da grade, define-se um campo do tipo "grid".
Returns:
- Type
- Grid
Example
this.ds = classes.getCachedDataSet(-2090000000); var grid = this.grid("exemplo", this.ds); -
hasButton(name)
-
Indica se um botão com o nome informado já existe no processo.
Parameters:
Name Type Description namestring Nome do botão a ser verificado.
Returns:
True se existir um botão com o nome informado.
- Type
- boolean
-
hasButtonGroup(name)
-
Indica se um grupo de botões com o nome informado já existe no processo.
Parameters:
Name Type Description namestring Nome do grupo a ser verificado.
Returns:
True se existir um grupo de botões com o nome informado.
- Type
- boolean
-
hasPermission(permissionKeyWord)
-
Verifica se o usuário tem determinada permissão previamente configurada pela propriedade permissionKeyWords.
Parameters:
Name Type Description permissionKeyWordstring Palavra chave de permissão. Indica que permissão o usuário precisa ter acesso para a execução da interação.
Returns:
- Type
- boolean
Example
// Definindo a permissão. this.permissionKeyWords.push('podeAprovar') //Durante a execução de uma atividade está sendo verificado a permissão. this.activity('executa', function () { ... if (this.hasPermission('podeAprovar')) { ... } ... }) -
interaction(name, func [, opt_permKeyWord] [, opt_exitFunc])
-
Cria ou redefine uma interação. Interação se trata de um conjunto de instruções que retornam uma saída visual para o usuário. Ao final de uma interação o fluxo de execução para esperando a interação com o usuário.
Parameters:
Name Type Argument Description namestring Nome da interação.
funcfunction Função de definição da interação.
opt_permKeyWordstring <optional>
Palavra chave de permissão. Indica que permissão o usuário precisa ter acesso para a execução da interação.
opt_exitFuncfunction <optional>
Evento disparado ao ser fechado a interação corrente.
- See:
-
- Process#hasPermission
- Process#permissionKeyWord
- Process#activity
Returns:
A interação identificada por name.
- Type
- Interaction
Example
// No Exemplo abaixo está sendo definida uma interação que só pode ser // executada // pelos usuários que possuem a permissão can_calculate this.interaction('calculate', function () { // }, "can_calculate") -
label(name [, text])
-
Objeto utilizado para escrita de mensagens na tela.
Parameters:
Name Type Argument Description namestring Nome do label, se não for definido o texto a ser escrito na tela, o texto exibido será o definido pelo parâmetro name.
textstring <optional>
Conteúdo a ser exibido pelo label.
Returns:
Objeto que deve ser utilizado para escrever mensagens na tela do usuário.
Example
var label = this.label("labelName", "Selecione uma opção acima.") label.write() -
link(name [, nextInteractionNameOrFunction] [, processKey] [, newTab])
-
Cria uma âncora que quando clicada direciona o usuário para uma Interação, Atividade ou Executa uma função desejada.
Parameters:
Name Type Argument Description namestring Nome da âncora.
nextInteractionNameOrFunctionstring | function <optional>
Nome da interação ou atividade. Também é possível informar a função que será executada ao clicar, esta função recebe como parâmetro a instância do link.
processKeynumber <optional>
Chave do processo.
newTabboolean <optional>
Indica se deve ser criada uma nova aba para a Interação ou Atividade seguinte.
Returns:
Objeto que representa uma âncora e que pode ser escrita utilizando o método
write.- Type
- Link
Example
const link = process.link("Nome do link", "Interação"); link.write(); -
loadModule(path)
-
Executa a função exportada pelo módulo informado com o objetivo de definir o processo.
Atualmente, os processos são definidos em arquivos da Virtual File System, cujo conteúdo são scripts que são injetados durante a construção do processo. Na construção do processo,
thisé a instância do processo, no entanto, ferramentas de análise de código não conseguem deduzir essa informação e presumem quethisseja o objeto global, prejudicando a sugestão e validação de códigos.Este método tem o propósito de permitir que a definição do processo seja realizada por uma função declarada em um módulo JavaScript utilizando uma sintaxe que permita a inferência correta de tipos.
A função exportada pelo módulo receberá como parâmetro a instância do processo e deverá configurar todas as propriedades e interações dentro do escopo da função. No escopo do módulo devem ser declaradas apenas as variáveis e constantes que podem ser compartilhadas por todas as instâncias do mesmo processo.
É importante observar que os módulos são por especificação singletons, portanto, o código-fonte que define o módulo é executado uma única vez, enquanto a função exportada pelo método será executada para cada instância construída do mesmo processo. Diferentemente da função
require, este método recarregará o módulo caso seja detectada uma modificação no arquivo que o definiu.Para mais detalhes e exemplos de uso, veja a documentação no site https://nginstack.com.
Parameters:
Name Type Description pathstring Caminho ou identificador do módulo a ser carregado.
-
lookup(field)
-
Dispara grade lookup em campos da grade que estejam relacionados com registros de uma tabela.
Parameters:
Name Type Description fieldGridField Campo que possui a propriedade lookup definida.
-
playAudio(id)
-
Reproduz um áudio no navegador do usuário.
Parameters:
Name Type Description idstring Identificador do áudio a ser reproduzido.
-
prompt(label, answers, options)
-
Exibe um diálogo de pergunta com opções de resposta para o usuário.
Se houver uma opção com o rótulo "Cancelar" e se não for informado um valor específico para o cancelamento do diálogo através da opção
cancelReturnValue, o sistema adotará essa opção como valor de retorno no cancelamento do diálogo e não a apresentará na lista de opções.Para fins de compatibilidade, este método também aceita os parâmetros utilizando a seguinte assinatura:
prompt(label, answers, verticalAlign, defaultOptionIndex, escapeIndex)Na assinatura acima,
verticalAligné ignorado,defaultOptionIndexé o índice da opção selecionada por padrão, equivalente à opçãodefaultIndex, eescapeIndexé o índice da opção que conterá o valor retornado caso o usuário cancele o diálogo. A opção indicada por esse índice será suprimida.Parameters:
Name Type Description labelstring Mensagem com a pergunta a ser exibida para o usuário.
answersArray.<Array> Array com pares (rótulo, valor de retorno) de respostas a serem exibidas para o usuário. Ex: [['Resposta 1', valorRetorno1], ['Resposta 2', valorRetorno2]].
optionsPromptOptions Configurações adicionais do diálogo.
Returns:
Valor da opção selecionada pelo usuário.
- Type
- *
Example
const result = process.prompt('Selecione o tamanho do papel', [ ['A4', 1], ['Carta', 2], ['Ofício', 3], ], { defaultIndex: 0, cancelReturnValue: null }); -
requires(uri)
-
Adiciona arquivos como requeridos no processo. Esse método carrega o arquivo apenas uma vez por processo no fim da escrita antes do