//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 |