Árvore de páginas

CONTEÚDO

  1. Visão Geral
  2. Parâmetros
  3. Retorno
  4. Exemplo de Utilização
  5. Exemplo de Manipulação


01. VISÃO GERAL

O ponto de entrada CTS11INDC permite a manipulação do indicador do saldo final (IND_DC_CTA_FIN - CSE_INDVAL) e do indicador de grupo da DRE (DRE IND_GRP_DRE - CSE_INDDRE) quando a conta não tiver movimentação

Para os registros que não tiveram movimentação o sistema utiliza como valor padrão C - Credor  para o campo de Indicador da situação do valor final (IND_DC_CTA_FIN) e R - Receita Indicador de grupo da DRE (IND_GRP_DRE).

Exemplo:
|J150|0000000020|TST00000000000000002320|D|2|TST00000000000000002319|2018|1000,00|C|0,00|C|R


Importante

Os impactos gerados pela utilização do ponto de entrada é de total responsabilidade do cliente que o solicitou.


02. PARÂMETROS

Parâmetro

Tipo

Descrição

PARAMIXB[1]Caracter

Campo que será manipulado

PARAMIXB[2]Caracter Código da visão gerencial
PARAMIXB[3]CaracterCódigo da conta na visão gerencial


03. RETORNO

Retorno

Tipo

Descrição

Obrigatório

cIndicCaracter

 Variável caracter retornando string o indicador que deverá ser gravado para o campo.

  • IND_DC_CTA_FIN ( CSE_INDVAL )
    • D - Devedor
    • C - Credor
  • IND_GRP_DRE (CSE_INDDRE)
    • D - Despesa
    • R - Receita


Importante

O retorno deverá respeitar o manual do ECD para o seu leiaute. 

Sim

04. EXEMPLO DE UTILIZAÇÃO


Exemplo do Ponto de Entrada
#include "protheus.ch"

User Function CTS11INDIC
 local cRet := ""
 Local cCampo := Paramixb[1] //campo
 Local cVisao := Paramixb[2] //livro
 Local cConta := Paramixb[3] //campo
 Local aArea  := GetArea()
 Local aAreaCVF  := CVF->(GetArea())      


 cVisao := PADR(cVisao,TamSX3("CVF_CODIGO")[1])

 If cCampo == "CSE_INDVAL" //IND_DC_CTA_FIN
   //1 - Credito
   //2 - Debito
   //D - Devedor
   //C - Credor
   CVF->(dbSetorder(1)) //CVF_FILIAL+CVF_CODIGO+CVF_CONTAG+CVF_ORDEM                                                                                                                      
   If CVF->(dbSeek(xFilial("CVF")+cVisao+cConta))
      If CVF->CVF_NORMAL == '1' //credito
         cRet := 'C' //Credor
      Else
         cRet := 'D' //devedor
      EndIf
   EndIf
      
 ElseIf cCampo == "CSE_INDDRE" //IND_GRP_DRE
   // D - Despesa
   // R - Receita
   cRet := "D" //despesa
 EndIf

 RestArea(aAreaCVF)
 RestArea(aArea)
Return cRet


05. EXEMPLO DE MANIPULAÇÃO



Evento de chamada do Ponto de Entrada
If nSaldTmp == 0 .And.lIndic
	If lLeiaute7
		CSE->CSE_INDDRE :=  ExecBlock("CTS11INDIC",.F.,.F.,{"CSE_INDDRE", cCodVis ,cArqTmp->CONTA})
	EndIf
	CSE->CSE_INDVAL  := ExecBlock("CTS11INDIC",.F.,.F.,{"CSE_INDVAL", cCodVis ,cArqTmp->CONTA})	
EndIf