<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://wiki.phsys.com.br/index.php?action=history&amp;feed=atom&amp;title=Ajustar_Centro_de_Custo_dos_Lan%C3%A7amentos_Cont%C3%A1beis</id>
	<title>Ajustar Centro de Custo dos Lançamentos Contábeis - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.phsys.com.br/index.php?action=history&amp;feed=atom&amp;title=Ajustar_Centro_de_Custo_dos_Lan%C3%A7amentos_Cont%C3%A1beis"/>
	<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Ajustar_Centro_de_Custo_dos_Lan%C3%A7amentos_Cont%C3%A1beis&amp;action=history"/>
	<updated>2026-09-20T12:48:45Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.31.10</generator>
	<entry>
		<id>http://wiki.phsys.com.br/index.php?title=Ajustar_Centro_de_Custo_dos_Lan%C3%A7amentos_Cont%C3%A1beis&amp;diff=3549&amp;oldid=prev</id>
		<title>Tiago.liz: Criou página com &#039;O Script nomeado de &quot;PH_CBAjustarLancamentosCC&quot; é responsável por realizar a inclusão dos centros de custos nos lançamentos contábeis dos documentos, onde a conta contáb...&#039;</title>
		<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Ajustar_Centro_de_Custo_dos_Lan%C3%A7amentos_Cont%C3%A1beis&amp;diff=3549&amp;oldid=prev"/>
		<updated>2024-01-19T11:58:08Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;O Script nomeado de &amp;quot;PH_CBAjustarLancamentosCC&amp;quot; é responsável por realizar a inclusão dos centros de custos nos lançamentos contábeis dos documentos, onde a conta contáb...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;O Script nomeado de &amp;quot;PH_CBAjustarLancamentosCC&amp;quot; é responsável por realizar a inclusão dos centros de custos nos lançamentos contábeis dos documentos, onde a conta contábil utilizada está marcada para exigir centro de custo e não possuí o lançamento do centro de custo informado.&lt;br /&gt;
