Adicionar Script de Servidor

Para ser gerado uma nova adição de script de servidor, basta realizar o clique no botão que esta localizado acima da tabela onde estão e estarão contidos todos os scripts de servidor adicionados, localizado assim a direita da página acima "Adicionar Script de Servidor"

Ao selecionar "Adicionar Script de Servidor" irá abrir esta página conforme a imagem mostrada abaixo, contendo algumas informações a serem preenchidas podendo ser obrigatórias ou não para esta adição de script, a depender do Tipo de Roteiro requerido iram ser implementadas informações adicionadas

Tipo de Roteiro

Evento DocType

O evento DocType é uma funcionalidade que permite a execução em momentos específicos do ciclo de vida de um DocType. Esses scripts são escritos utilizando a linguagem de marcação Jinja e são acionados em resposta a eventos predefinidos relacionados ao DocType. Ao definir um evento DocType, pode selecionar entre uma variedade de eventos disponíveis, como "antes da inserção", "antes de salvar", "após salvar", "antes de enviar" entre outros. Cada evento tem um propósito específico e ocorre em um momento determinado ao qual é selecionado durante sua criação

A escolha do tipo de roteiro "Evento DocType" além dos campos padrão, como Nome (obrigatório o seu preenchimento), Módulo, Campo para escrita e a opção de caixa de seleção "Desativado", são incluídos campos adicionais, sendo eles Referência do Tipo de Documento e Evento DocType.

Através do campo Evento DocType, é possível selecionar o evento desejado a ser executado em um período específico, de acordo com a necessidade. Abaixo estão listadas as opções disponíveis para escolha:

  • Antes da Inserção : Executa a ação antes de inserir.

  • Antes de Validar : Executa a ação antes da sua validação .

  • Antes de Salvar : Executa a ação antes do seu salvamento.

  • Inserção Pós : Executa a ação após a sua inserção.

  • Após Salvar : Executa a ação após o salvamento.

  • Antes de Enviar : Executa a ação antes do envio.

  • Após o Envio: Executa a ação após o seu envio.

  • Antes de Cancelar : Executa a ação antes de cancelar.

  • Após Cancelar : Executa a ação após o cancelamento.

  • Antes de Excluir : Executa a ação antes de sua exclusão.

  • Após Excluir : Executa a ação após a exclusão.

  • Antes de Salvar (documento enviado) : Executa a ação antes de seu salvamento de um documento enviado.

  • Após Salvar (documento enviado) : Executa a ação após o salvamento de um documento enviado.

Ajuda

Adicione lógica para eventos DocType padrão, como Antes de inserir, Depois de enviar e etc.

# definir propriedade
if "test" in doc.description:
	doc.status = 'Closed'


# validar
if "validate" in doc.description:
	raise neo.ValidationError

# criar automaticamente outro documento
if doc.allocated_to:
	neo.get_doc(dict(
		doctype = 'ToDo'
		owner = doc.allocated_to,
		description = doc.subject
	)).insert()

Evento Scheduler

O evento scheduler se refere a uma funcionalidade que permite agendar a execução de scripts em momentos regulares (como por exemplo cada hora, dia, semana e entre outros). Ele permite automatizar a execução de determinadas ações de forma programada, sem a necessidade de intervenção manual.

Caso seja escolhido o tipo de roteiro "Evento Scheduler", além dos campos existentes como nome (obrigatório o seu preenchimento), módulo, campo para escrita e uma Check Box "Desativado", são adicionados novos campos, incluindo Frequência do Evento, que define a frequência na qual o evento será executado. O campo "Frequência do Evento" é de preenchimento obrigatório e permite selecionar a frequência desejada para a execução do evento em um período de tempo específico.

