Árvore de páginas

Para o Serviço de Armazenagem, ao confirmar o acerto dará origem 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.


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"


USER FUNCTION FAjustaNKS

Local nPos       := 0
Local aNKS       := {}
lOCAL nI         := 0
Local cQuery     := ""
Local cAliasQry  := 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) } )
        If nPos == 0
            aAdd( aNKS, { (cAliasQry)->NKG_FECSER, (cAliasQry)->NKG_FILIAL} )                  
        EndIf
        (cAliasQry)->(DbSkip())
    EndDO

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



  • Sem rótulos