Árvore de páginas

Como desenvolver a "User Function" para execução automática na rotina de Solicitação de Serviço. 

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) de inclusão de registros na rotina de Solicitação de Serviço.

Ambiente:

Todos

Passo a passo:

Para o desenvolvimento da rotina de execução automática a fim de realizar a inclusão de dados na rotina de Solicitação de Serviço (MNTA280), favor utilizar o exemplo abaixo.

Função:MNTA280
Parâmetros:
NomeTipoDescriçãoObrigatório
aSolicArray
NomeDescriçãoObrigatório
aSolic[ 1, 1 ]Nome do CampoSim
aSolic[ 1, 2 ]Conteúdo do CampoSim
aSolic[ 1, 3 ]Parâmetro reservadoSim
Sim
OperaçãoNuméricoIndica a operação a ser realizada, só sendo possível a opção 3 - InclusãoNão

Atenção

  • Está disponível via ExecAuto, apenas a opção 3 - Inclusão.
  • Está disponível via ExecAuto, apenas a inclusão de SS de Bens, não sendo possível a inclusão de SS do tipo Localização.
  • O exemplo de utilização é o mesmo, independente dos processos utilizados - Solicitação de serviço ou Facilities (MV_NG1FAC).
Exemplo fonte ExecAuto
#Include 'Totvs.ch'

//-------------------------------------------------------------------
/*/{Protheus.doc} MNT280EXEC
 ExecAuto MNTA280
/*/
//-------------------------------------------------------------------
User Function MNT280EXEC()

	//------------------------------------------
	// Processo de Inclusão
	//------------------------------------------  	

	Local aSolic := {}
 	Private lMSHelpAuto := .t. // Não apresenta erro em tela
	Private lMSErroAuto := .f. // Caso a variável torne-se .T. após MsExecAuto, apresenta erro em tela 

	aSolic	:= 	{	{"TQB_CODBEM", "BEM MNT 010"	,Nil},;	// Código do Bem a ser relacionado na Solicitação de Serviço
					{"TQB_CCUSTO", "MNT000003"    	,Nil},; // Código do Centro de Custo
					{"TQB_CDSERV", "MNT004"    		,Nil},; // Código do Tipo de Serviço          
					{"TQB_RAMAL" , "0001"    		,Nil},; // Ramal do funcionário que abriu a Solicitação de Serviço
					{"TQB_DESCSS", "Serviço no bem.",Nil},; // Descrição da Solicitação
					{"TQB_TPSERV",  "2" 			,Nil};	// Tipo Solicitação 1 - Incidente / 2 - Melhoria
				}

	MSExecAuto( {|x,z,y,w| MNTA280(x,z,y,w)}, , , aSolic, 3 )

	If lMsErroAuto
  		If !IsBlind() //Apresentará mensagem com o MostraErro se não utilizar RPCSetEnv. 
			MostraErro()
		Else		  //Não apresentará mensagem, pois utiliza a função RPCSetEnv.
			cError := MostraErro(GetSrvProfString("Startpath", ""), "MNTA280EXEC_"+DTOS(DATE())+"_"+;
					  Left(Time(),2)+SubStr(Time(),4,2)+".LOG") // Armazena mensagem de erro na raiz (StartPath).
			ConOut( cError)
		EndIf
	Endif

Return