Árvore de páginas

Versões comparadas

Chave

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

Bandeira Brasil Localização.pngImage Added

CONTEÚDO

Índice
indent8.1.
exclude.*CONTEÚDO
stylenone

01. VISÃO GERAL

A rotina de Registro de Ocorrências é uma rotina de apontamento de registro de ocorrências por Documento ou Viagem..Viagem Modelo 3, permite a inclusão de viagens (entrega / transporte), permitindo selecionar as rotas e os documentos em aberto vinculados a ela pela consulta padrão. 

       É possível ainda utilizar processo de viagem entrega com serviço adicional de coleta.

02. OBJETIVO DE UTILIZAÇÃO

Realizar processamento da rotina (inclusão de Registro de Ocorrências registro) de Viagem Mod. 3 de forma automática.

03. PARÂMETROS

...

O conteúdo das variáveis deverão ser enviados no instante da execução da rotina. Vide exemplo abaixo.

...

04. EXEMPLO DE EXECUÇÃO DE PROGRAMA


Bloco de código
languageactionscript3
themeMidnight
#INCLUDE "TOTVS.CH"
#INCLUDE "protheus.ch"
#INCLUDE 'FWMVCDEF.ch#Include 'PROTHEUS.CH'

User Function TM360AUTIncVgeMod3()

Local aCab  cCodVei 	:= {}
Local aItens  	:= {}"TMS001" 	// Código do veículo
Local aNFAvariacCodRb1 := {}
Local cSeq		:= '001'
Local aNF		:= {}
Local aCols		:= {}
Local nPesoNota := 1000 // Peso da Nota
Local nQtdVol	:= 10 //Qtde de Volumes
Local nNumNFC""		 	// Código do primeiro Reboque
Local cCodRb2 := ""     	// Código do segundo Reboque
Local cCodMot := "TMS001" 	// Código do motorista
Local lRet    := '098765432'.T.
Local cSerieNF	:= '123' //Serie da NF

Private lMSErroAuto := .F.//--Cabecalho da Ocorrencia

Aadd(aCab,{"DUA_FILORI", "30"		, NIL})      // Informe a Filial de Origem da Viagem
Aadd(aCab,{"DUA_VIAGEM", "000004", 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", "EINF",                               NIL},;                  
				{"DUA_FILDOC", "30"	,                               NIL},;                  
				{"DUA_DOC"   , "001094   ",                          NIL},;                  
				{"DUA_SERIE" , "UNI"      ,                          NIL},;                  
				{"DUA_QTDOCO", 100,                                  NIL},;                         
				{"DUA_PESOCO", 100,                                  NIL},;			                  
				{"DUA_FILVTR", ""	,                                  NIL},;                  
				{"DUA_NUMVTR", ""	,                                  NIL}})			


aAdd(aNf,{nNumNFC , (nPesoNota / nQtdVol)})
aAdd(aCols,{nNumNFC, cSerieNF, nQtdVol, nQtdVol, .F.})

aAdd(aNFAvaria,{cFilDoc+cDoc+cSerie,;
				aCols,;
				aNF,;
				'ABC',; //Codigo da Ocorrência
				'6',; //Tipo de Pendencia
				AllTrim(Str(Val(cSeq)))})


lMsErroAuto := .F.MsAguarde( {|| MsExecAuto( {|x,y,z| TMSA360(x,y,z)}, aCab, aItens, aNFAvaria, 3 ) }, 'AGUARDE, PROCESSANDO...' )

If lMSErroAuto    
	MostraErro()
Else    
	Alert("Conclúido com Sucesso !! ")
EndIf
	
Return

05. TABELAS UTILIZADAS

cRota   := "ENTSP3"   //Código da rota
    
    oModel := FwLoadModel("TMSAF60")
	oModel:SetOperation(MODEL_OPERATION_INSERT)
	oModel:Activate()		
	//---- DTQ
	oModel:SetValue( "MdFieldDTQ", "DTQ_SERTMS"		, StrZero( 3, Len( DTQ->DTQ_SERTMS )) )
	oModel:SetValue( "MdFieldDTQ", "DTQ_TIPTRA"		, StrZero( 1, Len( DTQ->DTQ_TIPTRA )) )
	oModel:SetValue( "MdFieldDTQ", "DTQ_TIPVIA"		, StrZero( 3, Len( DTQ->DTQ_TIPVIA )) ) //Planejada
	oModel:SetValue( "MdFieldDTQ", "DTQ_ROTA"		, AllTrim(cRota) )

	//---- DTR
	oModel:SetValue( "MdGridDTR", "DTR_ITEM"		,  StrZero( 1, Len( DTR->DTR_ITEM ) ))
	oModel:SetValue( "MdGridDTR", "DTR_CODVEI"		, cCodVei)		
	If !Empty( cCodRb1 )
		oModel:SetValue( "MdGridDTR", "DTR_CODRB1"	, cCodRb1)
	EndIf
	If !Empty( cCodRb2 )
		oModel:SetValue( "MdGridDTR", "DTR_CODRB2"	, cCodRb2)
	EndIf	

	//--- DUP
	oModel:SetValue( "MdGridDUP", "DUP_CODMOT"		, cCodMot)
	oModel:SetValue( "MdGridDUP", "DUP_CONDUT"		, '1')

	If !oModel:VldData() .Or. !oModel:CommitData()
		AAdd(aMsgErr,{"Falha ao Incluir Viagem"+oModel:GetErrorMessage()[6],'00','ExecAuto()'}) //"Falha ao Incluir Viagem - " 
		lRet:= .F.		
	Else
		cRet := oModel:GetValue( "MdFieldDTQ", "DTQ_VIAGEM")
	EndIf

	oModel:DeActivate()
	oModel:= Nil

Return lRet  


05. ASSUNTOS RELACIONADOS

ID's dos Modelos MVC - Viagem Modelo 3 (TMSAF60 - SIGATMS)

ID's dos Modelos MVC - Carregamento Modelo 3 (TMSAF90 - SIGATMS)

Automação da Viagem Modelo 3 (TMSAF69 - SIGATMS)

06. TABELAS UTILIZADAS

  • DTQ - Viagem

  • DTR - Veículos da Viagem
  • DUA - Ocorrências
  • DUP - Motoristas da ViagemDUA - Registro de Ocorrências



HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>