Árvore de páginas

Versões comparadas

Chave

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

...

ParâmetroTipo Descrição
aNFarrayVetor com os recnos das notas a serem compensadas
aPA_NDFarrayVetor com os recnos dos PAs/NDFs a serem compensados
aContabilarrayVetor de 3 posições:  [1] - Contabiliza Online, [2] - Aglutina os movimentos contábeis, [3] - Mostra laçamento contábil
bBlockbBlockBloco de código que será executado após cada compensação. "Geração dos movimentos na tabela SE5)
aEstornoarrayVetor com recnos a serem cancelados
nSldCompnuméricoNumérico com valor determinado a ser compensado. Caso não seja informado será considerado o saldo de cada título.
dBaixadateData de realização da compensação
nTaxaPAnuméricoTaxa de movimento a ser considerada no PA para moedas estrangeiras
nTaxaNFnuméricoTaxa de movimento a ser considerada na NF em moedas estrangeiras
nHdlnuméricoCabeçalho do arquivo contábil (Default = 0)
nOperacaonuméricoNa operação de estorno/exclusão determina a ação que será realizada nos movimentos da compensação. 2 = Gera movimento de estorno, 3=Exclui os movimentos
Bloco de código
languagejava
themeMidnight
#INCLUDE "Protheus.ch"

...


#INCLUDE "RWMAKE.CH"

...


#INCLUDE "TBICONN.CH"

...



Static __COMPAUT := Nil

...



User Function CMPAUTOMA()

...


    Local lRet := .F.

...


    Local cQry := ""

...


    Local aTipos := {"NF ", "PA ", "NDF"}

...


    Local cTblTmp := ""

...


    Local aNF := {}

...


    Local aPA_NDF := {}

...


    Local aContabil := {}

...


    Local bBlock := Nil

...


    Local aEstorno := {}

...


    Local nSldComp := 0

...


    Local nTaxaPA := 0

...


    Local nTaxaNF := 0

...


    Local nHdl := 0

...


    Local nOperacao :=

...

 0

    If __COMPAUT ==

...

 Nil
        cQry := "SELECT E2_TIPO TIPO, R_E_C_N_O_ R_E_C_N_O FROM " + RetSqlName("SE2") + "

...

 "
        cQry += "WHERE E2_SALDO > 0 AND E2_TIPO IN (?)

...

 "
        cQry += "ORDER BY E2_TIPO"

...

 
        cQry := ChangeQuery(cQry)

...


        __COMPAUT := FWPreparedStatement():New(cQry)

...


    EndIf

    __COMPAUT:SetIn(1, aTipos)

...


    cQry := __COMPAUT:GetFixQuery()

...


    cTblTmp := MpSysOpenQuery(cQry)

...



    While (cTblTmp)->(!Eof())

...


        If (cTblTmp)->TIPO $ MVPAGANT+"|"+MV_CPNEG

...


            Aadd(aPA_NDF, (cTblTmp)->R_E_C_N_O)

...

 
        Else
            Aadd(aNF, (cTblTmp)->R_E_C_N_O)

...


        EndIf 

        (cTblTmp)->(DbSkip())

...

 
        lRet := .T.

...


    EndDo 

    (cTblTmp)->(DbCloseArea())

...


    cTblTmp := ""

...



    If lRet
        Pergunte("AFI340", .F.)

...


        lContabiliza := MV_PAR11 ==

...

 1
        lAglutina := MV_PAR08 ==

...

 1
        lDigita := MV_PAR09 ==

...

 1

        lRet := FinCmpAut(aNF, aPA_NDF, aContabil, bBlock, aEstorno, nSldComp, dDatabase, nTaxaPA ,nTaxaNF, nHdl, nOperacao)

...



        If lRet
            Alert("Compensação realizada com sucesso")

...


        Else
            Alert("Ocorreu um erro no processo de compensação")

...


        EndIf
    EndIf

Return Nil