Mudanças entre as edições de "Scripts de Sistema"
(Criou página com '==='''Conceito'''=== ==='''Scripts Disponíveis'''=== *'''OnCloseFormPrincipal:''' Este ponto de script é acionado no momento em que o formulário principal do sistema é...') |
|||
| (Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
| Linha 1: | Linha 1: | ||
==='''Conceito'''=== | ==='''Conceito'''=== | ||
| + | Os scripts de sistema podem ser definidos diretamente no script da tela principal do sistema, permitindo associar procedimentos personalizados a eventos internos da aplicação. | ||
| + | Esses eventos são disparados automaticamente em momentos específicos, como o fechamento do sistema ou de cadastros, possibilitando executar ações complementares, validações ou outras rotinas personalizadas. | ||
| − | ===''' | + | ==='''Procedimentos Disponíveis'''=== |
| − | *'''OnCloseFormPrincipal:''' Este | + | *'''OnCloseFormPrincipal:''' Este evento é acionado no momento em que o formulário principal do sistema está sendo encerrado. Pode ser utilizado para executar rotinas de finalização, gravação de logs, validações ou bloquear o fechamento do sistema sob determinadas condições. |
**'''Parâmetros:''' | **'''Parâmetros:''' | ||
***CadastrosAbertos: String contendo a lista dos cadastros que estavam abertos no momento do fechamento. O formato é um JSON com informações sobre o nome do cadastro e os identificadores selecionados. Exemplo de formato: | ***CadastrosAbertos: String contendo a lista dos cadastros que estavam abertos no momento do fechamento. O formato é um JSON com informações sobre o nome do cadastro e os identificadores selecionados. Exemplo de formato: | ||
| Linha 39: | Linha 41: | ||
if not (Q.Vazia) then | if not (Q.Vazia) then | ||
| − | ErroValidacao('não é possível fechar com lançamento da tesouraria não confirmado.'); | + | ErroValidacao('não é possível fechar com lançamento da tesouraria não confirmado.'); |
finally | finally | ||
Q.Free; | Q.Free; | ||
| Linha 51: | Linha 53: | ||
end; | end; | ||
| − | *'''OnCloseFormCadastro:''' Este | + | *'''OnCloseFormCadastro:''' Este evento é acionado no momento em que um formulário de cadastro é fechado. Permite executar ações específicas relacionadas a cada cadastro, como validações, atualizações de status, etc. |
**'''Parâmetros:''' | **'''Parâmetros:''' | ||
***Cadastro: Nome do cadastro que está sendo fechado. | ***Cadastro: Nome do cadastro que está sendo fechado. | ||
| Linha 74: | Linha 76: | ||
if not (Q.Vazia) then | if not (Q.Vazia) then | ||
| − | ErroValidacao('não é possível fechar com lançamento da tesouraria não confirmado.'); | + | ErroValidacao('não é possível fechar com lançamento da tesouraria não confirmado.'); |
finally | finally | ||
Q.Free; | Q.Free; | ||
Edição atual tal como às 17h45min de 17 de outubro de 2025
Conceito
Os scripts de sistema podem ser definidos diretamente no script da tela principal do sistema, permitindo associar procedimentos personalizados a eventos internos da aplicação. Esses eventos são disparados automaticamente em momentos específicos, como o fechamento do sistema ou de cadastros, possibilitando executar ações complementares, validações ou outras rotinas personalizadas.
Procedimentos Disponíveis
- OnCloseFormPrincipal: Este evento é acionado no momento em que o formulário principal do sistema está sendo encerrado. Pode ser utilizado para executar rotinas de finalização, gravação de logs, validações ou bloquear o fechamento do sistema sob determinadas condições.
- Parâmetros:
- CadastrosAbertos: String contendo a lista dos cadastros que estavam abertos no momento do fechamento. O formato é um JSON com informações sobre o nome do cadastro e os identificadores selecionados. Exemplo de formato:
- Parâmetros:
[
{"Nome": "BOLETOS", "IDs": "459,160"},
{"Nome": "LANCAMENTOSTESOURARIA", "IDs": "186"}
]
- Exemplo: O exemplo abaixo demonstra como utilizar o ponto de execução OnCloseFormPrincipal para impedir o fechamento do sistema caso existam lançamentos de tesouraria não confirmados.
procedure OnCloseFormPrincipal(CadastrosAbertos:String);
var
pJson:TPHJson;
I:Integer;
Q:TPHQuery;
begin
if not (CadastrosAbertos = ) then
begin
pJson := TPHJson.Create;
try
pJson.LerJson(CadastrosAbertos);
for I := 0 to pJson.Count - 1 do
begin
{ Tela de Lançamento da Tesouraria Aberta }
if (pJson.Linha(I).ElementoDoNome('Nome').Texto = 'LANCAMENTOSTESOURARIA') then
if not (pJson.Linha(I).ElementoDoNome('IDs').Texto = ) then
begin
Q := NewPHQuery;
try
Q.Add('SELECT ID '+
'FROM LANCAMENTOSTESOURARIA ' +
'WHERE SITUACAO = 1 '+
'AND ID IN ('+pJson.Linha(I).ElementoDoNome('IDs').Texto+')');
Q.Open;
if not (Q.Vazia) then
ErroValidacao('não é possível fechar com lançamento da tesouraria não confirmado.');
finally
Q.Free;
end;
end;
end;
finally
pJson.Free;
end;
end;
end;
- OnCloseFormCadastro: Este evento é acionado no momento em que um formulário de cadastro é fechado. Permite executar ações específicas relacionadas a cada cadastro, como validações, atualizações de status, etc.
- Parâmetros:
- Cadastro: Nome do cadastro que está sendo fechado.
- IDs: Identificadores dos registros que estavam selecionados no momento do fechamento.
- Exemplo: O exemplo abaixo demonstra como utilizar o ponto de execução OnCloseFormPrincipal para impedir o fechamento do sistema caso existam lançamentos de tesouraria não confirmados.
- Parâmetros:
procedure OnCloseFormCadastro(Cadastro:String; IDs:String);
var
Q:TPHQuery;
begin
if (Cadastro = 'LANCAMENTOSTESOURARIA') then
begin
if not (IDs = ) then
begin
Q := NewPHQuery;
try
Q.Add('SELECT ID '+
'FROM LANCAMENTOSTESOURARIA ' +
'WHERE SITUACAO = 1 '+
'AND ID IN ('+IDs+')');
Q.Open;
if not (Q.Vazia) then
ErroValidacao('não é possível fechar com lançamento da tesouraria não confirmado.');
finally
Q.Free;
end;
end;
end;
end;