<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos Protheus - PHFSistemas</title>
	<atom:link href="https://phfsistemas.com.br/tag/protheus/feed/" rel="self" type="application/rss+xml" />
	<link>https://phfsistemas.com.br/tag/protheus/</link>
	<description></description>
	<lastBuildDate>Mon, 26 Jan 2026 12:20:49 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://phfsistemas.com.br/wp-content/uploads/2022/12/cropped-Logotipo_PHF_SemFundo-07-32x32.png</url>
	<title>Arquivos Protheus - PHFSistemas</title>
	<link>https://phfsistemas.com.br/tag/protheus/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Parâmetros para Envio de E-mail Protheus</title>
		<link>https://phfsistemas.com.br/parametros-para-envio-de-e-mail-protheus1-minutos-de-leitura/</link>
					<comments>https://phfsistemas.com.br/parametros-para-envio-de-e-mail-protheus1-minutos-de-leitura/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Mon, 26 Jan 2026 12:18:58 +0000</pubDate>
				<category><![CDATA[Configurador]]></category>
		<category><![CDATA[Totvs Protheus]]></category>
		<category><![CDATA[Advpl]]></category>
		<category><![CDATA[Protheus]]></category>
		<category><![CDATA[SIGACFG]]></category>
		<category><![CDATA[Totvs]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=886</guid>

					<description><![CDATA[<p>  Olá pessoal, Neste&#160;artigo vou mostrar quais são os parâmetros para configurar o envio de e-mails nos relatórios do ERP Protheus. Vamos fazer um exemplo configurando com um e-mail do Gmail. Acesse o Configurador e o menu&#160;Ambiente -&#62; E-mail/Proxy -&#62; Configurar 1. Informe os dados do e-mail 2. Informe os dados referente a TLS, SSL e [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/parametros-para-envio-de-e-mail-protheus1-minutos-de-leitura/">Parâmetros para Envio de E-mail Protheus</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p><a href="http://www.fbsolutions.com.br/erp-totvs-protheus/parametros-para-envio-de-e-mail-protheus/"></a>  Olá pessoal,</p>



<p>Neste&nbsp;artigo vou mostrar quais são os parâmetros para configurar o envio de e-mails nos relatórios do ERP Protheus.</p>



<p>Vamos fazer um exemplo configurando com um e-mail do Gmail.</p>



<p>Acesse o Configurador e o menu&nbsp;<strong>Ambiente -&gt; E-mail/Proxy -&gt; Configurar</strong></p>



<p>1. Informe os dados do e-mail</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="694" height="554" src="https://phfsistemas.com.br/wp-content/uploads/2026/01/image.png" alt="" class="wp-image-887" srcset="https://phfsistemas.com.br/wp-content/uploads/2026/01/image.png 694w, https://phfsistemas.com.br/wp-content/uploads/2026/01/image-300x239.png 300w" sizes="(max-width: 694px) 100vw, 694px" /></figure>



<p>2. Informe os dados referente a TLS, SSL e Autenticação</p>



<figure class="wp-block-image size-full"><img decoding="async" width="696" height="557" src="https://phfsistemas.com.br/wp-content/uploads/2026/01/image-1.png" alt="" class="wp-image-888" srcset="https://phfsistemas.com.br/wp-content/uploads/2026/01/image-1.png 696w, https://phfsistemas.com.br/wp-content/uploads/2026/01/image-1-300x240.png 300w" sizes="(max-width: 696px) 100vw, 696px" /></figure>



<p>3. Caso tenha Proxy, informe</p>



<figure class="wp-block-image size-full"><img decoding="async" width="698" height="563" src="https://phfsistemas.com.br/wp-content/uploads/2026/01/image-3.png" alt="" class="wp-image-890" srcset="https://phfsistemas.com.br/wp-content/uploads/2026/01/image-3.png 698w, https://phfsistemas.com.br/wp-content/uploads/2026/01/image-3-300x242.png 300w" sizes="(max-width: 698px) 100vw, 698px" /></figure>



<p><strong>Quais os parâmetros que serão alterados?</strong></p>



<p><strong>MV_RELAUTH</strong>&nbsp;– Servidor de e-mail necessita de Autenticação?</p>



<p><strong>MV_EMCONTA</strong>&nbsp;– Indica qual conta utilizada para envio de e-mails automáticos pelo sistema.</p>



<p><strong>MV_RELSERV</strong>&nbsp;– Nome do servidor de envio de e-mail utilizado nos relatórios</p>



<p><strong>MV_RELPSW</strong>&nbsp;– Senha da conta de e-mail para envio de relatórios</p>



<p><strong>MV_RELACNT</strong>&nbsp;– Conta a ser utilizada no envio de e-mail para os relatórios</p>



<h2 class="wp-block-heading">Como configurar envio de e-mails no&nbsp;Protheus com Office365</h2>



<p>Se for utilizar o Office365 como SMTP, utilize as informações abaixo, substituindo nos respectivos campos do exemplo das imagens acima:</p>



<p><strong>Servidor SMTP:</strong>&nbsp;smtp.office365.com:587</p>



<p><strong>Conta:</strong>&nbsp;seu_email@seudominio.com.br</p>



<p><strong>Senha:</strong>&nbsp;Sua senha</p>



<p><strong>Servidor necessita de autenticação?</strong>&nbsp;SIM</p>



<p><strong>Time-out em segundos:</strong>&nbsp;120</p>



<p><strong>E-mail utilizado no campo FROM:</strong>&nbsp;* Obrigatoriamente o mesmo e-mail da Conta</p>



<p><strong>Protocolo de recebimento:</strong>&nbsp;SMTP</p>



<p><strong>Utiliza SMTP Extended?</strong>&nbsp;Sim</p>



<p><strong>Habilita autenticação SMTP ‘LOGIN’?</strong>&nbsp;Sim</p>



<p><strong>Utiliza segurança TLS?</strong>&nbsp;Sim</p>



<p><strong>Utiliza segurança SSL?</strong>&nbsp;Sim</p>



<p><strong>Habilita protocolo NTLM?</strong>&nbsp;Sim</p>
<p>O post <a href="https://phfsistemas.com.br/parametros-para-envio-de-e-mail-protheus1-minutos-de-leitura/">Parâmetros para Envio de E-mail Protheus</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/parametros-para-envio-de-e-mail-protheus1-minutos-de-leitura/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como substituir o ConOut pelo FWLogMsg</title>
		<link>https://phfsistemas.com.br/como-substituir-o-conout-pelo-fwlogmsg/</link>
					<comments>https://phfsistemas.com.br/como-substituir-o-conout-pelo-fwlogmsg/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Mon, 24 Nov 2025 13:13:49 +0000</pubDate>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[Advpl]]></category>
		<category><![CDATA[Conout]]></category>
		<category><![CDATA[FWLogMsg]]></category>
		<category><![CDATA[Protheus]]></category>
		<category><![CDATA[Totvs]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=883</guid>

					<description><![CDATA[<p>Hoje vou mostrar uma função desenvolvida, para substituir o clássico ConOut para passar pelas validações do Code Analysis. Se você já precisou colocar os fontes em validação no Code Analysis, sabe que o ConOut é acusado para que seja melhorado a estrutura dos fontes. A TOTVS criou a função FWLogMsg, porém essa função recebe vários [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/como-substituir-o-conout-pelo-fwlogmsg/">Como substituir o ConOut pelo FWLogMsg</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Hoje vou mostrar uma função desenvolvida, para substituir o clássico ConOut para passar pelas validações do Code Analysis.</p>



<p>Se você já precisou colocar os fontes em validação no Code Analysis, sabe que o ConOut é acusado para que seja melhorado a estrutura dos fontes.</p>



<p>A TOTVS criou a função FWLogMsg, porém essa função recebe vários parâmetros, então não daria simplesmente para dar um Ctrl+F no projeto e substituir o texto ConOut.</p>



<p>Pensando nisso, encapsulei a função FWLogMsg dentro de uma função de usuário chamada zConOut. Portanto, basta você procurar no projeto por ConOut e substituir por u_zConOut.</p>



<p>Abaixo o código fonte desenvolvido:</p>



<p><code>#Include "TOTVS.ch"</code></p>



<p><code>/*/{Protheus.doc} User Function zConOut</code></p>



<p><code>Função para substituir o ConOut (por causa do Code Analysis)</code></p>



<p><code>@type&nbsp; Function</code></p>



<p><code>@author Atilio</code></p>



<p><code>@since 24/06/2021</code></p>



<p><code>@version version</code></p>



<p><code>@param cTexto, Caractere, Texto a ser exibido no console.log</code></p>



<p><code>@example</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>u_zConOut("Teste")</code></p>



<p><code>@obs Para ativar esse recurso, a chave FWLogMsg_Debug tem que estar como 1 no AppServer.ini:</code></p>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://centraldeatendimento.totvs.com/hc/pt-br/articles/360041301114-MP-ADVPL-Como-Ativar-a-fun%C3%A7%C3%A3o-FWLogMsg-
</div></figure>



<p><code>@see https://tdn.totvs.com/display/framework/FWLogMsg</code></p>



<p><code>/*/</code></p>



<p><code>User Function zConOut(cTexto)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aArea&nbsp;&nbsp;&nbsp; := GetArea()</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Default cTexto := </code><code>""</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWLogMsg(;</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>"INFO"</code><code>,;&nbsp;&nbsp;&nbsp; </code><code>//cSeverity&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Informe a severidade da mensagem de log. As opções possíveis são: INFO, WARN, ERROR, FATAL, DEBUG</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>,;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code><code>//cTransactionId - Informe o Id de identificação da transação para operações correlatas. Informe "LAST" para o sistema assumir o mesmo id anterior</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>"ZCONOUT"</code><code>,; </code><code>//cGroup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Informe o Id do agrupador de mensagem de Log</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>,;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code><code>//cCategory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Informe o Id da categoria da mensagem</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>,;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code><code>//cStep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Informe o Id do passo da mensagem</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>,;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code><code>//cMsgId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Informe o Id do código da mensagem</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>cTexto,;&nbsp;&nbsp;&nbsp; </code><code>//cMessage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Informe a mensagem de log. Limitada à 10K</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>,;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code><code>//nMensure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Informe a uma unidade de medida da mensagem</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>,;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code><code>//nElapseTime&nbsp;&nbsp;&nbsp; - Informe o tempo decorrido da transação</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code><code>//aMessage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Informe a mensagem de log em formato de Array - Ex: { {"Chave" ,"Valor"} }</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>RestArea(aArea)</code></p>



<p><code>Return</code></p>



<p>Creditos :https://terminaldeinformacao.com/</p>



<p></p>
<p>O post <a href="https://phfsistemas.com.br/como-substituir-o-conout-pelo-fwlogmsg/">Como substituir o ConOut pelo FWLogMsg</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/como-substituir-o-conout-pelo-fwlogmsg/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Begin Transaction … End Transaction</title>
		<link>https://phfsistemas.com.br/begin-transaction-end-transaction/</link>
					<comments>https://phfsistemas.com.br/begin-transaction-end-transaction/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Mon, 20 Oct 2025 21:05:28 +0000</pubDate>
				<category><![CDATA[ADVPL]]></category>
		<category><![CDATA[Totvs Protheus]]></category>
		<category><![CDATA[Advpl]]></category>
		<category><![CDATA[Protheus]]></category>
		<category><![CDATA[Totvs]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=880</guid>

					<description><![CDATA[<p>Exemplo de utilização de controle de transação no AdvPL, podendo utilizar “rollback” nas alterações feitas. Exemplo da Rotina: Begin Transaction &#160;&#160;&#160;&#160;//Tratativas de inclusão, alteração, disarm End Transaction Exemplo 1- Exemplo de criação de registro no cadastro de Produtos, perguntando se deseja cancelar: //Bibliotecas #Include "Protheus.ch" /*/{Protheus.doc} zTeste Função de Teste @type function @author Terminal de [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/begin-transaction-end-transaction/">Begin Transaction … End Transaction</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Exemplo de utilização de controle de transação no AdvPL, podendo utilizar “rollback” nas alterações feitas.</p>



<h1 class="wp-block-heading">Exemplo da Rotina:</h1>



<p><code>Begin Transaction</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Tratativas de inclusão, alteração, disarm</code></p>



<p><code>End Transaction</code></p>



<p>Exemplo 1- Exemplo de criação de registro no cadastro de Produtos, perguntando se deseja cancelar:</p>



<p><code>//Bibliotecas</code></p>



<p><code>#Include "Protheus.ch"</code></p>



<p><code>/*/{Protheus.doc} zTeste</code></p>



<p><code>Função de Teste</code></p>



<p><code>@type function</code></p>



<p><code>@author Terminal de Informação</code></p>



<p><code>@since 13/11/2016</code></p>



<p><code>@version 1.0</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>@example</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>u_zTeste()</code></p>



<p><code>/*/</code></p>



<p><code>User Function zTeste()</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aArea&nbsp;&nbsp;&nbsp; := GetArea()</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aAreaB1&nbsp; := SB1-&gt;(GetArea())</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Iniciando controle de transações</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Begin Transaction</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>RecLock(</code><code>'SB1'</code><code>, .T.)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_COD&nbsp; := dToS(dDataBase)+StrTran(Time(), </code><code>':'</code><code>, </code><code>''</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_DESC := </code><code>"Teste"</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SB1-&gt;(MsUnlock())</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Se a pergunta foi confirmada, cancela os lançamentos na transação</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>If MsgYesNo(</code><code>"Deseja cancelar e disarmar a transação?"</code><code>, </code><code>"Atenção"</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>DisarmTransaction()</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>EndIf</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Finalizando controle de transações</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>End Transaction</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>RestArea(aAreaB1)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>RestArea(aArea)</code></p>



<p><code>Return</code></p>
<p>O post <a href="https://phfsistemas.com.br/begin-transaction-end-transaction/">Begin Transaction … End Transaction</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/begin-transaction-end-transaction/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Restaurando a memória com FWGetArea, FWRestArea, GetArea e RestArea</title>
		<link>https://phfsistemas.com.br/restaurando-a-memoria-com-fwgetarea-fwrestarea-getarea-e-restarea/</link>
					<comments>https://phfsistemas.com.br/restaurando-a-memoria-com-fwgetarea-fwrestarea-getarea-e-restarea/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Wed, 08 Oct 2025 14:00:30 +0000</pubDate>
				<category><![CDATA[ADVPL]]></category>
		<category><![CDATA[Advpl]]></category>
		<category><![CDATA[Protheus]]></category>
		<category><![CDATA[Totvs]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=877</guid>

					<description><![CDATA[<p>//Bibliotecas #Include "Totvs.ch" /*/{Protheus.doc} User Function zExe220 Faz um backup da área em memória e depois volta @type Function @author Atilio @since 20/02/2023 @see https://tdn.totvs.com/display/public/framework/FwGetArea , https://tdn.totvs.com/display/public/framework/FwRestArea , https://tdn.totvs.com/pages/releaseview.action?pageId=24346925, https://tdn.totvs.com/pages/releaseview.action?pageId=24347058 @obs &#160;&#160;&#160;&#160;Função FWGetArea &#160;&#160;&#160;&#160;Parâmetros &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Não possui parâmetros &#160;&#160;&#160;&#160;Retorno &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Retorna um array com as posições [1] Alias ; [2] Índice Usado ; [3] Registro posicionado &#160;&#160;&#160;&#160;Função [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/restaurando-a-memoria-com-fwgetarea-fwrestarea-getarea-e-restarea/">Restaurando a memória com FWGetArea, FWRestArea, GetArea e RestArea</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><code>//Bibliotecas</code></p>



<p><code>#Include "Totvs.ch"</code></p>



<p><code>/*/{Protheus.doc} User Function zExe220</code></p>



<p><code>Faz um backup da área em memória e depois volta</code></p>



<p><code>@type Function</code></p>



<p><code>@author Atilio</code></p>



<p><code>@since 20/02/2023</code></p>



<p><code>@see https://tdn.totvs.com/display/public/framework/FwGetArea , https://tdn.totvs.com/display/public/framework/FwRestArea , https://tdn.totvs.com/pages/releaseview.action?pageId=24346925, https://tdn.totvs.com/pages/releaseview.action?pageId=24347058</code></p>



<p><code>@obs</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Função FWGetArea</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Parâmetros</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Não possui parâmetros</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorno</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorna um array com as posições [1] Alias ; [2] Índice Usado ; [3] Registro posicionado</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Função FWRestArea</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Parâmetros</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>+ aArea&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; , Array&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; , Array com as posições igual armazenadas na FWGetArea</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorno</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Não tem retorno</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Função GetArea</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Parâmetros</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Não possui parâmetros</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorno</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorna um array com as posições [1] Alias ; [2] Índice Usado ; [3] Registro posicionado</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Função RestArea</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Parâmetros</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>+ aArea&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; , Array&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; , Array com as posições igual armazenadas na GetArea</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorno</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Não tem retorno</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****</code></p>



<p><code>/*/</code></p>



<p><code>User Function zExe220()</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aArea&nbsp;&nbsp;&nbsp; := FWGetArea()</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aAreaSB1 := SB1-&gt;(FWGetArea())</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Aqui suas customizações</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWRestArea(aAreaSB1)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWRestArea(aArea)</code></p>



<p><code>Return</code></p>



<p><code>/*/{Protheus.doc} User Function A010TOK</code></p>



<p><code>Ponto de entrada ao clicar no botão Ok no Cadastro de Produtos</code></p>



<p><code>@type&nbsp; Function</code></p>



<p><code>@author Atilio</code></p>



<p><code>@since 20/02/2023</code></p>



<p><code>/*/</code></p>



<p><code>User Function A010TOK()</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local lRet&nbsp;&nbsp;&nbsp;&nbsp; := .T.</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Aciona o exemplo do GetArea e RestArea</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>u_zExe220()</code></p>



<p><code>Return lRet</code></p>
<p>O post <a href="https://phfsistemas.com.br/restaurando-a-memoria-com-fwgetarea-fwrestarea-getarea-e-restarea/">Restaurando a memória com FWGetArea, FWRestArea, GetArea e RestArea</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/restaurando-a-memoria-com-fwgetarea-fwrestarea-getarea-e-restarea/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>FIS &#8211; Como calcular o IRRF para notas de entrada e saída?</title>
		<link>https://phfsistemas.com.br/fis-como-calcular-o-irrf-para-notas-de-entrada-e-saida/</link>
					<comments>https://phfsistemas.com.br/fis-como-calcular-o-irrf-para-notas-de-entrada-e-saida/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Tue, 07 Oct 2025 17:31:59 +0000</pubDate>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[2410]]></category>
		<category><![CDATA[Protheus]]></category>
		<category><![CDATA[SIGACOM]]></category>
		<category><![CDATA[SIGAEST]]></category>
		<category><![CDATA[SIGAFAT]]></category>
		<category><![CDATA[SIGAFIS]]></category>
		<category><![CDATA[Totvs]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=867</guid>

					<description><![CDATA[<p>Como calcular o IRRF via retenção nas notas fiscais de entrada ou saída?   Solução: Para a retenção será necessário seguir a configuração abaixo: 1 &#8211; Tabelas: Natureza (SED): Calcula IRRF = SIM Percentual de cálculo de IRRF = 1,0/1,5 Amarrar Natureza ao cadastro de Cliente/ Fornecedor Se o fornecedor for Pessoa Física, o Sistema busca [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/fis-como-calcular-o-irrf-para-notas-de-entrada-e-saida/">FIS &#8211; Como calcular o IRRF para notas de entrada e saída?</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Como calcular o IRRF via retenção nas notas fiscais de entrada ou saída?  <br><br><strong>Solução:</strong></p>



<p>Para a retenção será necessário seguir a configuração abaixo:</p>



<p><strong>1 &#8211; Tabelas:</strong></p>



<p><strong>Natureza (SED):</strong></p>



<p>Calcula IRRF = SIM</p>



<p>Percentual de cálculo de IRRF = 1,0/1,5</p>



<p>Amarrar Natureza ao cadastro de Cliente/ Fornecedor</p>



<p>Se o fornecedor for Pessoa Física, o Sistema busca a alíquota da tabela de IRRF (CFX011) do configurador.</p>



<p><strong>CLIENTE (SA1):</strong></p>



<p>Pode ser informada a alíquota no campo<strong>&nbsp;A1_ALIQIR</strong></p>



<p>Recolhe IRRF&nbsp;<strong>(A1_RECIRRF) = SIM</strong></p>



<p>Modo&nbsp;<strong>Abatimento do Imposto (A1_ABATIMP)</strong>&nbsp;= Calculado pelo sistema</p>



<p><strong>FORNECEDOR (SA2):</strong></p>



<p><strong>Cálculo IRRF =</strong>&nbsp;Normal</p>



<p><strong>IRRF Prog = SIM</strong>&nbsp;(Pessoa Física)</p>



<p><strong>Vlr.Mín.IRRF( A2_MINIRF)</strong>&nbsp;=&nbsp;<strong>1 – Sim</strong>&nbsp;&#8211; O Sistema não considera o parâmetro&nbsp;<strong>MV_VLRETIR</strong></p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<strong>2 – Não</strong>&nbsp;&#8211; O Sistema considera esse parâmetro.</p>



<p><strong>PRODUTOS (SB1):</strong></p>



<p><strong>Impos Renda (B1_IRRF)&nbsp;</strong>= Sim</p>



<p><strong>Redução de IRRF (B1_REDIRRF)</strong>&nbsp;&#8211; Caso haja redução</p>



<p><strong>TES (SF4):</strong></p>



<p><strong>Gera Dupl. (F4_DUPLIC)</strong>&nbsp;= Sim</p>



<p><strong>2 &#8211; Parâmetros (SX6):</strong></p>



<p><strong>MV_1DUPNAT &#8211;&nbsp;</strong>Campo ou dado a ser gravado na natureza do titulo.<strong></strong></p>



<p><strong>MV_MP447 &#8211;&nbsp;</strong>Define se a empresa terá IRRF retido na forma da MP 232. T = Considera a M.P.; F = Não considera a M.P. &nbsp; &nbsp;<strong>&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>&nbsp;</strong></p>



<p><strong>MV_VENCIRF &#8211;&nbsp;</strong>Indica se o título de IRRF será gerado a partir da data de (E)missão, (V)encimento ou (C)ontabilização.</p>



<p><strong>MV_VCTIRPF &#8211;</strong>&nbsp;Indica se o&nbsp;título de IRRF (Pessoa Física) será gerado data de (E)missão, (V)encimento ou&nbsp; (C)ontabilização.<strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong></p>



<p><strong>MV_ACMIRPF</strong>&nbsp;-Define se a cumulatividade dos valores de IR-PF levarão em conta a data de Emissão ou Vencimento do titulo principal. 1=Emissao; 2=Vencto Real.<strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</strong></p>



<p><strong>MV_ACMIRPJ</strong><strong>&nbsp;&#8211;</strong>Define se a cumulatividade dos valores de IR-PJ levarão em conta a data de Emissão ou Vencimento do titulo principal. 1=Emissao; 2=Vencto Real.<strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</strong></p>



<p><strong>MV_VC11196 &#8211;&nbsp;</strong>Determina se fará o cálculo de data dos impostos IRRF, PIS, COFINS, CSLL conforme Lei 11196.</p>



<p><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1 =</strong>&nbsp;Calcula os vencimentos de acordo com a lei 11.196</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<strong>2 =&nbsp;</strong>Default, de acordo com 10925</p>



<p><strong>MV_IRMP232 &#8211;&nbsp;</strong>Define se a empresa terá IRRF retido na forma da MP 232.&nbsp;<strong>1-Sim/ 2-Não</strong></p>



<p><strong>MV_ALIQIRF &#8211;&nbsp;</strong>Alíquota de IRRF para títulos com retenção na fonte.Utilizam percentuais de acordo com tabela legal.</p>



<p><strong>MV_IMPADT &#8211;&nbsp;</strong>Define utilização da geração de IRRF em adiantamento a Pagar.</p>



<p><strong>MV_NATNDF &#8211;&nbsp;</strong>Natureza do título NDF gerado via apuração de IRRF.</p>



<p><strong>MV_PRZIRRF &#8211;&nbsp;</strong>Número de dias para pagamento do IRRF após a emissão do título.</p>



<p><strong>MV_VLRETIR &#8211;&nbsp;</strong>Valor mínimo para dispensa de retenção de IRRF.</p>



<p><strong>MV_RATIRRF &#8211;&nbsp;</strong>Indica se o valor do IRRF deve ser ou não rateado pelo número de títulos a pagar em uma nota fiscal de compra.</p>



<p><strong>MV_IRF&#8230;&#8230;&#8230; &#8211;&nbsp;</strong>Natureza utilizada para Imposto de Renda&nbsp;&#8220;IRF&#8221;</p>



<p><strong>MV_IRMP232 &#8211;</strong>&nbsp;Define se a empresa tera IRRF retido na forma da MP 232. Valores Possiveis 1-Sim, 2-Nao</p>



<p><strong>MV_IRPJ</strong>&nbsp;-Naturezas para impostos manuais IRPJ &#8211; DCTF</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>.T. = Rateia</strong></p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>.F. = Não Rateia</strong></p>



<p><strong>&nbsp;</strong><strong>MV_RNDIRF&#8230; &#8211;&nbsp;</strong>Informe o critério de arredondamento da IRRF.</p>



<p><strong>MV_AGLIMPJ &#8211;&nbsp;</strong>Define forma de verificação da base do IRRF</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<strong>1 =</strong>&nbsp;Apenas Filial Corrente (DEFAULT)</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<strong>2 =</strong>&nbsp;Todas Filiais por CNPJ</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;<strong>3 =</strong>&nbsp;Todas Filias por raiz CNPJ (8 dígitos)</p>



<h1 class="wp-block-heading" id="RetençãoIRRF-Cumulatividade">Para atender o fator da cumulatividade:</h1>



<p><strong>MV_ACMIRCR &#8211;&nbsp;</strong>Define se acumula o valor mínimo do imposto IRRF &#8211; (Contas á receber)&nbsp;&nbsp;</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<strong>1 =</strong>&nbsp;Acumula (Default)</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<strong>&nbsp; 2 =</strong>&nbsp;Nao Acumula&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</p>



<p><strong>MV_ACMIRRF &#8211;&nbsp;</strong>Define se acumula o valor mínimo do imposto IRRF &#8211; (contas à Pagar)&nbsp; &nbsp; &nbsp;</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<strong>&nbsp;&nbsp;1 =</strong>&nbsp;Acumula (Default)</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<strong>&nbsp;2 =</strong>&nbsp;Nao Acumula &nbsp; &nbsp;</p>



<p></p>
<p>O post <a href="https://phfsistemas.com.br/fis-como-calcular-o-irrf-para-notas-de-entrada-e-saida/">FIS &#8211; Como calcular o IRRF para notas de entrada e saída?</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/fis-como-calcular-o-irrf-para-notas-de-entrada-e-saida/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Executa FWAlert Totvs Protheus</title>
		<link>https://phfsistemas.com.br/fwalert-totvs-protheus/</link>
					<comments>https://phfsistemas.com.br/fwalert-totvs-protheus/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Fri, 27 Jan 2023 19:05:55 +0000</pubDate>
				<category><![CDATA[ADVPL]]></category>
		<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[Totvs Protheus]]></category>
		<category><![CDATA[Advpl]]></category>
		<category><![CDATA[FWALERT]]></category>
		<category><![CDATA[Protheus]]></category>
		<category><![CDATA[Totvs]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=840</guid>

					<description><![CDATA[<p>Hoje vou mostrar as “novas” mensagens de alerta para se utilizar via AdvPL. Pessoal, como sabem via ADVPL existem inúmeras funções para mostrar mensagens, como Alert, Aviso, MsgInfo, etC. Mas existem algumas funções “novas”, e no artigo de hoje irei citar exatamente essas. Elas não são bem novas, porém são bem mais recentes que as [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/fwalert-totvs-protheus/">Executa FWAlert Totvs Protheus</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Hoje vou mostrar as “novas” mensagens de alerta para se utilizar via AdvPL.</p>



<p>Pessoal, como sabem via ADVPL existem inúmeras funções para mostrar mensagens, como Alert, Aviso, MsgInfo, etC. Mas existem algumas funções “novas”, e no artigo de hoje irei citar exatamente essas.</p>



<p>Elas não são bem novas, porém são bem mais recentes que as antigas funções (MsgInfo, MsgStop, MsgAlert, etc). Pois bem, abaixo uma pequena descrição de cada uma:</p>



<ul class="wp-block-list">
<li><strong>FWAlertError:</strong>&nbsp;Mostra uma mensagem com um círculo vermelho e um x no meio</li>



<li><strong>FWAlertExitPage:</strong>&nbsp;Mostra uma pergunta com 3 opções (Continuar editando, Salvar, Sair da Página)</li>



<li><strong>FWAlertHelp:</strong>&nbsp;Mostra uma mensagem de help e solução</li>



<li><strong>FWAlertInfo:</strong>&nbsp;Mensagem informativa com um círculo azul e um i no meio</li>



<li><strong>FWAlertNoYes:</strong>&nbsp;Mensagem que tem 2 opções (Não e Sim)</li>



<li><strong>FWAlertSuccess:</strong>&nbsp;Mostra uma mensagem com um círculo verde e um ícone de check</li>



<li><strong>FWAlertWarning:</strong>&nbsp;Mostra uma mensagem com um triângulo amarelo e uma exclamação no meio</li>



<li><strong>FWAlertYesNo:</strong>&nbsp;Mensagem que tem 2 opções (Sim e Não)</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="768" height="548" src="https://phfsistemas.com.br/wp-content/uploads/2023/01/image.png" alt="" class="wp-image-844" srcset="https://phfsistemas.com.br/wp-content/uploads/2023/01/image.png 768w, https://phfsistemas.com.br/wp-content/uploads/2023/01/image-300x214.png 300w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p><code>//Bibliotecas</code></p>



<p><code>#Include "TOTVS.ch"</code></p>



<p><code>User Function zAlert()</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWAlertError(</code><code>"Mensagem de erro"</code><code>, </code><code>"Título FWAlertError"</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWAlertExitPage(</code><code>"Mensagem de navegação de página"</code><code>, </code><code>"Título FWAlertExitPage"</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWAlertHelp(</code><code>"Mensagem do problema"</code><code>, </code><code>"Mensagem da solução - FWAlertHelp"</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWAlertInfo(</code><code>"Mensagem informativa"</code><code>, </code><code>"Título FWAlertInfo"</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWAlertNoYes(</code><code>"Mensagem de pergunta Não / Sim"</code><code>, </code><code>"Título FWAlertNoYes"</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWAlertSuccess(</code><code>"Mensagem de sucesso"</code><code>, </code><code>"Título FWAlertSuccess"</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWAlertWarning(</code><code>"Mensagem de aviso"</code><code>, </code><code>"Título FWAlertWarning"</code><code>)</code></p>



<p><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWAlertYesNo(</code><code>"Mensagem de pergunta Sim / Não"</code><code>, </code><code>"Título FWAlertYesNo"</code><code>)</code></p>



<p><code>Return</code></p>
<p>O post <a href="https://phfsistemas.com.br/fwalert-totvs-protheus/">Executa FWAlert Totvs Protheus</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/fwalert-totvs-protheus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
