<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://wiki.phsys.com.br/index.php?action=history&amp;feed=atom&amp;title=Scripts_de_Sistema</id>
	<title>Scripts de Sistema - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.phsys.com.br/index.php?action=history&amp;feed=atom&amp;title=Scripts_de_Sistema"/>
	<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Scripts_de_Sistema&amp;action=history"/>
	<updated>2026-09-20T14:47:20Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.31.10</generator>
	<entry>
		<id>http://wiki.phsys.com.br/index.php?title=Scripts_de_Sistema&amp;diff=5845&amp;oldid=prev</id>
		<title>Alex.vieira em 20h45min de 17 de outubro de 2025</title>
		<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Scripts_de_Sistema&amp;diff=5845&amp;oldid=prev"/>
		<updated>2025-10-17T20:45:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Edição das 20h45min de 17 de outubro de 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Linha 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===&amp;#039;&amp;#039;&amp;#039;Conceito&amp;#039;&amp;#039;&amp;#039;===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===&amp;#039;&amp;#039;&amp;#039;Conceito&amp;#039;&amp;#039;&amp;#039;===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;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.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;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.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===&amp;#039;&amp;#039;&amp;#039;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Scripts &lt;/del&gt;Disponíveis&amp;#039;&amp;#039;&amp;#039;===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===&amp;#039;&amp;#039;&amp;#039;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Procedimentos &lt;/ins&gt;Disponíveis&amp;#039;&amp;#039;&amp;#039;===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*&amp;#039;&amp;#039;&amp;#039;OnCloseFormPrincipal:&amp;#039;&amp;#039;&amp;#039; Este &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ponto de script &lt;/del&gt;é acionado no momento em que o formulário principal do sistema &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;é &lt;/del&gt;encerrado. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Ele permite &lt;/del&gt;executar rotinas de finalização, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;registro &lt;/del&gt;de logs, ou &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;qualquer outra ação que deva ocorrer antes &lt;/del&gt;do &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;fechamento total da aplicação&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*&amp;#039;&amp;#039;&amp;#039;OnCloseFormPrincipal:&amp;#039;&amp;#039;&amp;#039; Este &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;evento &lt;/ins&gt;é acionado no momento em que o formulário principal do sistema &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;está sendo &lt;/ins&gt;encerrado. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pode ser utilizado para &lt;/ins&gt;executar rotinas de finalização, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;gravação &lt;/ins&gt;de logs, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;validações &lt;/ins&gt;ou &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;bloquear o fechamento &lt;/ins&gt;do &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sistema sob determinadas condições&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**&amp;#039;&amp;#039;&amp;#039;Parâmetros:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**&amp;#039;&amp;#039;&amp;#039;Parâmetros:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;***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:&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;***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:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l51&quot; &gt;Linha 51:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 53:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; end;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; end;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*&amp;#039;&amp;#039;&amp;#039;OnCloseFormCadastro:&amp;#039;&amp;#039;&amp;#039; Este &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ponto de script &lt;/del&gt;é acionado no momento em que um formulário de cadastro é fechado. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Ele permite &lt;/del&gt;executar ações relacionadas &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ao fechamento &lt;/del&gt;de &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;cadastros específicos&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*&amp;#039;&amp;#039;&amp;#039;OnCloseFormCadastro:&amp;#039;&amp;#039;&amp;#039; Este &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;evento &lt;/ins&gt;é acionado no momento em que um formulário de cadastro é fechado. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Permite &lt;/ins&gt;executar ações &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;específicas &lt;/ins&gt;relacionadas &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a cada cadastro, como validações, atualizações &lt;/ins&gt;de &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;status, etc&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**&amp;#039;&amp;#039;&amp;#039;Parâmetros:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**&amp;#039;&amp;#039;&amp;#039;Parâmetros:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;***Cadastro: Nome do cadastro que está sendo fechado.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;***Cadastro: Nome do cadastro que está sendo fechado.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Alex.vieira</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.phsys.com.br/index.php?title=Scripts_de_Sistema&amp;diff=5844&amp;oldid=prev</id>
		<title>Alex.vieira em 20h55min de 16 de outubro de 2025</title>
		<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Scripts_de_Sistema&amp;diff=5844&amp;oldid=prev"/>
		<updated>2025-10-16T20:55:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Edição das 20h55min de 16 de outubro de 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot; &gt;Linha 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  if not (Q.Vazia) then&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  if not (Q.Vazia) then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  ErroValidacao(&amp;#039;não é possível fechar com lançamento da tesouraria não confirmado.&amp;#039;); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  ErroValidacao(&amp;#039;não é possível fechar com lançamento da tesouraria não confirmado.&amp;#039;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  finally&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  finally&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  Q.Free;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  Q.Free;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l74&quot; &gt;Linha 74:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 74:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  if not (Q.Vazia) then&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  if not (Q.Vazia) then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  ErroValidacao(&amp;#039;não é possível fechar com lançamento da tesouraria não confirmado.&amp;#039;); &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  ErroValidacao(&amp;#039;não é possível fechar com lançamento da tesouraria não confirmado.&amp;#039;); &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160;  finally&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160;  finally&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  Q.Free;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  Q.Free;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Alex.vieira</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.phsys.com.br/index.php?title=Scripts_de_Sistema&amp;diff=5843&amp;oldid=prev</id>
		<title>Alex.vieira: Criou página com &#039;===&#039;&#039;&#039;Conceito&#039;&#039;&#039;===   ===&#039;&#039;&#039;Scripts Disponíveis&#039;&#039;&#039;===  *&#039;&#039;&#039;OnCloseFormPrincipal:&#039;&#039;&#039; Este ponto de script é acionado no momento em que o formulário principal do sistema é...&#039;</title>
		<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Scripts_de_Sistema&amp;diff=5843&amp;oldid=prev"/>
		<updated>2025-10-16T20:54:26Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;===&amp;#039;&amp;#039;&amp;#039;Conceito&amp;#039;&amp;#039;&amp;#039;===   ===&amp;#039;&amp;#039;&amp;#039;Scripts Disponíveis&amp;#039;&amp;#039;&amp;#039;===  *&amp;#039;&amp;#039;&amp;#039;OnCloseFormPrincipal:&amp;#039;&amp;#039;&amp;#039; Este ponto de script é acionado no momento em que o formulário principal do sistema é...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===&amp;#039;&amp;#039;&amp;#039;Conceito&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Scripts Disponíveis&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;OnCloseFormPrincipal:&amp;#039;&amp;#039;&amp;#039; Este ponto de script é acionado no momento em que o formulário principal do sistema é encerrado. Ele permite executar rotinas de finalização, registro de logs, ou qualquer outra ação que deva ocorrer antes do fechamento total da aplicação.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Parâmetros:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***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:&lt;br /&gt;
 [&lt;br /&gt;
  {&amp;quot;Nome&amp;quot;: &amp;quot;BOLETOS&amp;quot;, &amp;quot;IDs&amp;quot;: &amp;quot;459,160&amp;quot;},&lt;br /&gt;
  {&amp;quot;Nome&amp;quot;: &amp;quot;LANCAMENTOSTESOURARIA&amp;quot;, &amp;quot;IDs&amp;quot;: &amp;quot;186&amp;quot;}&lt;br /&gt;
 ] &lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Exemplo:&amp;#039;&amp;#039;&amp;#039; 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.&lt;br /&gt;
&lt;br /&gt;
 procedure OnCloseFormPrincipal(CadastrosAbertos:String);&lt;br /&gt;
 var &lt;br /&gt;
   pJson:TPHJson;&lt;br /&gt;
   I:Integer;&lt;br /&gt;
   Q:TPHQuery;                          &lt;br /&gt;
 begin                                      &lt;br /&gt;
   if not (CadastrosAbertos = &amp;#039;&amp;#039;) then  &lt;br /&gt;
   begin    &lt;br /&gt;
     pJson := TPHJson.Create;&lt;br /&gt;
     try&lt;br /&gt;
       pJson.LerJson(CadastrosAbertos);               &lt;br /&gt;
       for I := 0 to pJson.Count - 1 do&lt;br /&gt;
       begin&lt;br /&gt;
         { Tela de Lançamento da Tesouraria Aberta }                  &lt;br /&gt;
         if (pJson.Linha(I).ElementoDoNome(&amp;#039;Nome&amp;#039;).Texto = &amp;#039;LANCAMENTOSTESOURARIA&amp;#039;) then&lt;br /&gt;
           if not (pJson.Linha(I).ElementoDoNome(&amp;#039;IDs&amp;#039;).Texto = &amp;#039;&amp;#039;) then                 &lt;br /&gt;
           begin&lt;br /&gt;
             Q := NewPHQuery;&lt;br /&gt;
             try&lt;br /&gt;
               Q.Add(&amp;#039;SELECT ID &amp;#039;+&lt;br /&gt;
                     &amp;#039;FROM LANCAMENTOSTESOURARIA &amp;#039; +&lt;br /&gt;
                     &amp;#039;WHERE SITUACAO = &amp;#039;&amp;#039;1&amp;#039;&amp;#039; &amp;#039;+&lt;br /&gt;
                     &amp;#039;AND ID IN (&amp;#039;+pJson.Linha(I).ElementoDoNome(&amp;#039;IDs&amp;#039;).Texto+&amp;#039;)&amp;#039;);&lt;br /&gt;
               Q.Open;&lt;br /&gt;
 &lt;br /&gt;
               if not (Q.Vazia) then&lt;br /&gt;
                 ErroValidacao(&amp;#039;não é possível fechar com lançamento da tesouraria não confirmado.&amp;#039;);                                           &lt;br /&gt;
             finally&lt;br /&gt;
               Q.Free;                                                &lt;br /&gt;
             end;              &lt;br /&gt;
           end;          &lt;br /&gt;
       end;                                        &lt;br /&gt;
     finally&lt;br /&gt;
       pJson.Free;                            &lt;br /&gt;
     end;&lt;br /&gt;
   end;&lt;br /&gt;
 end;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;OnCloseFormCadastro:&amp;#039;&amp;#039;&amp;#039; Este ponto de script é acionado no momento em que um formulário de cadastro é fechado. Ele permite executar ações relacionadas ao fechamento de cadastros específicos.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Parâmetros:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***Cadastro: Nome do cadastro que está sendo fechado.&lt;br /&gt;
***IDs: Identificadores dos registros que estavam selecionados no momento do fechamento.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Exemplo:&amp;#039;&amp;#039;&amp;#039; 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.&lt;br /&gt;
&lt;br /&gt;
 procedure OnCloseFormCadastro(Cadastro:String; IDs:String);&lt;br /&gt;
 var &lt;br /&gt;
   Q:TPHQuery;&lt;br /&gt;
 begin&lt;br /&gt;
   if (Cadastro = &amp;#039;LANCAMENTOSTESOURARIA&amp;#039;) then&lt;br /&gt;
   begin&lt;br /&gt;
     if  not (IDs = &amp;#039;&amp;#039;) then&lt;br /&gt;
     begin&lt;br /&gt;
       Q := NewPHQuery;&lt;br /&gt;
       try&lt;br /&gt;
         Q.Add(&amp;#039;SELECT ID &amp;#039;+&lt;br /&gt;
               &amp;#039;FROM LANCAMENTOSTESOURARIA &amp;#039; +&lt;br /&gt;
               &amp;#039;WHERE SITUACAO = &amp;#039;&amp;#039;1&amp;#039;&amp;#039; &amp;#039;+&lt;br /&gt;
               &amp;#039;AND ID IN (&amp;#039;+IDs+&amp;#039;)&amp;#039;);&lt;br /&gt;
         Q.Open;&lt;br /&gt;
         &lt;br /&gt;
         if not (Q.Vazia) then&lt;br /&gt;
           ErroValidacao(&amp;#039;não é possível fechar com lançamento da tesouraria não confirmado.&amp;#039;);                                                                   &lt;br /&gt;
       finally&lt;br /&gt;
         Q.Free;                                                &lt;br /&gt;
       end;                            &lt;br /&gt;
     end;      &lt;br /&gt;
   end;  &lt;br /&gt;
 end;&lt;/div&gt;</summary>
		<author><name>Alex.vieira</name></author>
		
	</entry>
</feed>