Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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.

...

Bloco de código
languagejava
themeMidnight
titleFACLMFKG
#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]})
      IfElseIf cAlias == "SE1"
         aAdd(aRet, {aFKG[nX][1], aFKG[nX][2], aFKG[nX][3], aFKG[nX][4]})
      EndIf
   EndIf
    
Next nX
 
Return(aRet)

...