&lt;br /&gt;
 procedure CBAjustarLancamentosCC;&lt;br /&gt;
 var Q,QCC:TPHQuery;&lt;br /&gt;
    CC:TPHServerClass;                                                     &lt;br /&gt;
 begin&lt;br /&gt;
  Q := NewPHQuery;                                       &lt;br /&gt;
  try&lt;br /&gt;
    // SELECIONA TODOS OS LANÇAMENTOS CONTÁBEIS QUE NÃO POSSUEM LANÇAMENTO DE CENTRO DE CUSTO&lt;br /&gt;
    // PORÉM A CONTA CONTÁBIL ESTÁ MARCADA PARA EXIGIR CENTRO DE CUSTO&lt;br /&gt;
      &lt;br /&gt;
    Q.Add(&amp;#039;SELECT DISTINCT A.ID, &amp;#039;+     &lt;br /&gt;
          &amp;#039;       A.VALOR &amp;#039;+                                                                                &lt;br /&gt;
          &amp;#039;FROM CBLANCAMENTOS A &amp;#039;+   &lt;br /&gt;
          &amp;#039;INNER JOIN CBCONTASCONTABEIS B ON B.ID = A.CONTACONTABIL &amp;#039;+   &lt;br /&gt;
          &amp;#039;INNER JOIN CBDOCUMENTOS C ON C.ID = A.CBDOCUMENTO &amp;#039;+                                                                                                                                 &lt;br /&gt;
          &amp;#039;WHERE B.ID = :CCB &amp;#039;+      &lt;br /&gt;
          &amp;#039;AND B.EXIGIRCENTROCUSTO = &amp;#039;&amp;#039;S&amp;#039;&amp;#039; &amp;#039;+        &lt;br /&gt;
          &amp;#039;AND NOT EXISTS (SELECT C.ID &amp;#039;+&lt;br /&gt;
          &amp;#039;                FROM CBLANCAMENTOCC C &amp;#039;+      &lt;br /&gt;
          &amp;#039;                WHERE C.LANCAMENTO = A.ID)&amp;#039;);&lt;br /&gt;
    Q.ParamByName(&amp;#039;CCB&amp;#039;).AsLargeInt := ParamByName(&amp;#039;FCBID&amp;#039;).AsLargeInt;&lt;br /&gt;
    Q.Open;               &lt;br /&gt;
                                         &lt;br /&gt;
    if (Q.RecordCount &amp;gt; 0) then&lt;br /&gt;
    begin                                  &lt;br /&gt;
      QCC := NewPHQuery;                                                         &lt;br /&gt;
      try&lt;br /&gt;
        QCC.Tabela := &amp;#039;CBLANCAMENTOCC&amp;#039;;                                             &lt;br /&gt;
        while not Q.Eof do&lt;br /&gt;
        begin&lt;br /&gt;
          // REALIZA A GERAÇÃO DO LANÇAMENTO DO CENTRO DE CUSTO COM BASE NOS LANÇAMENTOS CONTÁBEIS LOCALIZADOS PELO SQL                                                                                                                                                                                                                                                                             &lt;br /&gt;
          QCC.NovoRegistro;                                                                                                                                                               &lt;br /&gt;
          QCC.FieldByName(&amp;#039;LANCAMENTO&amp;#039;).AsLargeInt  := Q.FieldByName(&amp;#039;ID&amp;#039;).AsLargeInt;                          &lt;br /&gt;
          QCC.FieldByName(&amp;#039;CENTROCUSTO&amp;#039;).AsLargeInt := ParamByName(&amp;#039;FCCID&amp;#039;).AsLargeInt;                             &lt;br /&gt;
          QCC.FieldByName(&amp;#039;PERCENTUAL&amp;#039;).AsFloat     := 100;                                                                &lt;br /&gt;
          QCC.FieldByName(&amp;#039;VALOR&amp;#039;).AsFloat          := Q.FieldByName(&amp;#039;VALOR&amp;#039;).AsFloat;                                                                  &lt;br /&gt;
          QCC.Post;                                                                                            &lt;br /&gt;
                        &lt;br /&gt;
          Q.Next;                      &lt;br /&gt;
        end;                                                  &lt;br /&gt;
      finally&lt;br /&gt;
        QCC.Free;                                          &lt;br /&gt;
      end;&lt;br /&gt;
    end;              &lt;br /&gt;
  finally&lt;br /&gt;
    Q.Free;                        &lt;br /&gt;
  end;            &lt;br /&gt;
 end;&lt;br /&gt;
&lt;br /&gt;
Na procedure &amp;quot;ChamarNoServidor&amp;quot; é necessário preencher os parâmetros &amp;quot;FCCID&amp;quot; que é o ID do centro de custo que será informado nos lançamentos contábeis, e também é necessário informar o parâmetro &amp;quot;FCBID&amp;quot; que é o ID da conta contábil que será utilizada para verificar os lançamentos contábeis que não tem o lançamento do centro de custo.&lt;br /&gt;
&lt;br /&gt;
Essa procedure faz a chamado do procedimento acima (&amp;quot;CBAjustarLancamentosCC&amp;quot;) pelo servidor, por conta de funcionalidades como &amp;quot;NovoRegistro&amp;quot; e para performace de não precisar ir ao servidor realizar cada Insert na tabela.&lt;br /&gt;
&lt;br /&gt;
 procedure ChamarNoServidor;&lt;br /&gt;
 var ScriptObj:TPHProcScript;                                                &lt;br /&gt;
 begin&lt;br /&gt;
  ScriptObj := TPHProcScript.Create;                                   &lt;br /&gt;
  try&lt;br /&gt;
    ScriptObj.ScriptNome := &amp;#039;PH_CBAjustarLancamentosCC&amp;#039;;                &lt;br /&gt;
    ScriptObj.Procedimento := &amp;#039;CBAjustarLancamentosCC&amp;#039;;&lt;br /&gt;
    // Parâmetro responsável por passar o ID do Centro de Custo                                                                                                                                                               &lt;br /&gt;
    ScriptObj.ParamByName(&amp;#039;FCCID&amp;#039;).AsLargeInt := 7;&lt;br /&gt;
    // Parâmetro responsável por passar o ID da Conta Contábil        &lt;br /&gt;
    ScriptObj.ParamByName(&amp;#039;FCBID&amp;#039;).AsLargeInt := 5;&lt;br /&gt;
    ScriptObj.Executar;      &lt;br /&gt;
  finally&lt;br /&gt;
    ScriptObj.Free;                                  &lt;br /&gt;
  end;        &lt;br /&gt;
 end;&lt;/div&gt;</summary>
		<author><name>Tiago.liz</name></author>
		
	</entry>
</feed>