Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagejava
themeMidnight
firstline1
titleExemplo #01 - Rotina automática
linenumberstrue
#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
	Local aRecSE5 := {}
	Local aNDFDados := {}
	Local lHelp := .T.

    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 += "AND AND D_E_L_E_T_ = ' ' "
        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, aRecSE5, aNDFDados, lHelp)

        If lRet
            Alert("Compensação realizada com sucesso")
        Else
            Alert("Ocorreu um erro no processo de compensação")
        EndIf
	Else
		Alert("Não existem dados a serem compensados")     
	EndIf

Return Nil

...