<?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>phfsistemas, Autor em PHFSistemas</title>
	<atom:link href="https://phfsistemas.com.br/author/phfsistemas/feed/" rel="self" type="application/rss+xml" />
	<link>https://phfsistemas.com.br/author/phfsistemas/</link>
	<description></description>
	<lastBuildDate>Wed, 24 Jun 2026 18:36:39 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://phfsistemas.com.br/wp-content/uploads/2022/12/cropped-Logotipo_PHF_SemFundo-07-32x32.png</url>
	<title>phfsistemas, Autor em PHFSistemas</title>
	<link>https://phfsistemas.com.br/author/phfsistemas/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Como atualizar os dados de uma empresa que virou Lucro Real no documento de entrada do Protheus</title>
		<link>https://phfsistemas.com.br/como-atualizar-os-dados-de-uma-empresa-que-virou-lucro-real-no-documento-de-entrada-do-protheus/</link>
					<comments>https://phfsistemas.com.br/como-atualizar-os-dados-de-uma-empresa-que-virou-lucro-real-no-documento-de-entrada-do-protheus/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Wed, 24 Jun 2026 18:36:38 +0000</pubDate>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[Advpl]]></category>
		<category><![CDATA[Protheus]]></category>
		<category><![CDATA[SIGACTB]]></category>
		<category><![CDATA[SIGAFIS]]></category>
		<category><![CDATA[Totvs]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=903</guid>

					<description><![CDATA[<p>No artigo de hoje, vamos abordar alguns passos à executar, caso uma empresa mude para Lucro Real e já tenha alguns documentos de entrada lançados no sistema. Antes de começarmos o tutorial,&#160;ressaltamos que o processo ideal é excluir os documentos de entrada e lançar eles novamente, após ter parametrizado o sistema para calcular o PIS [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/como-atualizar-os-dados-de-uma-empresa-que-virou-lucro-real-no-documento-de-entrada-do-protheus/">Como atualizar os dados de uma empresa que virou Lucro Real no documento de entrada do Protheus</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">No artigo de hoje, vamos abordar alguns passos à executar, caso uma empresa mude para Lucro Real e já tenha alguns documentos de entrada lançados no sistema.</p>



<p class="wp-block-paragraph">Antes de começarmos o tutorial,&nbsp;<strong>ressaltamos que o processo ideal é excluir os documentos de entrada e lançar eles novamente</strong>, após ter parametrizado o sistema para calcular o PIS e COFINS.</p>



<p class="wp-block-paragraph">Mas se o prazo tiver curto, for poucas notas, ou até se quiser ir simulando numa base local, o tutorial abaixo é para você.</p>



<p class="wp-block-paragraph">A ideia aqui, é por exemplo, supondo que havia poucas notas já lançadas, e elas precisam ter o PIS e COFINS ajustados.</p>



<p class="wp-block-paragraph">O&nbsp;<strong>passo 1</strong>&nbsp;é atualizar no documento de entrada, com as alíquotas necessárias e com a TES nova que controle o PIS e COFINS:</p>



<p class="wp-block-paragraph"><code>UPDATE SD1010</code> s<code>ET</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_TES = </code><code>'071'</code><code>,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_BASIMP6 = D1_TOTAL - D1_VALICM,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_ALQIMP6 = 1.65,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_VALIMP6 = ROUND((D1_TOTAL - D1_VALICM) * 0.0165, 2),</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_BASIMP5 = D1_TOTAL - D1_VALICM,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_ALQIMP5 = 7.60,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_VALIMP5 = ROUND((D1_TOTAL - D1_VALICM) * 0.0760, 2)</code></p>



<p class="wp-block-paragraph"><code>WHERE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_DOC = </code><code>'000036656'</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>AND</code><code>D1_FORNECE = </code><code>'002104'</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>AND</code><code>D_E_L_E_T_ = </code><code>' '</code></p>



<p class="wp-block-paragraph">O&nbsp;<strong>passo 2</strong>, você precisa capturar o IDTRIB que esta gravado na SD1 para depois atualizar também no CBS e IBS:</p>



<p class="wp-block-paragraph">SELECT D1_IDTRIB, * FROM SD1010 WHERE D1_DOC = &#8216;000036656&#8217; AND D1_FORNECE = &#8216;002104&#8217; AND D_E_L_E_T_ = &#8216; &#8216;</p>



<p class="wp-block-paragraph">Ainda no passo 2, após pegar o IDTRIB, você vai atualizar a base de cálculo (F2D_BASE) do CBS e IBS dessa nota:</p>



<p class="wp-block-paragraph"><code>UPDATE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>F2D010</code></p>



<p class="wp-block-paragraph"><code>SET</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>F2D_BASE = (</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SELECT</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_TOTAL - D1_VALICM - D1_VALIMP6 - D1_VALIMP5</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FROM</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SD1010 SD1</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>WHERE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>D1_IDTRIB = F2D_IDREL</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>AND</code><code>D_E_L_E_T_ = </code><code>' '</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>)</code></p>



<p class="wp-block-paragraph"><code>WHERE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>F2D_IDREL = </code><code>'BD9E7465-9103-4111-881B-005056908921'</code></p>



<p class="wp-block-paragraph">O&nbsp;<strong>passo 3</strong>, você precisa rodar o Reprocessamento do Livros Fiscais (MATA930) dessa NF que foi atualizada, para ele pegar as informações da SD1 e atualizar na SF3 e SFT.</p>



<p class="wp-block-paragraph">Por fim, o&nbsp;<strong>passo 4</strong>, é necessário atualizar a parte de custo da entrada (MATA190) dessa NF que foi atualizada, pra ele atualizar o D1_CUSTO.</p>



<p class="wp-block-paragraph">Lembrando que se forem fazer,&nbsp;<strong>rodem primeiro na base de testes, e validem as informações com o departamento fiscal da empresa</strong>.</p>
<p>O post <a href="https://phfsistemas.com.br/como-atualizar-os-dados-de-uma-empresa-que-virou-lucro-real-no-documento-de-entrada-do-protheus/">Como atualizar os dados de uma empresa que virou Lucro Real no documento de entrada do Protheus</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/como-atualizar-os-dados-de-uma-empresa-que-virou-lucro-real-no-documento-de-entrada-do-protheus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como ver o conteúdo dos campos LGI e LGA no SQL Server</title>
		<link>https://phfsistemas.com.br/como-ver-o-conteudo-dos-campos-lgi-e-lga-no-sql-server/</link>
					<comments>https://phfsistemas.com.br/como-ver-o-conteudo-dos-campos-lgi-e-lga-no-sql-server/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Wed, 24 Jun 2026 18:11:28 +0000</pubDate>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[Advpl]]></category>
		<category><![CDATA[Protheus]]></category>
		<category><![CDATA[Totvs]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=901</guid>

					<description><![CDATA[<p>Basta usar Substring e Convert que você consegue ver o resultado dos campos. Para visualizar o usuário que incluiu ou alterou, você deve concatenar as seguintes posições: 03, 07, 11, 15, 19, 02, 06, 10, 14, 01, 18, 05, 09, 13, 17, 04, 08. Pois nas versões antigas do Protheus, era gravado o nome do [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/como-ver-o-conteudo-dos-campos-lgi-e-lga-no-sql-server/">Como ver o conteúdo dos campos LGI e LGA no SQL Server</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Basta usar Substring e Convert que você consegue ver o resultado dos campos.</p>



<p class="wp-block-paragraph"><br>Para visualizar o usuário que incluiu ou alterou, você deve concatenar as seguintes posições: 03, 07, 11, 15, 19, 02, 06, 10, 14, 01, 18, 05, 09, 13, 17, 04, 08. Pois nas versões antigas do Protheus, era gravado o nome do usuário (por exemplo, “Daniel Atilio”), e a partir das versões mais novas, é gravado apenas o código (por exemplo, “000007”).</p>



<p class="wp-block-paragraph">Para visualizar a data, você deve pegar a posição 12 e a 16, transformar em ascii tirando 50 caracteres e converter para data, pegando como início de corte 01/01/1996. Se for o campo de alteração, essa posição 12 além de tirar 50, você deve multiplicar por 100.</p>



<p class="wp-block-paragraph">Abaixo o exemplo da query completa.</p>



<p class="wp-block-paragraph"><code>SELECT</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_COD,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_DESC,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_USERLGI,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_USERLGA,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CASE</code><code>WHEN</code><code>SUBSTRING</code><code>(B1_USERLGI, 03, 1) != </code><code>' '</code><code>AND</code><code>B1_USERLGI != </code><code>''</code><code>THEN</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CONVERT</code><code>(</code><code>VARCHAR</code><code>,DATEADD(</code><code>DAY</code><code>,</code><code>CONVERT</code><code>(</code><code>INT</code><code>,CONCAT(ASCII(</code><code>SUBSTRING</code><code>(B1_USERLGI,12,1)) - 50, ASCII(</code><code>SUBSTRING</code><code>(B1_USERLGI,16,1)) - 50) + IIF(</code><code>SUBSTRING</code><code>(B1_USERLGI,08,1) = </code><code>'&lt;'</code><code>,10000,0)),</code><code>'1996-01-01'</code><code>), 103)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>ELSE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>''</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>END</code><code>AS</code><code>DATA_INCL,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CASE</code><code>WHEN</code><code>SUBSTRING</code><code>(B1_USERLGA, 03, 1) != </code><code>' '</code><code>AND</code><code>B1_USERLGA != </code><code>''</code><code>THEN</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CONVERT</code><code>(</code><code>VARCHAR</code><code>,DATEADD(</code><code>DAY</code><code>,</code><code>CONVERT</code><code>(</code><code>INT</code><code>,CONCAT(ASCII(</code><code>SUBSTRING</code><code>(B1_USERLGA,12,1)) - 50, ASCII(</code><code>SUBSTRING</code><code>(B1_USERLGA,16,1)) - 50) + IIF(</code><code>SUBSTRING</code><code>(B1_USERLGA,08,1) = </code><code>'&lt;'</code><code>,10000,0)),</code><code>'1996-01-01'</code><code>), 103)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>ELSE</code><code>''</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>END</code><code>AS</code><code>DATA_ALT,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>LEFT</code><code>(</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 11, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 15, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 19, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 02, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 06, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 10, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 14, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 01, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 18, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 05, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 09, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 13, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 17, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 04, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGI, 08, 1)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>, 6) </code><code>AS</code><code>USER_INCL,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>LEFT</code><code>(</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 11, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 15, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 19, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 02, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 06, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 10, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 14, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 01, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 18, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 05, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 09, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 13, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 17, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 04, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING</code><code>(B1_USERLGA, 08, 1)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>, 6) </code><code>AS</code><code>USER_ALTE</code></p>



<p class="wp-block-paragraph"><code>FROM</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SB1990 SB1</code></p>



<p class="wp-block-paragraph"><code>WHERE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_FILIAL = </code><code>' '</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>AND</code><code>B1_MSBLQL != </code><code>'1'</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>AND</code><code>SB1.D_E_L_E_T_ = </code><code>' '</code></p>



<p class="wp-block-paragraph"><code>/* Exemplo original:</code></p>



<p class="wp-block-paragraph"><code>SELECT</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_COD,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_USERLGI,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_USERLGA,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 03, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 07, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 11, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 15, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 19, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 02, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 06, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 10, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 14, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 01, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 18, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 05, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 09, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 13, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 17, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 04, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 08, 1) AS USER_INC,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CONVERT(VARCHAR(10),CAST(DATEADD(DAY,CONVERT(INT,CONCAT(ASCII(SUBSTRING(B1_USERLGI,12,1)) - 50, ASCII(SUBSTRING(B1_USERLGI,16,1)) - 50)),'1996-01-01') AS DATETIME),103) AS DATA_INC,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 03, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 07, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 11, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 15, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 19, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 02, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 06, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 10, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 14, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 01, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 18, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 05, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 09, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 13, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 17, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 04, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 08, 1) AS USER_ALT,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CASE WHEN SUBSTRING(B1_USERLGA, 03, 1) != ' ' THEN</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CONVERT(VARCHAR,DATEADD(DAY,((ASCII(SUBSTRING(B1_USERLGA,12,1)) - 50) * 100 + (ASCII(SUBSTRING(B1_USERLGA,16,1)) - 50)),'19960101'),112)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>ELSE ''</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>END AS DATA_ALT</code></p>



<p class="wp-block-paragraph"><code>FROM</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SB1010 SB1</code></p>



<p class="wp-block-paragraph"><code>WHERE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_USERLGI != ' '</code></p>



<p class="wp-block-paragraph"><code>*/</code></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Abaixo uma query, para quem tem o dicionário no banco, onde é possível fazer o relacionamento com a tabela SYS_USR:</p>



<p class="wp-block-paragraph"><code>SELECT</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_COD,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_DESC,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_USERLGI,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_USERLGA,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_I.USR_ID AS USRINC_COD,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_I.USR_NOME AS USRINC_NOM,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CASE WHEN SUBSTRING(B1_USERLGI, 03, 1) != </code><code>' '</code><code>AND B1_USERLGI != </code><code>''</code><code>THEN</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CONVERT(VARCHAR,DATEADD(DAY,CONVERT(</code><code>INT</code><code>,CONCAT(ASCII(SUBSTRING(B1_USERLGI,12,1)) - 50, ASCII(SUBSTRING(B1_USERLGI,16,1)) - 50) + IIF(SUBSTRING(B1_USERLGI,08,1) = </code><code>'&lt;'</code><code>,10000,0)),</code><code>'1996-01-01'</code><code>), 103)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>ELSE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>''</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>END AS DATA_INCL,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_A.USR_ID AS USRALT_COD,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_A.USR_NOME AS USRALT_NOM,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CASE WHEN SUBSTRING(B1_USERLGA, 03, 1) != </code><code>' '</code><code>AND B1_USERLGA != </code><code>''</code><code>THEN</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CONVERT(VARCHAR,DATEADD(DAY,CONVERT(</code><code>INT</code><code>,CONCAT(ASCII(SUBSTRING(B1_USERLGA,12,1)) - 50, ASCII(SUBSTRING(B1_USERLGA,16,1)) - 50) + IIF(SUBSTRING(B1_USERLGA,08,1) = </code><code>'&lt;'</code><code>,10000,0)),</code><code>'1996-01-01'</code><code>), 103)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>ELSE </code><code>''</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>END AS DATA_ALT</code></p>



<p class="wp-block-paragraph"><code>FROM</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SB1990 SB1</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>LEFT JOIN SYS_USR USR_I ON (</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_I.USR_ID = LEFT(</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 11, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 15, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 19, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 02, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 06, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 10, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 14, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 01, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 18, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 05, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 09, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 13, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 17, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 04, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 08, 1)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>, 6)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>LEFT JOIN SYS_USR USR_A ON (</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_A.USR_ID = LEFT(</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 11, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 15, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 19, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 02, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 06, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 10, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 14, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 01, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 18, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 05, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 09, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 13, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 17, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 04, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 08, 1)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>, 6)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>)</code></p>



<p class="wp-block-paragraph"><code>WHERE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_FILIAL = </code><code>' '</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>AND B1_MSBLQL != </code><code>'1'</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>AND SB1.D_E_L_E_T_ = </code><code>' '</code></p>



<p class="wp-block-paragraph"><code>/* Query original:</code></p>



<p class="wp-block-paragraph"><code>SELECT</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_COD,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_DESC,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_TIPO,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_I.USR_ID AS USRINC_COD,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_I.USR_NOME AS USRINC_NOM,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CONVERT(VARCHAR,DATEADD(DAY,CONVERT(INT,CONCAT(ASCII(SUBSTRING(B1_USERLGI,12,1)) - 50, ASCII(SUBSTRING(B1_USERLGI,16,1)) - 50)),'1996-01-01'), 112) AS DATA_INC,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_A.USR_ID AS USRALT_COD,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_A.USR_NOME AS USRALT_NOM,</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CASE WHEN SUBSTRING(B1_USERLGA, 03, 1) != ' ' THEN</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>CONVERT(VARCHAR,DATEADD(DAY,((ASCII(SUBSTRING(B1_USERLGA,12,1)) - 50) * 100 + (ASCII(SUBSTRING(B1_USERLGA,16,1)) - 50)),'19960101'),112)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>ELSE ''</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>END AS DATA_ALT</code></p>



<p class="wp-block-paragraph"><code>FROM</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SB1990 SB1</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>LEFT JOIN SYS_USR USR_I ON (</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_I.USR_ID = (</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 11, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 15, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 19, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 02, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 06, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 10, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 14, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 01, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 18, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 05, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 09, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 13, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 17, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 04, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGI, 08, 1)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>LEFT JOIN SYS_USR USR_A ON (</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>USR_A.USR_ID = (</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 11, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 15, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 19, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 02, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 06, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 10, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 14, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 01, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 18, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 05, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 09, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 13, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 17, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 04, 1) +</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SUBSTRING(B1_USERLGA, 08, 1)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>)</code></p>



<p class="wp-block-paragraph"><code>WHERE</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_FILIAL = ''</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>AND B1_MSBLQL != '1'</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>AND SB1.D_E_L_E_T_ = ' '</code></p>



<p class="wp-block-paragraph"><code>*/</code></p>



<p class="wp-block-paragraph"><a href="https://terminaldeinformacao.com/2019/09/12/como-ver-o-conteudo-dos-campos-lgi-e-lga-no-sql-server/">https://terminaldeinformacao.com/2019/09/12/como-ver-o-conteudo-dos-campos-lgi-e-lga-no-sql-server/</a></p>



<p class="wp-block-paragraph">Crédito Total ao Terminal de Informação.</p>
<p>O post <a href="https://phfsistemas.com.br/como-ver-o-conteudo-dos-campos-lgi-e-lga-no-sql-server/">Como ver o conteúdo dos campos LGI e LGA no SQL Server</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/como-ver-o-conteudo-dos-campos-lgi-e-lga-no-sql-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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 class="wp-block-paragraph"><a href="http://www.fbsolutions.com.br/erp-totvs-protheus/parametros-para-envio-de-e-mail-protheus/"></a>  Olá pessoal,</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">Vamos fazer um exemplo configurando com um e-mail do Gmail.</p>



<p class="wp-block-paragraph">Acesse o Configurador e o menu&nbsp;<strong>Ambiente -&gt; E-mail/Proxy -&gt; Configurar</strong></p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><strong>Quais os parâmetros que serão alterados?</strong></p>



<p class="wp-block-paragraph"><strong>MV_RELAUTH</strong>&nbsp;– Servidor de e-mail necessita de Autenticação?</p>



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



<p class="wp-block-paragraph"><strong>MV_RELSERV</strong>&nbsp;– Nome do servidor de envio de e-mail utilizado nos relatórios</p>



<p class="wp-block-paragraph"><strong>MV_RELPSW</strong>&nbsp;– Senha da conta de e-mail para envio de relatórios</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">Se for utilizar o Office365 como SMTP, utilize as informações abaixo, substituindo nos respectivos campos do exemplo das imagens acima:</p>



<p class="wp-block-paragraph"><strong>Servidor SMTP:</strong>&nbsp;smtp.office365.com:587</p>



<p class="wp-block-paragraph"><strong>Conta:</strong>&nbsp;seu_email@seudominio.com.br</p>



<p class="wp-block-paragraph"><strong>Senha:</strong>&nbsp;Sua senha</p>



<p class="wp-block-paragraph"><strong>Servidor necessita de autenticação?</strong>&nbsp;SIM</p>



<p class="wp-block-paragraph"><strong>Time-out em segundos:</strong>&nbsp;120</p>



<p class="wp-block-paragraph"><strong>E-mail utilizado no campo FROM:</strong>&nbsp;* Obrigatoriamente o mesmo e-mail da Conta</p>



<p class="wp-block-paragraph"><strong>Protocolo de recebimento:</strong>&nbsp;SMTP</p>



<p class="wp-block-paragraph"><strong>Utiliza SMTP Extended?</strong>&nbsp;Sim</p>



<p class="wp-block-paragraph"><strong>Habilita autenticação SMTP ‘LOGIN’?</strong>&nbsp;Sim</p>



<p class="wp-block-paragraph"><strong>Utiliza segurança TLS?</strong>&nbsp;Sim</p>



<p class="wp-block-paragraph"><strong>Utiliza segurança SSL?</strong>&nbsp;Sim</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">Hoje vou mostrar uma função desenvolvida, para substituir o clássico ConOut para passar pelas validações do Code Analysis.</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">Abaixo o código fonte desenvolvido:</p>



<p class="wp-block-paragraph"><code>#Include "TOTVS.ch"</code></p>



<p class="wp-block-paragraph"><code>/*/{Protheus.doc} User Function zConOut</code></p>



<p class="wp-block-paragraph"><code>Função para substituir o ConOut (por causa do Code Analysis)</code></p>



<p class="wp-block-paragraph"><code>@type&nbsp; Function</code></p>



<p class="wp-block-paragraph"><code>@author Atilio</code></p>



<p class="wp-block-paragraph"><code>@since 24/06/2021</code></p>



<p class="wp-block-paragraph"><code>@version version</code></p>



<p class="wp-block-paragraph"><code>@param cTexto, Caractere, Texto a ser exibido no console.log</code></p>



<p class="wp-block-paragraph"><code>@example</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>u_zConOut("Teste")</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>@see https://tdn.totvs.com/display/framework/FWLogMsg</code></p>



<p class="wp-block-paragraph"><code>/*/</code></p>



<p class="wp-block-paragraph"><code>User Function zConOut(cTexto)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aArea&nbsp;&nbsp;&nbsp; := GetArea()</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Default cTexto := </code><code>""</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWLogMsg(;</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>RestArea(aArea)</code></p>



<p class="wp-block-paragraph"><code>Return</code></p>



<p class="wp-block-paragraph">Creditos :https://terminaldeinformacao.com/</p>



<p class="wp-block-paragraph"></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 class="wp-block-paragraph">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 class="wp-block-paragraph"><code>Begin Transaction</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Tratativas de inclusão, alteração, disarm</code></p>



<p class="wp-block-paragraph"><code>End Transaction</code></p>



<p class="wp-block-paragraph">Exemplo 1- Exemplo de criação de registro no cadastro de Produtos, perguntando se deseja cancelar:</p>



<p class="wp-block-paragraph"><code>//Bibliotecas</code></p>



<p class="wp-block-paragraph"><code>#Include "Protheus.ch"</code></p>



<p class="wp-block-paragraph"><code>/*/{Protheus.doc} zTeste</code></p>



<p class="wp-block-paragraph"><code>Função de Teste</code></p>



<p class="wp-block-paragraph"><code>@type function</code></p>



<p class="wp-block-paragraph"><code>@author Terminal de Informação</code></p>



<p class="wp-block-paragraph"><code>@since 13/11/2016</code></p>



<p class="wp-block-paragraph"><code>@version 1.0</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>@example</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>u_zTeste()</code></p>



<p class="wp-block-paragraph"><code>/*/</code></p>



<p class="wp-block-paragraph"><code>User Function zTeste()</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aArea&nbsp;&nbsp;&nbsp; := GetArea()</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aAreaB1&nbsp; := SB1-&gt;(GetArea())</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Iniciando controle de transações</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Begin Transaction</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>RecLock(</code><code>'SB1'</code><code>, .T.)</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>B1_DESC := </code><code>"Teste"</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>SB1-&gt;(MsUnlock())</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>DisarmTransaction()</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>EndIf</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Finalizando controle de transações</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>End Transaction</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>RestArea(aAreaB1)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>RestArea(aArea)</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>//Bibliotecas</code></p>



<p class="wp-block-paragraph"><code>#Include "Totvs.ch"</code></p>



<p class="wp-block-paragraph"><code>/*/{Protheus.doc} User Function zExe220</code></p>



<p class="wp-block-paragraph"><code>Faz um backup da área em memória e depois volta</code></p>



<p class="wp-block-paragraph"><code>@type Function</code></p>



<p class="wp-block-paragraph"><code>@author Atilio</code></p>



<p class="wp-block-paragraph"><code>@since 20/02/2023</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>@obs</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Função FWGetArea</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Parâmetros</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Não possui parâmetros</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorno</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Função FWRestArea</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Parâmetros</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorno</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Não tem retorno</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Função GetArea</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Parâmetros</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Não possui parâmetros</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorno</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Função RestArea</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Parâmetros</code></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Retorno</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Não tem retorno</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****</code></p>



<p class="wp-block-paragraph"><code>/*/</code></p>



<p class="wp-block-paragraph"><code>User Function zExe220()</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aArea&nbsp;&nbsp;&nbsp; := FWGetArea()</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local aAreaSB1 := SB1-&gt;(FWGetArea())</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Aqui suas customizações</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWRestArea(aAreaSB1)</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>FWRestArea(aArea)</code></p>



<p class="wp-block-paragraph"><code>Return</code></p>



<p class="wp-block-paragraph"><code>/*/{Protheus.doc} User Function A010TOK</code></p>



<p class="wp-block-paragraph"><code>Ponto de entrada ao clicar no botão Ok no Cadastro de Produtos</code></p>



<p class="wp-block-paragraph"><code>@type&nbsp; Function</code></p>



<p class="wp-block-paragraph"><code>@author Atilio</code></p>



<p class="wp-block-paragraph"><code>@since 20/02/2023</code></p>



<p class="wp-block-paragraph"><code>/*/</code></p>



<p class="wp-block-paragraph"><code>User Function A010TOK()</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>Local lRet&nbsp;&nbsp;&nbsp;&nbsp; := .T.</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>//Aciona o exemplo do GetArea e RestArea</code></p>



<p class="wp-block-paragraph"><code>&nbsp;&nbsp;&nbsp;&nbsp;</code><code>u_zExe220()</code></p>



<p class="wp-block-paragraph"><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>Permitir clientes com o mesmo CNPJ no Protheus</title>
		<link>https://phfsistemas.com.br/permitir-clientes-com-o-mesmo-cnpj-no-protheus/</link>
					<comments>https://phfsistemas.com.br/permitir-clientes-com-o-mesmo-cnpj-no-protheus/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Wed, 08 Oct 2025 12:53:49 +0000</pubDate>
				<category><![CDATA[Totvs Protheus]]></category>
		<category><![CDATA[SIGAFAT]]></category>
		<category><![CDATA[SIGAFIS]]></category>
		<category><![CDATA[Totvs]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=875</guid>

					<description><![CDATA[<p>Para permitir clientes com o mesmo CNPJ no Protheus,&#160;acesse o ambiente do módulo de cadastro de clientes (SIGAFAT), navegue até o menu Ambiente &#62; Parâmetros &#62; Parâmetros e configure os parâmetros MV_VALCNPJ e MV_VALCPF para &#8220;1&#8221; (permitir, mas notificar) em vez de &#8220;2&#8221; (impedir).&#160;Salve as alterações e saia e entre no sistema para validá-las.&#160; Passo [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/permitir-clientes-com-o-mesmo-cnpj-no-protheus/">Permitir clientes com o mesmo CNPJ no Protheus</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Para permitir clientes com o mesmo CNPJ no Protheus,&nbsp;<mark>acesse o ambiente do módulo de cadastro de clientes (SIGAFAT), navegue até o menu Ambiente &gt; Parâmetros &gt; Parâmetros e configure os parâmetros MV_VALCNPJ e MV_VALCPF para &#8220;1&#8221; (permitir, mas notificar) em vez de &#8220;2&#8221; (impedir).</mark>&nbsp;<mark>Salve as alterações e saia e entre no sistema para validá-las</mark>.&nbsp;</p>



<p class="wp-block-paragraph">Passo a passo para habilitar a permissão:&nbsp;</p>



<ol class="wp-block-list">
<li>Acesse o ambiente do Protheus.</li>



<li>No menu, vá em Ambiente > Parâmetros > Parâmetros.</li>



<li>Localize o parâmetro MV_VALCNPJ.</li>



<li>Altere o valor deste parâmetro para &#8220;1&#8221;.</li>



<li>Repita os passos 3 e 4 para o parâmetro MV_VALCPF, se necessário.</li>



<li>Clique em &#8220;Atualizar&#8221; ou &#8220;&lt;F4>&#8221; para salvar a configuração.</li>



<li>Saia e entre novamente no sistema para que a mudança seja aplicada.</li>
</ol>



<p class="wp-block-paragraph">Observações:&nbsp;</p>



<ul class="wp-block-list">
<li>Com o parâmetro configurado para &#8220;1&#8221;, o sistema irá notificar o usuário de que o CNPJ já existe em outro cadastro, mas permitirá que a inclusão seja realizada.</li>



<li>Se o valor for &#8220;2&#8221;, a inclusão do mesmo CNPJ será impedida.</li>



<li>Este ajuste é feito para o <a href="#">cadastro de clientes</a> na rotina SIGAFAT.</li>
</ul>



<p class="wp-block-paragraph"></p>
<p>O post <a href="https://phfsistemas.com.br/permitir-clientes-com-o-mesmo-cnpj-no-protheus/">Permitir clientes com o mesmo CNPJ no Protheus</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/permitir-clientes-com-o-mesmo-cnpj-no-protheus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>FIS &#8211; IRRF &#8211; aba duplicata ficando zerada após a gravação do documento quando o valor do Impostos é inferior a 10,00</title>
		<link>https://phfsistemas.com.br/fis-irrf-aba-duplicata-ficando-zerada-apos-a-gravacao-do-documento-quando-o-valor-do-impostos-e-inferior-a-1000/</link>
					<comments>https://phfsistemas.com.br/fis-irrf-aba-duplicata-ficando-zerada-apos-a-gravacao-do-documento-quando-o-valor-do-impostos-e-inferior-a-1000/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Tue, 07 Oct 2025 17:33:23 +0000</pubDate>
				<category><![CDATA[Sem categoria]]></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=869</guid>

					<description><![CDATA[<p>Cliente destaca que ao lançar uma nota fiscal de entrada com IRRF abaixo de dez reais, o sistema calcula o impostos mas não mantém o mesmo na aba duplicatas, assim que a nota é salva.&#160; Ambiente Protheus &#8211; MATA103 &#8211; A partir da versão 11.80 Solução Quando ocorre a escrituração de uma nota fiscal de [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/fis-irrf-aba-duplicata-ficando-zerada-apos-a-gravacao-do-documento-quando-o-valor-do-impostos-e-inferior-a-1000/">FIS &#8211; IRRF &#8211; aba duplicata ficando zerada após a gravação do documento quando o valor do Impostos é inferior a 10,00</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Cliente destaca que ao lançar uma nota fiscal de entrada com IRRF abaixo de dez reais, o sistema calcula o impostos mas não mantém o mesmo na aba duplicatas, assim que a nota é salva.&nbsp;<br><br><strong>Ambiente</strong><strong></strong></p>



<p class="wp-block-paragraph">Protheus &#8211; MATA103 &#8211; A partir da versão 11.80</p>



<p class="wp-block-paragraph"><strong>Solução</strong></p>



<p class="wp-block-paragraph">Quando ocorre a escrituração de uma nota fiscal de serviço com IRRF o sistema apresenta duas fases:</p>



<p class="wp-block-paragraph"><strong>Cálculo do Imposto:</strong></p>



<p class="wp-block-paragraph">O sistema faz o cálculo do IRRF de qualquer valor.</p>



<p class="wp-block-paragraph"><strong>Retenção do imposto:</strong></p>



<p class="wp-block-paragraph">O sistema faz a retenção conforme a condição do parâmetro MV_VLRETIR = 10.00 (É dispensado a retenção do IR em até dez reais). Caso o IRRF seja abaixo de dez reais ele não leva para o financeiro, destaca na aba impostos mas &#8220;apaga&#8221; assim que você salva a nota e visualiza a nota escriturada no módulo de compras.</p>



<p class="wp-block-paragraph"><strong>E por quê calcula:</strong></p>



<p class="wp-block-paragraph">O sistema precisa calcular esse impostos, pois há o fator da cumulatividade, caso você entre com outra nota com mesma data de emissão o sistema vai recuperar aquele imposto calculado/armazenado (que não havia superado os dez reais) e soma com essa segunda nota e gera retenção no financeiro.</p>



<p class="wp-block-paragraph"><strong>Na pratica, ficaria deste modo na tabela SE2 com base em duas notas fiscais:</strong></p>



<p class="wp-block-paragraph"><em>A primeira nota fiscal o valor do IRRF ficou em sete reais;</em></p>



<p class="wp-block-paragraph">E2_VRETIRF = 7.00 (este campo armazena o cálculo)</p>



<p class="wp-block-paragraph">E2_IRRF = 0.00 (este campo é o IR retido que leva o tipo TX no financeiro)</p>



<p class="wp-block-paragraph"><em>Segunda nota o valor do IRRF ficou em cinco reais (mesma data de emissão);</em></p>



<p class="wp-block-paragraph">E2_VRETIRF = 5.00 (armazenou o cálculo da nota atual)</p>



<p class="wp-block-paragraph">E2_IRRF = 12.00 (gerou retenção, pois no somatório das notas superou o valor de dez reais 7,00 + 5,00).</p>
<p>O post <a href="https://phfsistemas.com.br/fis-irrf-aba-duplicata-ficando-zerada-apos-a-gravacao-do-documento-quando-o-valor-do-impostos-e-inferior-a-1000/">FIS &#8211; IRRF &#8211; aba duplicata ficando zerada após a gravação do documento quando o valor do Impostos é inferior a 10,00</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/fis-irrf-aba-duplicata-ficando-zerada-apos-a-gravacao-do-documento-quando-o-valor-do-impostos-e-inferior-a-1000/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 class="wp-block-paragraph">Como calcular o IRRF via retenção nas notas fiscais de entrada ou saída?  <br><br><strong>Solução:</strong></p>



<p class="wp-block-paragraph">Para a retenção será necessário seguir a configuração abaixo:</p>



<p class="wp-block-paragraph"><strong>1 &#8211; Tabelas:</strong></p>



<p class="wp-block-paragraph"><strong>Natureza (SED):</strong></p>



<p class="wp-block-paragraph">Calcula IRRF = SIM</p>



<p class="wp-block-paragraph">Percentual de cálculo de IRRF = 1,0/1,5</p>



<p class="wp-block-paragraph">Amarrar Natureza ao cadastro de Cliente/ Fornecedor</p>



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



<p class="wp-block-paragraph"><strong>CLIENTE (SA1):</strong></p>



<p class="wp-block-paragraph">Pode ser informada a alíquota no campo<strong>&nbsp;A1_ALIQIR</strong></p>



<p class="wp-block-paragraph">Recolhe IRRF&nbsp;<strong>(A1_RECIRRF) = SIM</strong></p>



<p class="wp-block-paragraph">Modo&nbsp;<strong>Abatimento do Imposto (A1_ABATIMP)</strong>&nbsp;= Calculado pelo sistema</p>



<p class="wp-block-paragraph"><strong>FORNECEDOR (SA2):</strong></p>



<p class="wp-block-paragraph"><strong>Cálculo IRRF =</strong>&nbsp;Normal</p>



<p class="wp-block-paragraph"><strong>IRRF Prog = SIM</strong>&nbsp;(Pessoa Física)</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">&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 class="wp-block-paragraph"><strong>PRODUTOS (SB1):</strong></p>



<p class="wp-block-paragraph"><strong>Impos Renda (B1_IRRF)&nbsp;</strong>= Sim</p>



<p class="wp-block-paragraph"><strong>Redução de IRRF (B1_REDIRRF)</strong>&nbsp;&#8211; Caso haja redução</p>



<p class="wp-block-paragraph"><strong>TES (SF4):</strong></p>



<p class="wp-block-paragraph"><strong>Gera Dupl. (F4_DUPLIC)</strong>&nbsp;= Sim</p>



<p class="wp-block-paragraph"><strong>2 &#8211; Parâmetros (SX6):</strong></p>



<p class="wp-block-paragraph"><strong>MV_1DUPNAT &#8211;&nbsp;</strong>Campo ou dado a ser gravado na natureza do titulo.<strong></strong></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph">&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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><strong>MV_IMPADT &#8211;&nbsp;</strong>Define utilização da geração de IRRF em adiantamento a Pagar.</p>



<p class="wp-block-paragraph"><strong>MV_NATNDF &#8211;&nbsp;</strong>Natureza do título NDF gerado via apuração de IRRF.</p>



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



<p class="wp-block-paragraph"><strong>MV_VLRETIR &#8211;&nbsp;</strong>Valor mínimo para dispensa de retenção de IRRF.</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><strong>MV_IRF&#8230;&#8230;&#8230; &#8211;&nbsp;</strong>Natureza utilizada para Imposto de Renda&nbsp;&#8220;IRF&#8221;</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><strong>MV_IRPJ</strong>&nbsp;-Naturezas para impostos manuais IRPJ &#8211; DCTF</p>



<p class="wp-block-paragraph">&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 class="wp-block-paragraph">&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 class="wp-block-paragraph"><strong>&nbsp;</strong><strong>MV_RNDIRF&#8230; &#8211;&nbsp;</strong>Informe o critério de arredondamento da IRRF.</p>



<p class="wp-block-paragraph"><strong>MV_AGLIMPJ &#8211;&nbsp;</strong>Define forma de verificação da base do IRRF</p>



<p class="wp-block-paragraph">&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 class="wp-block-paragraph">&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 class="wp-block-paragraph">&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 class="wp-block-paragraph"><strong>MV_ACMIRCR &#8211;&nbsp;</strong>Define se acumula o valor mínimo do imposto IRRF &#8211; (Contas á receber)&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<strong>1 =</strong>&nbsp;Acumula (Default)</p>



<p class="wp-block-paragraph">&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 class="wp-block-paragraph"><strong>MV_ACMIRRF &#8211;&nbsp;</strong>Define se acumula o valor mínimo do imposto IRRF &#8211; (contas à Pagar)&nbsp; &nbsp; &nbsp;</p>



<p class="wp-block-paragraph">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<strong>&nbsp;&nbsp;1 =</strong>&nbsp;Acumula (Default)</p>



<p class="wp-block-paragraph">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<strong>&nbsp;2 =</strong>&nbsp;Nao Acumula &nbsp; &nbsp;</p>



<p class="wp-block-paragraph"></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>MP &#8211; FIS &#8211; Retenção de PIS, COFINS e CSLL</title>
		<link>https://phfsistemas.com.br/mp-fis-retencao-de-pis-cofins-e-csll/</link>
					<comments>https://phfsistemas.com.br/mp-fis-retencao-de-pis-cofins-e-csll/#respond</comments>
		
		<dc:creator><![CDATA[phfsistemas]]></dc:creator>
		<pubDate>Tue, 07 Oct 2025 16:44:50 +0000</pubDate>
				<category><![CDATA[Sem categoria]]></category>
		<guid isPermaLink="false">https://phfsistemas.com.br/?p=865</guid>

					<description><![CDATA[<p>Como realizar a retenção de PIS COFINS CSLL? AmbienteProtheus – Livros Fiscais – A partir da versão 11.80 Solução Configuração necessária para gerar a nota: NATUREZACalcula PIS&#160;(ED_CALCPIS) = Sim Percentual&#160;de PIS (ED_PERCPIS) = Informe a alíquota Calcula COFINS&#160;(ED_CALCCOF) = Sim Percentual de COFINS&#160;(ED_PERCCOF) = Informe a alíquota Calcula CSLL&#160;(ED_CALCCSL) = Sim Percentual de CSLL&#160;(ED_PERCCSL) = [&#8230;]</p>
<p>O post <a href="https://phfsistemas.com.br/mp-fis-retencao-de-pis-cofins-e-csll/">MP &#8211; FIS &#8211; Retenção de PIS, COFINS e CSLL</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Como realizar a retenção de PIS COFINS CSLL?<br><br><strong>Ambiente</strong><strong><br></strong><br>Protheus – Livros Fiscais – A partir da versão 11.80<br><br><strong>Solução</strong><strong></strong></p>



<p class="wp-block-paragraph"><strong>Configuração necessária para gerar a nota:</strong></p>



<p class="wp-block-paragraph"><strong>NATUREZA<br></strong><br><strong>Calcula PIS</strong>&nbsp;(ED_CALCPIS) = Sim</p>



<p class="wp-block-paragraph"><strong>Percentual</strong>&nbsp;de PIS (ED_PERCPIS) = Informe a alíquota</p>



<p class="wp-block-paragraph"><strong>Calcula COFINS</strong>&nbsp;(ED_CALCCOF) = Sim</p>



<p class="wp-block-paragraph"><strong>Percentual de COFINS</strong>&nbsp;(ED_PERCCOF) = Informe a alíquota</p>



<p class="wp-block-paragraph"><strong>Calcula CSLL</strong>&nbsp;(ED_CALCCSL) = Sim</p>



<p class="wp-block-paragraph"><strong>Percentual de CSLL</strong>&nbsp;(ED_PERCCSL) = Informe a alíquota</p>



<p class="wp-block-paragraph"><br><strong>TES</strong><br><strong>Gera Duplicata</strong>&nbsp;(F4_DUPLIC) = Sim</p>



<p class="wp-block-paragraph"><br><strong>PRODUTO</strong><br><br><strong>Retém PIS</strong>&nbsp;(B1_PIS) = Sim</p>



<p class="wp-block-paragraph"><strong>Retém COFINS</strong>&nbsp;(B1_COFINS) = Sim</p>



<p class="wp-block-paragraph"><strong>Retém CSLL</strong>&nbsp;(B1_CSLL) = Sim</p>



<p class="wp-block-paragraph"><strong>Ret. Operação</strong>&nbsp;(B1_RETOPER) = Não &#8211; Considera valor mínimo de retenção / Sim &#8211; Não considera valor mínimo de retenção</p>



<p class="wp-block-paragraph"><br><strong>FORNECEDOR</strong><br><br><strong>Rec. PIS</strong>&nbsp;(A2_RECPIS) = Não</p>



<p class="wp-block-paragraph"><strong>Rec. COFINS</strong>&nbsp;(A2_RECCOFI) = Não</p>



<p class="wp-block-paragraph"><strong>Rec. CSLL</strong>&nbsp;(A2_RECCSLL) = Não</p>



<p class="wp-block-paragraph"><br><strong>CLIENTE</strong><br><br><strong>Rec. PIS</strong>&nbsp;(A1_RECPIS) = Sim</p>



<p class="wp-block-paragraph"><strong>Rec. COFINS</strong>&nbsp;(A1_RECCOFI) = Sim</p>



<p class="wp-block-paragraph"><strong>Rec. CSLL</strong>&nbsp;(A1_RECCSLL) = Sim</p>



<p class="wp-block-paragraph"><strong>Modo de abatimento do imposto</strong>&nbsp;(A1_ABATIMP) = Cálculo do sistema</p>



<p class="wp-block-paragraph"><br><strong>Parâmetros referentes à retenção PIS/COFINS/CSLL &#8211; Lei 10.925</strong><br><br><strong>MV_RF10925</strong>: Data de referência inicial, para que os novos procedimentos quanto à retenção de PIS/COFINS/CSLL sejam aplicados) =&nbsp;26/07/04</p>



<p class="wp-block-paragraph"><strong>MV_VL10925</strong>: Valor máximo de pagamentos no período para dispensa da retenção de PIS/COFINS/CSLL =&nbsp;5000</p>



<p class="wp-block-paragraph"><strong>MV_RT10925:</strong>&nbsp;Modo padrão de operação do Sistema quanto à retenção de PIS/COFINS/CSLL. (1=Calculado p/sistema, 2=Efetua Retenção sempre &#8211; 3=Não efetua retenção) =&nbsp;1</p>



<p class="wp-block-paragraph"><strong>MV_AC10925:</strong>&nbsp;Controle de permissão para que o usuário altere o modo de retenção na janela cálculo de retenção &#8211; 1=Permite alteração &#8211; 2= Não permite alteração =&nbsp;1</p>



<p class="wp-block-paragraph"><strong>MV_AB10925:</strong>&nbsp;Modo de retenção do PIS,COFINS e CSLL p/ C.Receber 1=Verif.retenção pelo valor da nota emitida &#8211; 2=Verif.retenção p/soma notas emitidas no período =&nbsp;2</p>



<p class="wp-block-paragraph"><strong>MV_MT10925:</strong>&nbsp;Verifica base de retenção pelo total ou apenas pelos títulos que retiveram impostos.1=Todos 2=Somente os que retiveram PIS etc =&nbsp;1</p>



<p class="wp-block-paragraph"><strong>MV_BX10925&nbsp;(Entrada):</strong>&nbsp;Define o momento do tratamento da retenção dos impostos PIS COFINS e CSLL.&nbsp;1= Na Baixa OU 2 = Na Emissão</p>



<p class="wp-block-paragraph"><strong>MV_BR10925&nbsp;(Saída):</strong>&nbsp;Define o momento do tratamento da retenção dos impostos PIS COFINS e CSLL.&nbsp;1= Na Baixa OU 2 = Na Emissão</p>



<p class="wp-block-paragraph"><strong>MV_BS10925:</strong>&nbsp;Indica se o cálculo da retenção será sobre a base do PIS/COFINS/CSLL ou pelo valor total da duplicata. 1=Valor da base; 2=Valor total =&nbsp;2</p>



<p class="wp-block-paragraph"><strong>MV_LJ10925:</strong>&nbsp;Considerar para verificação de valores de retenção os valores de todas as lojas do cliente. Opções: 1 = Loja atual ou 2 = Todas as lojas =&nbsp;2</p>



<p class="wp-block-paragraph"><strong>MV_VRETPIS:</strong>&nbsp;Valor mínimo para dispensa de retenção de PIS =&nbsp;0.00</p>



<p class="wp-block-paragraph"><strong>MV_VRETCOF:</strong>&nbsp;Valor mínimo para dispensa de retenção de COFINS =&nbsp;0.00</p>



<p class="wp-block-paragraph"><strong>MV_VRETCSL:</strong>&nbsp;Valor mínimo para dispensa de retenção de CSLL =&nbsp;0.00</p>



<p class="wp-block-paragraph"><strong>MV_RATPIS:</strong>&nbsp;Rateio do imposto na entrada &#8211;&nbsp;T. (Default) para ratear os impostos OU .F. para NÃO ratear.</p>



<p class="wp-block-paragraph"><strong>MV_RATCOF:</strong>&nbsp;Rateio do imposto na entrada &#8211;&nbsp;T. (Default) para ratear os impostos OU .F. para NÃO ratear.</p>



<p class="wp-block-paragraph"><strong>MV_RATCSLL:</strong>&nbsp;Rateio do imposto na entrada &#8211;&nbsp;T. (Default) para ratear os impostos OU .F. para NÃOratear.</p>



<p class="wp-block-paragraph"><strong>MV_PISNAT:</strong>&nbsp;Natureza para títulos referentes ao PIS :&nbsp;&#8220;PIS&#8221;</p>



<p class="wp-block-paragraph"><strong>MV_COFINS:</strong>&nbsp;Natureza para títulos referentes a COFINS :&nbsp;&#8220;COFINS&#8221;</p>



<p class="wp-block-paragraph"><strong>MV_CSLL:</strong>&nbsp;Natureza de títulos de Pagamento de CSLL :&nbsp;&#8220;CSLL&#8221;</p>



<p class="wp-block-paragraph"><strong>MV_AG10925:</strong>&nbsp;Indica se os impostos do PCC serão aglutinados em um titulo apenas quando ocorrerem os três impostos num mesmo titulo.&nbsp;1=Aglutina OU 2=Não Aglutina 2</p>



<p class="wp-block-paragraph"><strong>*OBS: Os parâmetros referente à Lei 10.925 devem permanecer conforme sugerido acima.</strong></p>



<p class="wp-block-paragraph"><strong>Parâmetros referentes à retenção PIS/COFINS/CSLL &#8211; Lei 13.137</strong></p>



<p class="wp-block-paragraph">Adequação do Protheus para atender as alterações de regras de cálculo do Pis, Cofins e Csll de acordo com a Lei 13137/15 | Lei nº 13.137, de 19 de junho de 2015 vigente a partir do dia 22/06/2015.</p>



<p class="wp-block-paragraph"><strong>MV_VL13137:</strong>&nbsp;Define o valor mínimo para retenção do Pis/Cofins/Csll de acordo com a Lei 13.137 =&nbsp;10.00</p>



<p class="wp-block-paragraph"><strong>MV_VCPCCP:</strong>&nbsp;Qual a data que será considerada para a cumulatividade do PCC na entrada.</p>



<p class="wp-block-paragraph">1=Emissao</p>



<p class="wp-block-paragraph">2=Venc.Real</p>



<p class="wp-block-paragraph">3=Dt Contab.</p>



<p class="wp-block-paragraph"><strong>MV_VCPCCR:</strong>&nbsp;Qual a data que sera considerada para a cumulatividade do PCC na saída:</p>



<p class="wp-block-paragraph">1=Emissao</p>



<p class="wp-block-paragraph">2=Venc.Real</p>



<p class="wp-block-paragraph">3=Dt Contab.</p>



<p class="wp-block-paragraph">.</p>



<p class="wp-block-paragraph">De acordo com a legislação o valor mínimo para retenção passa a ser a soma do valor calculado do Pis, Cofins e Csll, que deverá ser maior que&nbsp;&nbsp;<strong>R$10,00</strong>&nbsp;e a cumulatividade&nbsp;passa a ser diária. A data de vencimento dos impostos foi alterada para o segundo decêndio do mês subsequente.<br><br>Para isto,&nbsp;foi criado o parâmetro&nbsp;<strong>MV_VL13137</strong>&nbsp;que&nbsp;define o novo valor mínimo para retenção no qual serão gravados informações no contas a receber e pagar.</p>
<p>O post <a href="https://phfsistemas.com.br/mp-fis-retencao-de-pis-cofins-e-csll/">MP &#8211; FIS &#8211; Retenção de PIS, COFINS e CSLL</a> apareceu primeiro em <a href="https://phfsistemas.com.br">PHFSistemas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://phfsistemas.com.br/mp-fis-retencao-de-pis-cofins-e-csll/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
