Rotina automática de Calibragem/Medição de Sulco.
A funcionalidade ExecAuto estará presente nas versões do fonte MNTA995.prx com a data a partir de 10/12/2020.
Produto: | Microsiga Protheus | ||||||||||||||||||||||||||||||||||||||||
Versões: | Todas | ||||||||||||||||||||||||||||||||||||||||
Ocorrência: | Desenvolvido o uso da rotina automática (ExecAuto) para Calibragem/Medição de Sulco (MNTA995). | ||||||||||||||||||||||||||||||||||||||||
Ambiente: | Todos | ||||||||||||||||||||||||||||||||||||||||
Parâmetros: |
| ||||||||||||||||||||||||||||||||||||||||
Passo a passo: | Essa rotina tem por objetivo, realizar a Inclusão de um novo registro ou alteração/exclusão de um registro anterior de Calibragem/Medição de Sulco (TTO) e em seus respectivos Pneus (TTP). ExecAuto MNTA995 #INCLUDE "PROTHEUS.CH" User Function MNTA995AUT() Local aRotAuCal := {} //Registro de Inspeção Local aRotAuCS := {} //Calibragem/Medição de Sulco Local cError := ' ' Private lMsErroAuto := .F. // Caso a variável torne-se .T. apos MsExecAuto, apresenta erro em tela Private lMSHelpAuto := .T. // Não apresenta erro em tela //Inicialização para utilização via JOB RPCSetType( 3 ) RPCSetEnv( "T3", "M RJ 01 ", '', '', 'MNT' ) //Exemplo de Inclusão //Array por Calibragem/Medição de Sulco aAdd( aRotAuCal, { "TTO_BEMPAI" , PadR( 'BMW01', TAMSX3("TTO_BEMPAI")[1]), Nil }) aAdd( aRotAuCal, { "TTO_DTCALI" , dDataBase , Nil }) aAdd( aRotAuCal, { "TTO_HRCALI" , "08:06" , Nil }) //Array para cada Pneu aAdd( aRotAuCS, {{ "TTP_PNEU" , PadR( 'PN-BMW-01', TAMSX3("TTP_PNEU")[1]) , Nil },; { "TTP_CODLOC" , PadR( '000001' , TAMSX3("TTP_CODLOC")[1]), Nil },; { "TTP_CALATU" , 30 , Nil },; { "TTP_CALREA" , 28 , Nil },; { "TTP_SULCO1" , 24 , Nil },; { "TTP_SULCO2" , 24 , Nil },; { "TTP_SULCO3" , 22 , Nil }}) aAdd( aRotAuCS, {{ "TTP_PNEU" , PadR( 'PN-BMW-02', TAMSX3("TTP_PNEU")[1]) , Nil },; { "TTP_CODLOC" , PadR( '000002' , TAMSX3("TTP_CODLOC")[1]), Nil },; { "TTP_CALATU" , 30 , Nil },; { "TTP_CALREA" , 28 , Nil },; { "TTP_SULCO1" , 28 , Nil },; { "TTP_SULCO2" , 28 , Nil },; { "TTP_SULCO3" , 22 , Nil }}) aAdd( aRotAuCS, {{ "TTP_PNEU" , PadR( 'PN-BMW-03', TAMSX3("TTP_PNEU")[1]) , Nil },; { "TTP_CODLOC" , PadR( '000003' , TAMSX3("TTP_CODLOC")[1]), Nil },; { "TTP_CALATU" , 32 , Nil },; { "TTP_CALREA" , 30 , Nil },; { "TTP_SULCO1" , 45 , Nil },; { "TTP_SULCO2" , 44 , Nil },; { "TTP_SULCO3" , 40 , Nil }}) aAdd( aRotAuCS, {{ "TTP_PNEU" , PadR( 'PN-BMW-04', TAMSX3("TTP_PNEU")[1]) , Nil },; { "TTP_CODLOC" , PadR( '000004' , TAMSX3("TTP_CODLOC")[1]), Nil },; { "TTP_CALATU" , 32 , Nil },; { "TTP_CALREA" , 30 , Nil },; { "TTP_SULCO1" , 48 , Nil },; { "TTP_SULCO2" , 43 , Nil },; { "TTP_SULCO3" , 40 , Nil }}) //chamada ExecAuto MSExecAuto({|x,y,z|MNTA995(x,y,z)},aRotAuCal,aRotAuCS,3) If !lMsErroAuto ConOut("**** Incluído com sucesso! ****") Else If !IsBlind() MostraErro() ConOut("Erro na Inclusão!") Else cError := MostraErro(GetSrvProfString("Startpath", ""), "MNTA995AUT_"+DTOS(DATE())+"_"+; Left(Time(),2)+SubStr(Time(),4,2)+".LOG") ConOut(cError) EndIf EndIf //EXEMPLO DE ALTERAÇÃO //Array por Calibragem/Medição de Sulco /* aAdd( aRotAuCal, { "TTO_BEMPAI" , PadR( 'BMW01', TAMSX3("TTO_BEMPAI")[1]), Nil }) aAdd( aRotAuCal, { "TTO_DTCALI" , dDataBase , Nil }) aAdd( aRotAuCal, { "TTO_HRCALI" , "08:06" , Nil }) //Array para cada Pneu aAdd( aRotAuCS, {{ "TTP_PNEU" , PadR( 'PN-BMW-01', TAMSX3("TTP_PNEU")[1]) , Nil },; { "TTP_CODLOC" , PadR( '000001' , TAMSX3("TTP_CODLOC")[1]), Nil },; { "TTP_CALATU" , 30 , Nil },; { "TTP_CALREA" , 26 , Nil },; { "TTP_SULCO1" , 22 , Nil },; { "TTP_SULCO2" , 21 , Nil },; { "TTP_SULCO3" , 19 , Nil }}) aAdd( aRotAuCS, {{ "TTP_PNEU" , PadR( 'PN-BMW-02', TAMSX3("TTP_PNEU")[1]) , Nil },; { "TTP_CODLOC" , PadR( '000002' , TAMSX3("TTP_CODLOC")[1]), Nil },; { "TTP_CALATU" , 30 , Nil },; { "TTP_CALREA" , 22 , Nil },; { "TTP_SULCO1" , 18 , Nil },; { "TTP_SULCO2" , 18 , Nil },; { "TTP_SULCO3" , 12 , Nil }}) aAdd( aRotAuCS, {{ "TTP_PNEU" , PadR( 'PN-BMW-03', TAMSX3("TTP_PNEU")[1]) , Nil },; { "TTP_CODLOC" , PadR( '000003' , TAMSX3("TTP_CODLOC")[1]), Nil },; { "TTP_CALATU" , 22 , Nil },; { "TTP_CALREA" , 28 , Nil },; { "TTP_SULCO1" , 25 , Nil },; { "TTP_SULCO2" , 14 , Nil },; { "TTP_SULCO3" , 10 , Nil }}) aAdd( aRotAuCS,{{ "TTP_PNEU" , PadR( 'PN-BMW-04', TAMSX3("TTP_PNEU")[1]) , Nil },; { "TTP_CODLOC" , PadR( '000004' , TAMSX3("TTP_CODLOC")[1]), Nil },; { "TTP_CALATU" , 12 , Nil },; { "TTP_CALREA" , 20 , Nil },; { "TTP_SULCO1" , 18 , Nil },; { "TTP_SULCO2" , 13 , Nil },; { "TTP_SULCO3" , 10 , Nil }}) //chamada ExecAuto MSExecAuto({|x,y,z|MNTA995(x,y,z)},aRotAuCal,aRotAuCS,4) If !lMsErroAuto ConOut("**** Alterado com sucesso! ****") Else If !IsBlind() MostraErro() ConOut("Erro na Alteração!") Else cError := MostraErro(GetSrvProfString("Startpath", ""), "MNTA995AUT_"+DTOS(DATE())+"_"+; Left(Time(),2)+SubStr(Time(),4,2)+".LOG") ConOut(cError) EndIf EndIf //EXEMPLO DE EXCLUSÃO //Array por Calibragem/Medição de Sulco aAdd( aRotAuCal, { "TTO_BEMPAI" , PadR( 'BMW01', TAMSX3("TTO_BEMPAI")[1]), Nil }) aAdd( aRotAuCal, { "TTO_DTCALI" , dDataBase , Nil }) aAdd( aRotAuCal, { "TTO_HRCALI" , "08:06" , Nil }) //chamada ExecAuto MSExecAuto({|x,y,z|MNTA995(x,y,z)},aRotAuCal,aRotAuCS,5) If !lMsErroAuto ConOut("**** Excluído com sucesso! ****") Else If !IsBlind() MostraErro() ConOut("Erro na Exclusão!") Else cError := MostraErro(GetSrvProfString("Startpath", ""), "MNTA995AUT_"+DTOS(DATE())+"_"+; Left(Time(),2)+SubStr(Time(),4,2)+".LOG") ConOut(cError) EndIf EndIf */ ConOut("Fim : "+Time()) ConOut(Repl("-",80)) Return .T. | ||||||||||||||||||||||||||||||||||||||||
Observações: | Para o processo de inclusão ou de alteração é necessário que se envie o array aRotAuCal (tabela TTO) e o array aRotAuCS (tabela TTP) que contemplam os respectivos pneus e as medidas de calibragem e medição de sulco. Para o processo de exclusão se faz necessário apenas o envio do array aRotAuCal (tabela TTO) que é a chave única da Calibragem/Medição de Sulco. |