Classe responsável pelo gerenciamento automático de agendamentos do Smart Schedule, permitindo as operações de inclusão, alteração e exclusão de agendamentos de maneira automática.
Namespace
TOTVS.FRAMEWORK.SCHEDULE
Importante
Para o funcionamento desta classe, se faz necessário a preparação do ambiente com usuário que possua privilégios de Administrador.
Disponível a partir do release 2410, para LIB 20240115.
Métodos
New()
Método para instanciar a classe (construtor).
Exemplo de uso:
|
setRoutine()
Método para definir a rotina/função de execução do agendamento.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cRoutine | Caractere | X | Nome da Rotina/Função. |
Retorno:
lReturn, lógico, indica se a rotina é valida para o cadastro do Schedule.
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setRoutine
() → True/False
setFirstExecution()
Método para definir data e hora da primeira execução do agendamento.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
dDate | Data | X | Data do agendamento | |
cTime | Caractere | X | Hora do agendamento Formato: "HH:MM:SS" |
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setFirstExecution
() → nil
setPeriod()
Método para definição da periodicidade do agendamento.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cType | Caractere | X | U | Tipo da Periodicidade: U - Única |
nDayInit | Numérico | Dia de Início (Apenas para o tipo MENSAL). | ||
nHourInit | Numérico | Hora de Início. | ||
nMinuteInit | Numérico | Minuto de Início. | ||
aWeekDays | Array | Dias da Semana (Apenas para o tipo SEMANAL). Formato: [1..7] - Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Retorno:
lPeriod, lógico se a periodicidade foi definida.
Exemplo de uso:
Única
|
Diária, todos os dias ao meio dia;
|
Semanal, apenas terças e quintas as 20:00;
|
Mensal, iniciando dia 10 as 9:30;
|
Sintaxe: oScheduleAuto:setPeriod
() → True/False
setFrequency()
Método para definição da frequência do agendamento.
Importante
Definição apenas para periodicidades Diária/Semanal/Mensal. Uma vez definido as informações de periodicidade as definições da frequência deverão ser refeitas.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cType | Caractere | X | Tipo da Frequência: D - Dia | |
nInterval | Numérico | X | Intervalo de execução/frequência. | |
nDayLimit | Numérico | Dia do Término. | ||
nHourLimit | Numérico | Hora do Término. | ||
nMinuteLimit | Numérico | Minuto do Término. |
Retorno:
lFrequency, lógico se a frequência foi definida.
Exemplo de uso:
Frequência a cada 5 dias, terminando dia 20;
|
Frequência a cada 6 horas, encerrando as 18:00;
|
Frequência a cada 30 minutos, encerrando as 22:30;
|
Sintaxe: oScheduleAuto:setFrequency
() → True/False
setRecurrence()
Método para definir a recorrência do agendamento.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
lRecurrence | Lógico | X | .F. | Ativa/Desativa a recorrência. |
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setRecurrence
() → nil
setDiscard()
Método para definir se descarta as tarefas atrasadas do agendamento.
Obs.: O mesmo só será setado caso a tarefa tenha frequência.
Método disponível a partir da LIB Label 20240520
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
lDiscard | Lógico | X | .F. | Ativa/Desativa o descarte das tarefas atrasadas. |
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setDiscard
() → nil
setEnvironment()
Método para definir ambiente, empresas e filiais de execução do agendamento.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cEnvironment | Caractere | GetEnvServer() | Nome do ambiente. | |
aCompanyBranches | Array | X | Array contendo as Empresas e Filiais do agendamento. Formato: |
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setEnvironment
() → nil
setModule()
Método para definir o módulo de execução do agendamento.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
nModeule | Numérico | X | Número do Módulo, |
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setModule
() → nil
setUser()
Método para definir o usuário de execução.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cUser | Caractere | X | Código do Usuário. |
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setUser
() → nil
setDescription()
Método para definir a descrição do agendamento.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cDescription | Caractere | X | Descrição do agendamento. |
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setDescription
() → nil
setParams()
Método para definir o preenchimento dos parâmetros de execução definidos via SXD ou SchedDef() da Rotina.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
aMVParams | Array | X | Array de parâmetros(MV_PAR's) Formato Pergunte(SX1): Obs.: preenchimento deve respeitar a tipagem de cada pergunte definido no dicionário SX1, como: caractere, numérico ou data. |
Exemplo de uso via Pergunte(SX1):
|
Exemplo de uso via PARAMDEF:
|
Sintaxe: oScheduleAuto:setParams
() → nil
setForms()
Método para definir o preenchimento das formulas que representam os parâmetros de execução definidos via SXD ou SchedDef() da Rotina.
Importante
Preenchimento de formulas não permitido quando os parâmetros definido via PARAMDEF.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
aMVForms | Array | X | Array de parâmetros(MV_PAR's) Formato: Obs.: preenchimento através de STRING que representa a expressão a ser executada para preenchimento do parâmetro. |
Retorno:
lReturn, lógico, indica se as formulas foram definidas.
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setForms
() → True/False
setPrintParams()
Método para definir o preenchimento dos parâmetros de impressão.
Importante
Definição apenas para agendamentos de relatórios.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cTitle | Caractere | Título da impressão. | ||
nPrintFormat | Numérico | Formato da impressão (1-Web Spool/2-Email). | ||
cFileMail | Caractere | Nome do arquivo de impressão ou e-mail destinatario. | ||
nPrintType | Numérico | Tipo de impressão (1-HTML/2-PDF/3-Planilha). | ||
nSheetFormat | Numérico | Formato da planilha (1-Normal/2-Suprime linhas brancas e totais/3-Tabela). |
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setPrintParams
() → nil
setManageable()
Método para definir a permissão de manutenção via App SmartSchedule.
AVISO
Necessário estrutura atualizada da tabela XX1, com a existência do campo XX1_MNTUSR.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
lManageable | Lógico | X | .T. | Permite ao usuário gerenciar o agendamento. |
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setManageable
() → nil
setSchedule()
Método para carregar as definições de um agendamento existente.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cScheduleId | Caractere | X | Código do agendamento. |
Retorno:
lReturn, lógico, indica se o agendamento foi definido.
Exemplo de uso:
|
Sintaxe: oScheduleAuto:setSchedule
() → nil
createSchedule()
Método para inclusão do agendamento com base nas informações pré-definidas.
Retorno:
lReturn, lógico, indica se o agendamento foi incluído.
Exemplo de uso:
|
Sintaxe: oScheduleAuto:createSchedule
() → True/False
updateSchedule()
Método para alteração do agendamento com base nas informações pré-definidas.
Retorno:
lReturn, lógico, indica se o agendamento foi alterado.
Exemplo de uso:
|
Sintaxe: oScheduleAuto:updateSchedule
() → True/False
deleteSchedule()
Método para exclusão do agendamento com base nas informações pré-definidas.
Retorno:
lReturn, lógico, indica se o agendamento foi excluído.
Exemplo de uso:
|
Sintaxe: oScheduleAuto:deleteSchedule
() → True/False
getErrorMessage()
Método recuperar a mensagem de erro em caso de falha na execução da criação, alteração ou exclusão do agendamento.
Retorno:
cMessageError, caractere, mensagem de erro.
Exemplo de uso:
|
Sintaxe: oScheduleAuto:getErrorMessage
() → Caractere
getDialogParams()
Método para preencher os parâmetros visualmente com uma dialog das perguntas assim como ocorre no schedule via interface. (A função deve conter um scheddef assim como ocorre na interface do schedule)
Disponível a partir da lib 20240408.
Retorno:
lReturn, lógico, Indica se a tela foi confirmada ou não.
Exemplo de uso:
|
Sintaxe: oScheduleAuto:getDialogParams
()