Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
...
Classe: tNewProcess
Cria uma tela de processamento, separada por janelas onde visualiza-se os Perguntes e o log de processamento, além dos parâmetros (SX6) e tabelas (SX5) da rotina (se houver). Ao confirmar o processamento, pode-se optar em exibir a régua de processamento da rotina.
...
Informações |
---|
A partir da lib 20240520 quando implementados os controles da régua 1 (SetRegua1 e IncRegua1) e executada a rotina via scheduler por meio do "Agendamento" ou "Processamento em Segundo Plano", o usuário será notificado via EventViewer sobre o progresso do processamento (25%, 50%, 75% e Processamento Concluído). Para maiores informações consulte EventViewer - Eventos de Progresso |
Métodos
...
New
Método construtor da classe tNewProcess.
Sintaxe
tNewProcess(): New ( < cFunction>, [ cTitle], < bProcess>, [ cDescription], [ cPerg], [ aInfoCustom], [ lPanelAux], [ nSizePanelAux], [ cDescriAux], [ lViewExecute], [ lOneMeter], [lSchedAuto] ) --> Nil
Nome | Tipo | Descrição | Obrigatório | Referência |
cFunction | Caracter | Nome da função que está chamando o objeto. | X | |
cTitle | Caracter | Título da árvore de opções. | ||
bProcess | Bloco de código | Bloco de execução que será executado ao confirmar a tela. | X | |
cDescription | Caracter | Descrição da rotina | ||
cPerg | Caracter | Nome do Pergunte (SX1) a ser utilizado na rotina. | ||
aInfoCustom | Array of Record | Informações adicionais carregada na árvore de opções. Estrutura:[1] - Nome da opção[2] - Bloco de execução[3] - Nome do bitmap[4] - Informações do painel auxiliar. | ||
lPanelAux | Lógico | Se .T. cria |
...
um novo painel auxiliar ao executar a rotina. | ||||
nSizePanelAux | Numérico | Tamanho do painel auxiliar, utilizado quando lPanelAux = .T. | ||
cDescriAux | Caracter | Descrição a ser exibida no painel auxiliar. | ||
lViewExecute | Lógico | Se .T. exibe o painel de execução. Se falso, apenas executa a função sem exibir a régua de processamento. | ||
lOneMeter | Lógico | Se .T. cria apenas uma |
...
régua de processamento. |
lSchedAuto | Lógico | Se .T. habilita o botão de processamento em segundo plano (execução ocorre pelo Scheduler) Disponivel a partir da lib 20240520 |
...
IncRegua1
Altera mensagem exibida da primeira régua de processamento.
Informações | ||
---|---|---|
| ||
A quantidade de chamadas do método IncRegua1 deve coincidir exatamente com o valor definido no método SetRegua1. |
tNewProcess(): IncRegua1 ( [ cMsg] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
cMsg | Caracter | Mensagem de processamento da régua. |
...
IncRegua2
Altera mensagem exibida da segunda régua de processamento.
tNewProcess(): IncRegua2 ( [ cMsg] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
cMsg | Array of Record | Mensagem de processamento da régua. |
SaveLog
SaveLog
Grava log de processamento no SXU.
Sintaxe
tNewProcess(): SaveLog ( [ cText] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
cText | Caracter | Texto para gravação do log |
...
Exemplo:
oProcess:SaveLog("
...
Gravação de
...
log")
Informações | ||
---|---|---|
| ||
-
|
SetRegua1
SetRegua1
Seta primeira régua de processamento.
Sintaxe
tNewProcess(): SetRegua1 ( [ nSet] )
...
→
Nome | Tipo | Descrição | Obrigatório | Referência |
nSet | Numérico | Tamanho do processamento da |
...
régua |
oProcess:SetRegua1(1)
SetRegua2
SetRegua2
Seta segunda régua de processamento.
tNewProcess(): SetRegua2 ( [ nSet] ) -->
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
nSet | Numérico | Tamanho do processamento da |
...
régua. |
oProcess:SetRegua2(1)
ControlledErrorEV
Metodo que emite um evento de erro controlado no EventViewer para processos em segundo plano.
Permite que o desenvolvedor implemente erros controlados, visando situações que o desenvolvedor quer encerrar o processamento por conta própria sem um errorlog (ex.: validação de regra de negócio que não permita continuidade do processamento).
tNewProcess(): ControlledErrorEV ( [cDetail] ) -->
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
cDetail | Charactere | Mensagem que será adicionada aos detalhes do evento de progresso. | X |
If !lValid
oProcess:ControlledErrorEV("Erro controlado")
Exit
EndIf
Informações | ||
---|---|---|
| ||
Uma vez chamado o metodo e emitido o evento, nenhuma nova notificação de progresso é emitida para o processo vigente, ficando a cargo do desenvolvedor implementar o encerramento do processo. |
...
Processamento em Segundo Plano
A partir da lib 20240520 foi disponibilizada a opção de Processamento em Segundo Plano que possibilita o processamento da rotina em segundo plano pelo Scheduler.
Diferente da opção "Agendar" que necessita toda a parametrização de agendamento do Scheduler pelo usuário, a opção "Processamento em Segundo Plano" emite uma tarefa considerando os seguintes pontos:
- Recorrência: Única
- Usuário: Usuário logado no momento
- Empresa/Filial: Empresa/Filial logada no momento
- Data/hora execução: Data e hora atual
- Módulo: Módulo logado
- Rotina: A rotina que implementou o TnewProcess (conforme retorno da função funName())
Informações | ||
---|---|---|
| ||
|
TNewProcess simples
Informações | ||
---|---|---|
| ||
Os botões "Agendar" e "Executar em segundo plano" apenas são exibido se o Scheduler estiver ativo. |
TNewProcess customizado
Bloco de código | ||||
---|---|---|---|---|
| ||||
Propriedade | Descrição | Tipo | Array of Record |