Árvore de páginas


CONTEÚDO

01. VISÃO GERAL

A rotina de Registro de Ocorrências é uma rotina de apontamento de registro de ocorrências por Documento ou Viagem.

Importante:

Para a correta e plena utilização do processo automático, somente deverão ser usadas "Ocorrências por Documento".

02. OBJETIVO DE UTILIZAÇÃO

Realizar processamento da rotina de Registro de Ocorrências de forma automática.

03. PARÂMETROS

ParâmetroDescrição
aCabArray composto de campos do cabeçalho
aItensArray composto de campos dos itens
aAutoNFAvaArray com as NFs com registro de pendências
nOpcAutoOpção de execução (Ex. 3 - Inclusão)

 04. EXEMPLO DE EXECUÇÃO DE PROGRAMA


#Include 'PROTHEUS.CH'
#include "topconn.ch" 

User Function TM360AUT()
Local aCab      := {}
Local aItens    := {}
Local aNFAvaria := {}
Local nPesoNota := 1000 // Peso da Nota
Local nQtdVol   := 12 //Qtde de Volumes
Local cNumNFc   := '202001180' //numero da nota
Local cSerNFc  := 'FAT' //Serie da NF
Local nQtdAva   := 12 //Qtde Avaria/ocorrencia/pendencia
Local cCodOco   := "E017" // ocorrencia cliente
Local cFilDoc   := "M SP 01 "
Local cDoc      := "000000395"
Local cSerie    := "A01"
Local cTipPnd   := "04" //dt2_tippnd
Local cTMSCOSB	:= SuperGetMV('MV_TMSCOSB',,'0')
 
Private lMSErroAuto := .F.//--Cabecalho da Ocorrencia
 
Aadd(aCab,{"DUA_FILORI", "M SP 01 "       , NIL})      // Informe a Filial de Origem da Viagem
Aadd(aCab,{"DUA_VIAGEM", "001807", NIL})        // Informe o numero da Viagem
 
//--Itens da ocorrencia:
aAdd( aItens, { {"DUA_SEQOCO", StrZero(1,Len(DUA->DUA_SEQOCO))    , NIL},;
                {"DUA_DATOCO", dDataBase,                            NIL},;
                {"DUA_HOROCO", StrTran(SubStr(Time(),1,5),":","")   , NIL},;                 
                {"DUA_CODOCO", cCodOco,                               NIL},;                 
                {"DUA_FILDOC", cFilDoc ,                               NIL},;                 
                {"DUA_DOC"   , cDoc,                          NIL},;                 
                {"DUA_SERIE" , cSerie      ,                          NIL},;                 
                {"DUA_QTDOCO", nQtdVol,                                  NIL},;                        
                {"DUA_PESOCO", nPesoNota,                                  NIL},;                          
                {"DUA_FILVTR", ""   ,                                  NIL},;                 
                {"DUA_NUMVTR", ""   ,                                  NIL}})          
 

If cTMSCOSB == '2' 
    aNFAvaria := cFilDoc + cDoc + cSerie,{{cNumNFc, cSerNFc, nQtdVol, nQtdAva,"",.F.,cNumNFc, (nPesoNota / nQtdVol),cCodOco,cTipPnd,"1"}}
Else 
	aNFAvaria := cFilDoc + cDoc + cSerie,{{cNumNFc, cSerNFc, nQtdVol, nQtdAva,.F.,cNumNFc, (nPesoNota / nQtdVol),cCodOco,cTipPnd,"1"}}  
EndIf

lMsErroAuto := .F.

MsAguarde( {|| MsExecAuto( {|x,y,z| TMSA360(x,y,z)}, aCab, aItens, aNFAvaria, 3 ) }, 'AGUARDE, PROCESSANDO...' )
 
If lMSErroAuto   
    MostraErro()
Else   
    Alert("Registro de ocorrência realizado com Sucesso !! ")
EndIf
     
Return
  


05. TABELAS UTILIZADAS

  • DUA - Registro de Ocorrências
  • DV4 - Notas Fiscais com Avaria
  • DLY - Eventos do Comprovante de Entrega