Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Financeiro
Rotina:FINA986 - Complemento de Título


02. DESCRIÇÃO

O ponto de entrada FACLMFKG será executado para gravar dados complementares na tabela FKG (Complemento do Título x Impostos ) quando os mesmos possuírem obrigatoriedade em seu preenchimento, em rotinas que utilizem o MsExecAuto nas rotinas de contas a pagar (FINA050) e contas a receber (FINA040) para a inclusão e alteração de títulos, como por exemplo ao fazer a (Medição de Contratos) inserindo um título.


Importante

Parâmetros:

ParamIXB[1] - Array contendo os campos da FKG.
ParamIXB[2] - Alias da tabela, indicando em qual situação os dados deverão receber (SE1 ou SE2) .
ParamIXB[3] - Opção indicando qual a operação sendo executada ( 3 - Inclusão | 4 - Alteração ).


03. EXEMPLO DE UTILIZAÇÃO


FACLMFKG
#INCLUDE "PROTHEUS.CH"
 
User Function FACLMFKG()
Local aRet     := ParamIxb[1] //Array com os campos recebidos
Local cAlias   := ParamIxb[2] //Alias da Tabela 
Local nOpc     := ParamIxb[3] // 3-Inclusão | 4-Alteração
Local nX       := 0
Local nPos     := 0
Local aAuxFKG  := {}
Local aFKG     := {} //Array com os campos desejados
 
If cAlias == "SE2"
   If nOpc == 3 
      aAuxFKG := {{ "FKG_ITEM"    , "000001"            , NIL },;
               { "FKG_IDFKE"   , "FIN058"               , NIL },;
               { "FKG_VALOR"   , 152                    , NIL }}
   ElseIf nOpc == 4 
      aAuxFKG := {{ "FKG_ITEM"    , "000001"            , NIL },;
               { "FKG_IDFKE"   , "FIN058"               , NIL },;
              { "FKG_VALOR"   , 125                     , NIL }}
   EndIf  
ElseIf cAlias == "SE1"
   If nOpc == 3 
      aAuxFKG := {{ "FKG_ITEM"    , "000001"         , NIL },;
            { "FKG_IDFKE"   , "VIC001"               , NIL },;
            { "FKG_VALOR"   , 500                    , NIL },;
            { "FKG_NUMPRO"  , "1594984685"           , NIL }}
   ElseIf nOpc == 4 
      aAuxFKG := {{ "FKG_ITEM"    , "000001"            , NIL },;
            { "FKG_IDFKE"   , "VIC001"               , NIL },;
            { "FKG_VALOR"   , 125                    , NIL },;
            { "FKG_NUMPRO"  , "1594984685"           , NIL }}
   EndIf 
EndIf  

If !Empty(aAuxFKG) 
   AAdd(aFKG, aAuxFKG )
EndIf
 
For nX := 1 to Len(aFKG)
    
   nPos := aScan(aRet, {|x| AllTrim(Upper(x[1])) == aFKG[nX][1] })
   If nPos == 0
      If cAlias == "SE2"
         aAdd(aRet, {aFKG[nX][1], aFKG[nX][2], aFKG[nX][3]})
      ElseIf cAlias == "SE1"
         aAdd(aRet, {aFKG[nX][1], aFKG[nX][2], aFKG[nX][3], aFKG[nX][4]})
      EndIf
   EndIf
    
Next nX
 
Return(aRet)


04. DEMAIS INFORMAÇÕES

       Não há

05. ASSUNTOS RELACIONADOS

Não há