Árvore de páginas

Versões comparadas

Chave

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

Ao confirmar o acerto do serviço de armazenagem dará origem nos documentos fiscais de cobrança ou de saída do depósito em caso 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.


NKG - Serviço Armazenagem

NKS - Fechamento Serviço

Exclusivo

Exclusivo

 Exemplo: 

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

#INCLUDE "PROTHEUS.CH"


USERaFUNCTIONFAjustaNKS

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