Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Manutenção de Ativos e Gestão de Frotas (SIGAMNT).

Versões:

Todas

Ocorrência:

Desenvolvimento de função para execução automática(ExecAuto) e inclusão de registros na rotina de Abastecimento Manual.

Ambiente:

Todos

Passo a passo:

Para o desenvolvimento da rotina de execução automática a fim de realizar a inclusão, alteração ou exclusão de dados na rotina de Abastecimento Manual (MNTA655), favor utilizar o exemplo abaixo.

Função:MNTA655( Reservado, aAbast, Operação )
Parâmetros:
NomeTipoDescriçãoObrigatório
aAbastArray
NomeDescriçãoObrigatório
aAbast[ 1, 1 ]Nome do CampoSim
aAbast[ 1, 2 ]Conteúdo do CampoSim
aAbast[ 1, 3 ]Parâmetro reservadoSim
Sim
OperaçãoNuméricoIndica a operação a ser realizada, sendo 3-Inclusão, 4-alteração e 5-Exclusão.Sim
Nota
titleAtenção

A funcionalidade ExecAuto estará presente nas versões do fonte MNTA655.prx com a data a partir de XX/1201/20192020.

  • Ao utilizar o ExecAuto o parâmetro MV_NGGERPR terá sempre o valor 'S' para que não seja apresentada nenhuma mensagem em tela.
Bloco de código
languagejava
themeEclipse
titleExemplo fonte ExecAuto
linenumberstrue
#Include 'Totvs.ch'

//-------------------------------------------------------------------
/*/{Protheus.doc} MNT655EXEC
ExecAuto MNTA655
/*/
//-------------------------------------------------------------------
User Function MNT655EXEC()

	//------------------------------------------
	// Processo de Inclusão
	//------------------------------------------
	Local aAbast := {}
	
	// Itens obrgitórios para inclusão do abastecimento
	aAbast := { {'TQN_PLACA' , 'CGZ-1500'            , Nil },;
				{'TQN_FROTA' , 'CG150           '    , Nil },;
				{'TQN_CNPJ'  , '47467235000151'      , Nil },;
				{'TQN_CODCOM', 'GAS'                 , Nil },;
				{'TQN_DTABAS', StoD( '20191210' )    , Nil },;
				{'TQN_HRABAS', '15:05'               , Nil },;
				{'TQN_QUANT' , 10                    , Nil },;
				{'TQN_VALUNI', 4                     , Nil },;
				{'TQN_VALTOT', 40                    , Nil },;
				{'TQN_HODOM' , 130                   , Nil },;
				{'TQN_CODMOT', '000001'              , Nil },;
				{'TQN_POSTO' , '099                 ', Nil },;
				{'TQN_LOJA'  , '01  '                , Nil },;
				{'TQN_NOTFIS', '8875137'             , Nil }}

	lMSHelpAuto := .T. // Não apresenta erro em tela
	lMSErroAuto := .F. // Caso a variável torne-se .T. apos MsExecAuto, apresenta erro em tela
	
	MSExecAuto( { | v, x, y | MNTA655( v, x, y ) }, , aAbast, 3 )
	If lMsErroAuto
		MostraErro()
	EndIf
	
	If !lMsErroAuto
		//------------------------------------------
		// Processo de Alteração
		//------------------------------------------
		aAbast := {}

		// Para alteração será necessário informar os campos TQN_FROTA, TQN_DTABAS, TQN_HRABAS para encontrar o abastecimento, os demais campos informados serão referentes as alterações solicitadas
		aAbast := { { 'TQN_FROTA' , 'CG150           ', Nil },;
					{ 'TQN_DTABAS', StoD( '20191210' ), Nil },;
					{ 'TQN_HRABAS', '15:05'           , Nil },;
					{ 'TQN_QUANT' , 5                 , Nil },;
					{ 'TQN_VALUNI', 4                 , Nil },;
					{ 'TQN_VALTOT', 20                , Nil }}


		lMSHelpAuto := .T. // Não apresenta erro em tela
		lMSErroAuto := .F. // Caso a variável torne-se .T. apos MsExecAuto, apresenta erro em tela
		
		MSExecAuto( { | v, x, y | MNTA655( v, x, y, z ) }, , aAbast, 4 )
		If lMsErroAuto
			MostraErro()
		EndIf
	EndIf
	
	If !lMsErroAuto
		//------------------------------------------
		// Processo de Exclusão
		//------------------------------------------
		aAbast := {}

		// Para alteração será necessário informar os campos TQN_FROTA, TQN_DTABAS, TQN_HRABAS para encontrar o abastecimento.
		aAbast := { { 'TQN_FROTA' , 'CG150           ', Nil },;
					{ 'TQN_DTABAS', StoD( '20191210' ), Nil },;
					{ 'TQN_HRABAS', '15:05'           , Nil }}

		lMSHelpAuto := .T. // Não apresenta erro em tela
		lMSErroAuto := .F. // Caso a variável torne-se .T. apos MsExecAuto, apresenta erro em tela
		
		MSExecAuto( { | v, x, y | MNTA655( v, x, y ) }, , aAbast, 5 )

		If lMsErroAuto
			MostraErro()
		EndIf
	EndIf

Return