Árvore de páginas

Versões comparadas

Chave

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

Ao Para o Serviço de Armazenagem, ao confirmar o acerto do serviço de armazenagem dará origem nos ao Fechamento do Serviço, ou seja aos documentos fiscais de cobrança ou de saída do depósito em caso de retenção. 
Ao realizar este fechamento é gerado registro da cobrança do serviço relacionando a nota de serviço ao documento fiscal  ou a geração do documento de saída do depósito.
Para os casos de retenção é gerado um romaneio de retenção.  

Orientamos que utiliza a tabela NKS (fechamento Serviço de Armazenagem) com mesmo compartilhamento da tabela NKG (Acerto dos serviços Armazenagem) para que ao gerar o romaneio seja possível identificar o registro de origem através do documento fiscal e romaneio gerado.

...

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

...