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

<channel>
	<title>Arquivos ADVPL – Funções – Arquivos SXs &#8211; Sem Preju</title>
	<atom:link href="https://sempreju.com.br/category/advpl/advpl-funcoes/advpl-funcoes-arquivos-sxs/feed/" rel="self" type="application/rss+xml" />
	<link>https://sempreju.com.br/category/advpl/advpl-funcoes/advpl-funcoes-arquivos-sxs/</link>
	<description>Conhecimento Gratuito</description>
	<lastBuildDate>Fri, 11 Dec 2020 15:34:18 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>Como executar o gatilho de um campo &#8211; RunTrigger</title>
		<link>https://sempreju.com.br/como-executar-o-gatilho-de-um-campo-runtrigger/</link>
					<comments>https://sempreju.com.br/como-executar-o-gatilho-de-um-campo-runtrigger/#respond</comments>
		
		<dc:creator><![CDATA[Rafael Gonçalves]]></dc:creator>
		<pubDate>Fri, 11 Dec 2020 14:41:27 +0000</pubDate>
				<category><![CDATA[ADVPL - Dicas]]></category>
		<category><![CDATA[ADVPL – Funções – Arquivos SXs]]></category>
		<category><![CDATA[ADVPL]]></category>
		<category><![CDATA[Protheus]]></category>
		<guid isPermaLink="false">https://sempreju.com.br/?p=825</guid>

					<description><![CDATA[<p>Olá pessoal Algumas vezes precisamos executar o gatilho de um determinado campo, já aprendemos a verificar se um gatilho existe aqui, vamos agora aprender a executar o gatilho Para isso existe a função RunTrigger, ela é responsável por executar os gatilhos de um determinado campo. A documentação oficial pode ser<a class="moretag" href="https://sempreju.com.br/como-executar-o-gatilho-de-um-campo-runtrigger/"> Leia mais&#8230;</a></p>
<p>O post <a href="https://sempreju.com.br/como-executar-o-gatilho-de-um-campo-runtrigger/">Como executar o gatilho de um campo &#8211; RunTrigger</a> apareceu primeiro em <a href="https://sempreju.com.br">Sem Preju</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Olá pessoal</p>
<p>Algumas vezes precisamos executar o gatilho de um determinado campo, já aprendemos a verificar se um gatilho existe <a href="https://sempreju.com.br/como-verificar-se-existe-gatilho-para-um-campo-existtrigger/">aqui</a>, vamos agora aprender a executar o gatilho</p>
<p>Para isso existe a função <strong>RunTrigger</strong>, ela é responsável por executar os gatilhos de um determinado campo. A documentação oficial pode ser encontrada <a href="https://tdn.totvs.com/pages/releaseview.action?pageId=6815032">aqui</a>.</p>
<h2></h2>
<h2 class="vc_custom_heading">Sintaxe</h2>
<p><span>RunTrigger( &lt;nTipo&gt;, &lt;nLin&gt;, &lt;cMacro&gt;, &lt;oObj&gt;, &lt;cField&gt; )</span></p>
<p>&nbsp;</p>
<h2 class="vc_custom_heading">Parâmetros</h2>
<div class="avia-data-table-wrap avia_scrollable_table">
<table class="avia-table avia-data-table avia-table-3 avia-builder-el-2 el_after_av_table el_before_av_table avia_pricing_default " itemscope="itemscope" itemtype="https://schema.org/Table">
<tbody>
<tr class="">
<td class=""><span>Par</span></td>
<td class=""><span>Nome</span></td>
<td class=""><span>Tipo</span></td>
<td class=""><span>Descrição</span></td>
<td class=""><span>Default</span></td>
<td class=""><span>Obg</span></td>
<td class=""><span>Ref</span></td>
</tr>
<tr class="">
<td class="">01</td>
<td class="">nTipo</td>
<td class="">Numérico</td>
<td class=""><span>Qual tipo de objeto será executado a trigger(1-Enchoice 2-GetDados 3-F3 ).</span></td>
<td class=""></td>
<td class="">X</td>
<td class=""></td>
</tr>
<tr class="">
<td class="">02</td>
<td class="">nLin</td>
<td class="">Numérico</td>
<td class="">Quando nTipo = 2, informar a linha posicionada na Getdados</td>
<td class=""></td>
<td class=""></td>
<td class=""></td>
</tr>
<tr class="">
<td class="">03</td>
<td class="">cMacro</td>
<td class="">Caracter</td>
<td class="">Não utilizado</td>
<td class=""></td>
<td class=""></td>
<td class=""></td>
</tr>
<tr class="">
<td class="">04</td>
<td class="">oObj</td>
<td class="">Objeto</td>
<td class="">Objeto utilizado na tela, para utilizar a propriedade aGets e aTela quando for nTipo = 1.</td>
<td class=""></td>
<td class=""></td>
<td class=""></td>
</tr>
<tr class="">
<td class="">05</td>
<td class="">cField</td>
<td class="">Caracter</td>
<td class="">Nome do campo que dispara a trigger. Se não informado, considera o campo atualmente posicionado no SX3.</td>
<td class=""></td>
<td class="">X</td>
<td class=""></td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</p>
<h2 class="vc_custom_heading">Exemplo</h2>
<pre class="brush: cpp; light: false; title: ; toolbar: true; notranslate">
#INCLUDE &quot;TOTVS.CH&quot;
#INCLUDE &quot;RWMAKE.CH&quot;
#INCLUDE &quot;TOPCONN.CH&quot;

#Define ENTER Chr(13)+Chr(10)

/*/{Protheus.doc} SPEXCTG
Função SPEXCTG, para exemplificar o uso da Função RunTrigger().
@param Não recebe 
@return Não retorna nada
@author Rafael Goncalves
@owner sempreju.com.br
@version Protheus 12
@since Dez|2020
/*/
User Function SPEXCTG()
Local cCampo := 'A1_CGC'

//Para Enchoice
 If ExistTrigger(cCampo) // verifica se existe trigger para este campo
	RunTrigger(1,Nil,Nil,,cCampo)
Endif

//Para aCols
If ExistTrigger(cCampo) // verifica se existe trigger para este campo
    RunTrigger(2,n,nil,,cCampo)
Endif

Return( Nil )


</pre>
<p>&nbsp;</p>
<p>O código fonte desse e outros exemplos podem ser encontrados em nosso <a href="https://github.com/llrafaell/SemPreju-Exemplos">git</a>.</p>
<p><em>Post interessantes:</em></p>
<p>Como verificar se campo possui gatilho <a href="https://sempreju.com.br/como-verificar-se-existe-gatilho-para-um-campo-existtrigger/">aqui</a></p>
<p>Aprenda a instalar o Protheus no Windows <a href="https://sempreju.com.br/tag/instalarprotheuswindows/">aqui</a>.</p>
<p>Aprenda a instalar o Protheus no Linux <a href="https://sempreju.com.br/tag/instalarprotheuslinux/">aqui</a>.</p>
<p>Retornar datas por extenso <a href="https://sempreju.com.br/datas-por-extenso-no-protheus/">aqui</a>.</p>
<p>Barras de progresso <a href="https://sempreju.com.br/como-fazer-barras-de-progresso-no-advpl/">aqui</a>.</p>
<p>Dúvidas e sugestões, entre em contato.</p>
<p>Obrigado e até a próxima!</p>
<p>O post <a href="https://sempreju.com.br/como-executar-o-gatilho-de-um-campo-runtrigger/">Como executar o gatilho de um campo &#8211; RunTrigger</a> apareceu primeiro em <a href="https://sempreju.com.br">Sem Preju</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sempreju.com.br/como-executar-o-gatilho-de-um-campo-runtrigger/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como verificar se existe gatilho para um campo &#8211; ExistTrigger</title>
		<link>https://sempreju.com.br/como-verificar-se-existe-gatilho-para-um-campo-existtrigger/</link>
					<comments>https://sempreju.com.br/como-verificar-se-existe-gatilho-para-um-campo-existtrigger/#respond</comments>
		
		<dc:creator><![CDATA[Rafael Gonçalves]]></dc:creator>
		<pubDate>Fri, 11 Dec 2020 14:21:00 +0000</pubDate>
				<category><![CDATA[ADVPL - Dicas]]></category>
		<category><![CDATA[ADVPL – Funções – Arquivos SXs]]></category>
		<category><![CDATA[ADVPL]]></category>
		<category><![CDATA[Protheus]]></category>
		<guid isPermaLink="false">https://sempreju.com.br/?p=823</guid>

					<description><![CDATA[<p>Olá pessoal Algumas vezes precisamos verificar se um determinado campo possui gatinho, já sabemos que realizar um seek nas tabelas de dicionário deve ser evitado, então como realizar essa consulta? &#160; Para isso existe a função ExistTrigger , ela verificar se para determinado campo possui gatilhos no SX7e devolve True<a class="moretag" href="https://sempreju.com.br/como-verificar-se-existe-gatilho-para-um-campo-existtrigger/"> Leia mais&#8230;</a></p>
<p>O post <a href="https://sempreju.com.br/como-verificar-se-existe-gatilho-para-um-campo-existtrigger/">Como verificar se existe gatilho para um campo &#8211; ExistTrigger</a> apareceu primeiro em <a href="https://sempreju.com.br">Sem Preju</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Olá pessoal</p>
<p>Algumas vezes precisamos verificar se um determinado campo possui gatinho, já sabemos que realizar um seek nas tabelas de dicionário deve ser evitado, então como realizar essa consulta?</p>
<p>&nbsp;</p>
<p>Para isso existe a função <strong>ExistTrigger</strong> , ela verificar se para determinado campo possui gatilhos no SX7e devolve True quando possuir ou False quando não possuir</p>
<h2 class="vc_custom_heading">Sintaxe</h2>
<p><span>ExistTrigger( &lt;cCampo&gt; )</span></p>
<p>&nbsp;</p>
<h2 class="vc_custom_heading">Parâmetros</h2>
<p>Necessário informar somente o nome do campo.</p>
<table class="avia-table avia-data-table avia-table-3 avia-builder-el-2 el_after_av_table el_before_av_table avia_pricing_default " itemscope="itemscope" itemtype="https://schema.org/Table">
<tbody>
<tr class="">
<td class=""><span>Par</span></td>
<td class=""><span>Nome</span></td>
<td class=""><span>Tipo</span></td>
<td class=""><span>Descrição</span></td>
<td class=""><span>Default</span></td>
<td class=""><span>Obg</span></td>
<td class=""><span>Ref</span></td>
</tr>
<tr class="">
<td class="">01</td>
<td class="">cCampo</td>
<td class="">Caracter</td>
<td class="">Campo a verificar</td>
<td class=""></td>
<td class="">X</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2 class="vc_custom_heading">Exemplo</h2>
<pre class="brush: cpp; light: false; title: ; toolbar: true; notranslate">
#INCLUDE &quot;TOTVS.CH&quot;
#INCLUDE &quot;RWMAKE.CH&quot;
#INCLUDE &quot;TOPCONN.CH&quot;

#Define ENTER Chr(13)+Chr(10)

/*/{Protheus.doc} SPEXISTG
Função SPEXISTG, para exemplificar o uso da Função ExistTrigger().
@param Não recebe 
@return Não retorna nada
@author Rafael Goncalves
@owner sempreju.com.br
@version Protheus 12
@since Dez|2020
/*/
User Function SPEXISTG()
Local cCampo := 'A1_CGC'

If ExistTrigger( cCampo )
    MsgInfo( 'Campo: ' + cCampo + ENTER + &quot;Possui Gatilho.&quot;, 'SemPreju' )
else
    MsgInfo( 'Campo: ' + cCampo + ENTER + &quot;Não Possui Gatilho.&quot;, 'SemPreju' )
Endif
Return

</pre>
<p>Returno deverá ser semelhante a imagem abaixo:</p>
<p><img fetchpriority="high" decoding="async" src="https://sempreju.com.br/wp-content/uploads/2020/12/Exemplo-de-uso-ExistTrigger.png" alt="Exemplo de uso ExistTrigger" width="572" height="260" class="aligncenter size-full wp-image-826" srcset="https://sempreju.com.br/wp-content/uploads/2020/12/Exemplo-de-uso-ExistTrigger.png 572w, https://sempreju.com.br/wp-content/uploads/2020/12/Exemplo-de-uso-ExistTrigger-300x136.png 300w" sizes="(max-width: 572px) 100vw, 572px" /></p>
<p>&nbsp;</p>
<p>O código fonte desse e outros exemplos podem ser encontrados em nosso <a href="https://github.com/llrafaell/SemPreju-Exemplos">git</a>.</p>
<p><em>Post interessantes:</em></p>
<p>Ponto de entrada ao acessar o sistema <a href="https://sempreju.com.br/executando-rotinas-ao-abrir-um-modulo-afterlogin-advpl/">aqui</a>.</p>
<p>Aprenda a instalar o Protheus no Windows <a href="https://sempreju.com.br/tag/instalarprotheuswindows/">aqui</a>.</p>
<p>Aprenda a instalar o Protheus no Linux <a href="https://sempreju.com.br/tag/instalarprotheuslinux/">aqui</a>.</p>
<p>Retornar datas por extenso <a href="https://sempreju.com.br/datas-por-extenso-no-protheus/">aqui</a>.</p>
<p>Barras de progresso <a href="https://sempreju.com.br/como-fazer-barras-de-progresso-no-advpl/">aqui</a>.</p>
<p>Dúvidas e sugestões, entre em contato.</p>
<p>Obrigado e até a próxima!</p>
<p>O post <a href="https://sempreju.com.br/como-verificar-se-existe-gatilho-para-um-campo-existtrigger/">Como verificar se existe gatilho para um campo &#8211; ExistTrigger</a> apareceu primeiro em <a href="https://sempreju.com.br">Sem Preju</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sempreju.com.br/como-verificar-se-existe-gatilho-para-um-campo-existtrigger/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Protheus nome novas tabelas ao migrar dicionário para banco</title>
		<link>https://sempreju.com.br/protheus-nome-novas-tabelas-ao-migrar-dicionario-para-banco/</link>
					<comments>https://sempreju.com.br/protheus-nome-novas-tabelas-ao-migrar-dicionario-para-banco/#respond</comments>
		
		<dc:creator><![CDATA[Rafael Gonçalves]]></dc:creator>
		<pubDate>Wed, 27 May 2020 18:31:33 +0000</pubDate>
				<category><![CDATA[ADVPL – Funções – Arquivos SXs]]></category>
		<guid isPermaLink="false">https://sempreju.com.br/?p=652</guid>

					<description><![CDATA[<p>Com as mudanças do Lobo Guará e a possibilidade de ter o dicionário de dados no banco, algumas novas tabelas foram criadas, veja como ficou essa nova estrutura. Documentação oficial aqui. Conhecendo as novas tabelas quando temos o dicionário no banco: SIGAPSS – Se transformou nas tabelas com prefixo SYS_GRP<a class="moretag" href="https://sempreju.com.br/protheus-nome-novas-tabelas-ao-migrar-dicionario-para-banco/"> Leia mais&#8230;</a></p>
<p>O post <a href="https://sempreju.com.br/protheus-nome-novas-tabelas-ao-migrar-dicionario-para-banco/">Protheus nome novas tabelas ao migrar dicionário para banco</a> apareceu primeiro em <a href="https://sempreju.com.br">Sem Preju</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span>Com as mudanças do Lobo Guará e a possibilidade de ter o dicionário de dados no banco, algumas novas tabelas foram criadas, veja como ficou essa nova estrutura.</span></p>
<p>Documentação oficial <a href="https://tdn.totvs.com/pages/releaseview.action?pageId=360450442">aqui</a>.</p>
<p><strong>Conhecendo as novas tabelas quando temos o dicionário no banco:</strong></p>
<ul>
<li>SIGAPSS – Se transformou nas tabelas com prefixo SYS_GRP (grupos), SYS_POL (políticas), SYS_RULES (regras de acesso) e SYS_USR (usuários);</li>
<li>Menus xnu – Tabelas com prefixo MPMENU</li>
<li>SIGAMAT.emp – Tabela SYS_COMPANY</li>
<li>XX8 – Tabela SYS_COMPANY_CFG</li>
<li>XX9 – Tabela SYS_COMPANY_CFGIT</li>
<li>SIGAHLP – Tabela XB4</li>
<li>Tabelas de Metadado – Mesmo nome no SQL</li>
<li>Profile – MP_SYSTEM_PROFILE</li>
<li>Workrole – MP_SYSTEM_WORKROLE</li>
<li>Layouts do TOTVS Report – XB5</li>
</ul>
<p>&nbsp;</p>
<p><strong>Tabelas relacionadas ao cadastro de Usuários:</strong></p>
<ul>
<li>SYS_USR</li>
<li>SYS_ACCESS</li>
<li>SYS_ACCRESTRIC</li>
<li>SYS_ACESSIB</li>
<li>SYS_FILIAL</li>
<li>SYS_GROUPS</li>
<li>SYS_LOGCFG</li>
<li>SYS_MODULE</li>
<li>SYS_PANEIS</li>
<li>SYS_PAPER</li>
<li>SYS_PRINTER</li>
<li>SYS_SSIGNON</li>
<li>SYS_SUPER</li>
<li>SYS_VINCFUNC</li>
</ul>
<p>&nbsp;</p>
<p><strong><em>Não deixe de assinar a nossa newsletter e fica por dentro de todos os post.</em></strong></p>
<p>O código fonte desse e outros exemplos podem ser encontrados em nosso <a href="https://github.com/llrafaell/SemPreju-Exemplos">git</a>.</p>
<p><em>Post interessantes:</em></p>
<p>Aprenda a instalar o Protheus <a href="https://sempreju.com.br/como-instalar-o-protheus-appserver-e-smartclient-parte-5/">aqui</a>.</p>
<p>Retornar datas por extenso <a href="https://sempreju.com.br/datas-por-extenso-no-protheus/">aqui</a>.</p>
<p>Barras de progresso <a href="https://sempreju.com.br/como-fazer-barras-de-progresso-no-advpl/">aqui</a>.</p>
<p>Dúvidas e sugestões, entre em contato.</p>
<p>Obrigado e até a próxima!</p>
<p>O post <a href="https://sempreju.com.br/protheus-nome-novas-tabelas-ao-migrar-dicionario-para-banco/">Protheus nome novas tabelas ao migrar dicionário para banco</a> apareceu primeiro em <a href="https://sempreju.com.br">Sem Preju</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sempreju.com.br/protheus-nome-novas-tabelas-ao-migrar-dicionario-para-banco/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
