Histórico da Página
...
Índice | ||||||
---|---|---|---|---|---|---|
|
01. VISÃO GERAL
A nova rotina de Registro de Viagem Modelo 3Pendências, permite a inclusão de viagens (entrega / transporte), permitindo selecionar as rotas e os documentos em aberto vinculados a ela pela consulta padrão.
...
o gerenciamento das pendências de forma automática, selecionando-se a operação desejada e também os campos que devem ser complementados no registro.
02. OBJETIVO DE UTILIZAÇÃO
Realizar processamento da rotina (inclusão de registro) de Viagem Mod. 3 de gerenciamento das pendências 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:
- cFilPnd - Filial de origem da pendência.
- cNumPnd - Número da pendência.
- aDados - Campos que devem ser alterados.
- nOpcao - Opção de execução do fonte.
- cTMSCOSB - Deverá ser informada Identificação Produto na Conciliação Sobras/Faltas 0=Não Utiliza,1=Obrigatório,2=Não Obrigatório
Variáveis estáticas que devem ser carregadas via função TMSAF89Set:
- nRotExt - Carrega rotina que deverá ser executada (10 - Indenizar / 11 - Encerrar / 12 - Estornar)
- nRadio - Carrega opção no encerramento da pendência, quando nRotExt for igual a 11 (1 - Somente Encerrar / 2 - Re-entregar / 3 - Devolver)
- lConAut - Carrega o fechamento automático da conciliação (.F. - Não / .T. - Sim)
- lPergUsu - Carrega a exibição das perguntas ao usuário (.F. - Não exibe / .T. - Exibe)
04. EXEMPLO DE EXECUÇÃO DE PROGRAMA
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" /*{Protheus.doc} AutoPend Exemplo de Rotina Automática da Pendência @type Static Function @author Totvs @since 31/01/2025 @version P12 R12.1.29 @param nOpcao @return return, return_type, return_description @example EncPende() (examples) @see (links_or_references) */ User Function AutoPend(cFilPnd,cNumPnd,aDados,nOpcao) Local aDadosDUU := {} Local aAreas := {DUU->(GetArea()),GetArea()} Local aCamposDUU := {} Local lRet := .T. Local nCntFor1 := 0 Local oMdlPnd Local oMdlFldDUU Local oStruDUU Default cFilPnd := "M SP 01 " Default cNumPnd := "000044" Default aDados := {{"DUU_MOTIVO","TESTE"},{"DUU_OBSENC","TESTE"},{"DUU_CODMTC","0001"}} Default nOpcao := 4 If !Empty(cNumPnd) .And. nOpcao != 0 DUU->(DbSetOrder(1)) If DUU->(DbSeek(xFilial("DUU") + cFilPnd + cNumPnd)) Aadd(aDadosDUU,{"DUU_FILPND",cFilPnd}) Aadd(aDadosDUU,{"DUU_NUMPND",cNumPnd}) For nCntFor1 := 1 To Len(aDados) Aadd(aDadosDUU,{aDados[nCntFor1,1],aDados[nCntFor1,2]}) Next nCntFor1 //-- Carrega Rotina Extra TMSAF89Set("nRotExt",11) //-- Encerrar //-- Carrega Opção no Encerramento da Pendência TMSAF89Set("nRadio",1) //-- Somente Encerra //-- Carrega Fechamento Automático da Conciliação TMSAF89Set("lConAut",.T.) //-- Fecha Automaticamente //-- Exibe Perguntas ao Usuário TMSAF89Set("lPergUsu",.F.) //-- Não Exibe Perguntas // Permite mudar o informe da Identificação Produto na Conciliação Sobras/Faltas 0=Não Utiliza,1=Obrigatório,2=Não Obrigatório TMSAF89Set("cTMSCOSB","0") //-- Carrega o Model da Pendência oMdlPnd := FWLoadModel("TMSAF89") oMdlPnd:SetOperation(nOpcao) //-- Ativa o Model da Pendência oMdlPnd:Activate() //-- Carrega o Modelo da Pendência oMdlFldDUU := oMdlPnd:GetModel("MdFieldDUU") oStruDUU := oMdlFldDUU:GetStruct() aCamposDUU := oStruDUU:GetFields() oMdlFldDUU:Activate() //-- Registro de Pendências For nCntFor1 := 1 To Len(aDadosDUU) If AScan(aCamposDUU,{|x| AllTrim(x[3]) == AllTrim(aDadosDUU[nCntFor1,1])}) > 0 If !oMdlFldDUU:SetValue(aDadosDUU[nCntFor1,1],aDadosDUU[nCntFor1,2]) lRet := .F. Exit EndIf EndIf Next nCntFor1 //-- Grava os Dados If lRet If (lRet := oMdlPnd:VldData()) oMdlPnd:CommitData() EndIf EndIf //-- Se Ocorreu Algum Erro Exibe Mensagem If !lRet //-- Monta mensagem de erro If !FWGetRunSchedule() MostraErro() EndIf EndIf //-- Desativa o Model do Planejamento oMdlPnd:DeActivate() EndIf EndIf AEval(aAreas,{|x,y| RestArea(x),FwFreeArray(x)}) FwFreeArray(aAreas) Return lRet |
...
- ID's dos Modelos MVC - Novo Registro de Pendências (TMSAF89 - SIGATMS
- TMSAF89 - Pontos de Entrada Padrão MVC.
06. TABELAS UTILIZADAS
DTQ - Viagem
- DTR - Veículos da Viagem
- DUA - Ocorrências
- DUP - Motoristas da Viagem
DUU - Registro de Pendê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> |
Import HTML Content
Visão Geral
Conteúdo das Ferramentas