A opção de Frequência do Evento oferece diversas implementações de tempo para escolha, incluindo:

  • Todos : Executar em todos os momentos.

  • De Hora em Hora : Executar a cada hora.

  • Diário : Executar uma vez por dia.

  • Semanal : Executar uma vez por semana.

  • Mensal : Executar uma vez por mês.

  • Anual : Executar uma vez por ano.

  • Por Hora : Definir um intervalo de horas específico.

  • Diário Longo : Definir um intervalo de dias específico.

  • Semanalmente Longo : Definir um intervalo de semanas específico.

  • Mensalmente Longo : Definir um intervalo de meses específico.

Permission Query

Permission Query refere-se a uma funcionalidade em sistemas de gerenciamento de permissões que permite verificar se um determinado usuário tem permissão para realizar uma determinada ação ou acessar um recurso específico.

Uma consulta de permissão é realizada através de uma consulta programática onde é preenchida com o código no campo, onde são definidos critérios e condições para permissão. Ao executar uma consulta de permissão, o sistema avalia as regras e políticas de permissão configuradas, verificando se atende a critérios estabelecidos

Caso seja escolhido o tipo de roteiro "Permission Query", além dos campos existentes como nome (obrigatório o seu preenchimento), módulo, Campo para escrita e uma Check Box "Desativado", é adicionado um novo campo, assim incluindo Referência Tipo de Documento

Adicione condições à cláusula onde das consultas de lista

# gerar condições dinâmicas e configurá-lo na variável de condições
tenant_id = neo.db.get_value(...)
conditions = 'tenant_id = {}'.format(tenant_id)

# consulta de seleção resultante
select name from `tabPerson`
where tenant_id = 2
order by creation desc

API

Ao selecionar o tipo de roteiro "API", além dos campos existentes, como nome (obrigatório o seu preenchimento), Módulo, Campo para escrita e uma Check Box "Desativado", é adicionado um novo campo chamado Método API. O campo "Método API" permite selecionar o método de API ao qual o roteiro será redirecionado. Isso significa que o roteiro será acionado quando o método API correspondente for chamado.

Além disso, inclui uma Check Box que permite adicionar uma permissão de convidado. Essa funcionalidade pode ser útil para permitir acesso limitado a determinadas funcionalidades ou recursos por usuários externos. A utilização do tipo de roteiro "API" permite a integração do sistema com outras aplicações ou serviços, facilitando a troca de dados e a execução de ações programáticas de forma automatizada.

Responder a /api/método/ chamadas, assim como os métodos da lista de permissões

# responder à API

if neo.form_dict.message == "ping":
	neo.response['message'] = "pong"
else:
	neo.response['message'] = "ok"

Após concluir todas as adições e alterações de conteúdo necessárias, o usuário pode salvar as modificações realizadas clicando no botão "Salvar". Este botão está localizado no canto superior direito da página.

Ao clicar em "Salvar", todas as inclusões e alterações de conteúdo serão persistidas e armazenadas. Isso garante que as informações sejam salvas e estejam disponíveis para uso posterior. O processo de salvamento permite que o usuário mantenha um registro atualizado e seguro de todas as edições realizadas.

Caso venha receber essa informação após a tentativa de realização do salvamento, é necessário verificar os campos obrigatórios que não foram preenchidos e preenchê-los corretamente para permitir o salvamento. A presença dessa mensagem indica que existem campos que são requeridos para concluir o processo de salvamento.

Certifique-se de revisar todas as informações necessárias e garantir que os campos obrigatórios estejam devidamente preenchidos antes de prosseguir com o salvamento. Ao preencher os campos obrigatórios, você poderá salvar os dados com sucesso.

Formatação do Campo

Sua formatação do campo localizada na pagina inicial é como a seguinte imagem ao qual se contém o nome como foi configurado, caso venha realizar o clique na Check Box "Desativado" irá realizar a mostragem nessa tela ao caso não venha passará a mostrar "Ativado" e por fim mostrará o tipo de roteiro ao qual foi selecionado podendo ser "Evento DocType", "Evento Scheduler", "Permission Query" e "API"

Last updated