Árvore de páginas

Versões comparadas

Chave

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

...

//Exemplo de Função de Acerto para ajustar a filial NKS conforme a filial da tabela NKG.

#INCLUDE "PROTHEUS.CH"


USERaFUNCTIONFUNCTIONFAjustaNKS

LocalnPos       :=0
LocalaNKS       := {}
lOCALnI         :=0
LocalcQuery     :=""
LocalcAliasQry  :=GetNextAlias()

    cQuery:=" SELECT NKG_FILIAL, NKG_FECSER "
    cQuery+=" FROM "+RetSqlName('NKG') +" NKG "
    cQuery+=" WHERE NKG.D_E_L_E_T_ = '' "
    cQuery+=" AND NKG_FECSER <> ' ' "
    cQuery:=ChangeQuery( cQuery )

    dbUseArea( .T.,"TOPCONN",TCGENQRY(,,cQuery),cAliasQry,.F.,.T.)
    dbSelectArea(cAliasQry)
    While !(cAliasQry)->( Eof() )
   
        nPos  a  :=aScan( aNKS, { |x| AllTrim( x[1] ) ==AllTrim((cAliasQry)->NKG_FECSER) } )
        IfnPos==0
            aAdd( aNKS, { (cAliasQry)->NKG_FECSER, (cAliasQry)->NKG_FILIAL} )                  
        EndIf
        (cAliasQry)->(DbSkip())
    EndDO

    If  Len(aNKS) >0
        FornI:=1toLen(aNKS)          
            dbSelectArea("NKS")
            NKS->(dbSetOrder(1))
            ifNKS->(DBSeek(PADR("",TamSX3("NKS_FILIAL")[1])+aNKS[nI,1]))          
                if  RecLock('NKS',.f.)      
                    NKS->NKS_filiaL:=aNKS[nI,2]
                    NKS->(MsUnLock())
                ENDIF
            ENDIF    
        NextnI        
    EndIF
return
 

...