Árvore de páginas

Versões comparadas

Chave

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

Ponto de entrada para atribuição de valores no arquivo .htm utilizado

...

nos workflows.

Características do Requisito

Linha de Produto:

Microsiga Protheus.

Segmento:

Manufatura.

Módulo:

SIGAMNT - Manutenção de Ativos e Gestão de Frotas.

Rotina:

Rotina

Nome Técnico

NGUTIL

Funções Genéricas

Rotinas envolvidas

Nome Técnico

MNTA693

Transferência de Bens

MNTW025Inclusão de S.S.

MNTW040

Workflow de Distribuição de S.S. para o Executante

MNTW060Workflow de Inclusão de Multa
MNTW061Workflow de Inclusão de Notificação

Países:

Todos.

Bancos de Dados:

Todos.

Sistemas Operacionais:

Todos.

ObservaçãoImportante:
  • É necessário possuir o arquivo MNTW693 .htm do workflow que se deseja customizar no diretório de WorkFlow parametrizado , do dicionário do ambiente e que será informado no parâmetro MV_WFDIR.
  • Para variáveis fora de tabelas não há necessidade de se separar através de ponto ( "." .
    • Exemplo: ( (oProcess:oHTML:ValByName( 't5l1.1') ), cValToChar( nIndex ) + '. Geração de campo em tabela 1' ).
  • Para variáveis dentro de tabelas se referencia utiliza a referência à tabela na linha em que se encontra e , separa-se com ponto ( "." ) e  e se nomeia o campo.
    • Exemplo: oProcess:oHTML:ValByName( 'strEX1', 'WorkFlow Teste' )

Ponto de Entrada

incluir e alterar uma transferência na rotina de Transferência de Bens(MNTA693), após confirmação da tela, no WorkFlow de Solicitação de NF para Transferência

Descrição:

Ponto de Entrada chamado ao

acionar o processo de envio de workflow, que permite customização com adição e/ou mudança de conteúdo de campos, através do arquivo .htm

.

Localização:

SIGAMNT: Atualizações/Construção Civil/Transferência/Transferência de Bens.

Programa Fonte:

MNTA693NGUTIL.prx

Função:

MNT693WFNGTWFProcB()

Parâmetros:

NomeTipoDescriçãoObrigatório
ParamIXB[1]Objeto

Objeto para manipular o WorkFlow.

Sim
ParamIXB[2]CaractereDefine a rotina de origem que realizara a chamada do P.E.Sim
Retorno:
NomeTipoDescriçãoObrigatório
oProcessObjetoRetorna o Objeto alterado para utilização no envio de WorkFlow.Sim

...

Aviso
titleAtenção

Para utilização do exemplo do ponto de entrada é imprescindível que se utilize o arquivo correspondente a rotina desejada abaixo: 

mntw693.htm

mntw025.htm

mntw040.htm

mntw060.htm

mntw061.htm

Qualquer alteração realizada no P.E. deve-se ser replicada ao arquivo de layout, caso contrário resultará em uma inconsistência.

Bloco de código
languagesql
titleExemplo do Ponto de Entrada NGTWFPro
linenumberstruecollapsetrue
#Include 'TotvsPROTHEUS.chCH'

User Function NGTWFPro()

	    Local oProcess := ParamIXB[1]
	    Local cOrigin  := ParamIXB[2]
	    Local nIndex   := 0

	Do Case

	If	// Transferência de Bens
   		Case cOrigin == 'MNTA693'

			// Valor apresentadoValor 'WorkFlow Transferência de Veículos via Construção Civil' na variável strEX1
			oProcess:oHTML:ValByName( 'strEX1', 'WorkFlow Transferência de Veículos via Construção Civil' )

			// Inserido campo centro de custo do registro posicionado da TQ2 na variávelvariavel t2l8.strEX2
			aAdd( oProcess:oHTML:ValByName( 't2l8.strCCusto' ), TQ2->TQ2_CCUSTO )

			// Títulotitulo inserido antes da montagem da tabela.
			oProcess:oHTML:ValByName( 'strEX2', 'Exemplo campos inseridosinserdos em tabela' )

			//Inseridos valores de modo dinâmico em tabela html que contém apenas uma linha, baseia-se nos campos dessa linha para inserir outras novas linhas.
			//Abaixo inserem-se 10 linhas com quatro campos.
			For nIndex := 1 To 10

				aAdd( (oProcess:oHTML:ValByName( 't5l1.1') ), cValToChar( nIndex ) + '. Geração de campo em tabela 1' )
				aAdd( (oProcess:oHTML:ValByName( 't5l1.2') ), cValToChar( nIndex ) + '. Geração de campo em tabela 2' )
				aAdd( (oProcess:oHTML:ValByName( 't5l1.3') ), cValToChar( nIndex ) + '. Geração de campo em tabela 3' )
				aAdd( (oProcess:oHTML:ValByName( 't5l1.4') ), cValToChar( nIndex ) + '. Geração de campo em tabela 4' )

			Next nIndex

	EndIf

Return oProcess
Bloco de código
languagexml
titleExemplo do arquivo .htm
linenumberstrue
collapsetrue
<html>

	<head>
		<title>%strTitulo%</title>
	</head>

	<body bgcolor="#FFFFFF">

		<p><b><font face="Arial">%strTitulo%</font></b></p>
		</u>
		<p><b><font face="Arial">%strEX1%</font></b></p>
		</u>

		<table border=0 WIDTH=655 cellpadding="1">

			<tr>
				<td bgcolor="#FFFFFF" align="left" width="157"><font face="Arial" size="2">%strSubTitulo%</font></td>
			</tr>

		</table>

		<br>
		<b><font face="Arial" size="2">%strOrigem%</font></b>
		<br><br>

		<table border=0 WIDTH=655 cellpadding="1">

			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t1l1.strNumME%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t2l1.strNUMME%</font></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t1l2.strEmpOrig%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t2l2.strEMPORI%</font></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t1l3.strFilOrig%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t2l3.strFILORI%</font></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t1l4.strCodBem%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t2l4.strCODBEM%</font></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t1l5.strNumSer%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t2l5.strSERIE%</font></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t1l6.strDataTR%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t2l6.strDATATR%</font></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t1l7.strHoraTR%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t2l7.strHORATR%</font></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">Centro de Custos</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t2l8.strCCusto%</font></td>
			</tr>

		</table>

		<br>
		<b><font face="Arial" size="2">%strDestino%</font></b>
		<br><br>

		<table border=0 WIDTH=655 cellpadding="1">

			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t3l1.strEmpDest%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t4l1.strEMPDES%</font></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t3l2.strFilDest%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t4l2.strFILDES%</font></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">%t3l3.strObserv%</font></b></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t4l3.strMOTTRA%</font></td>
			</tr>

		</table>

		<table border=0 WIDTH=655 cellpadding="1">

			<tr>
				<td bgcolor="#EEEEEE" align="left" width="157" colspan="4"><b><font face="Arial" size="2">%strEX2%</font></b></td>
			</tr>
			<tr>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t5l1.1%</font></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t5l1.2%</font></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t5l1.3%</font></td>
				<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t5l1.4%</font></td>
			</tr>

		</table>

	</body>

</html>/ Distribuição de S.S.
    	Case cOrigin == 'MNTW040'

			aAdd( oProcess:oHTML:ValByName( 'head1.strRamal' ), 'Ramal'        )
			aAdd( oProcess:oHTML:ValByName( 'col1.strRamal'  ), TQB->TQB_RAMAL )

			dbSelectArea( 'ST9' )
			dbSetOrder( 1 )
			dbSeek( xFilial( 'ST9' ) + TQB->TQB_CODBEM )

			aAdd( oProcess:oHTML:ValByName( 'head2.strCcusto' ), 'Centro de Custos'   )
			aAdd( oProcess:oHTML:ValByName( 'head2.strCtrab'  ), 'Centro de Trabalho' )

			aAdd( oProcess:oHTML:ValByName( 'col2.strCcusto' ), ST9->T9_CCUSTO  )
			aAdd( oProcess:oHTML:ValByName( 'col2.strCtrab'  ), ST9->T9_CENTRAB )

		// Inclusão de S.S.
		Case cOrigin == 'MNTW025'

			aAdd( oProcess:oHTML:ValByName( 'head.strCCusto' ), 'Centro de Custos'        )
			aAdd( oProcess:oHTML:ValByName( 'cols.strCCusto'  ), TQB->TQB_CCUSTO )

        // Inclusão de Multa           // Inclusão de Notificação
        Case cOrigin == 'MNTW060' .Or. cOrigin == 'MNTW061'

            aAdd( oProcess:oHTML:ValByName( 'it1.TEXTO2' ), 'Recebemos a notificação de multa abaixo apresentada, a qual identificada pelo sistema de rastreador que o Sr(a) é o condutor.' )
            aAdd( oProcess:oHTML:ValByName( 'it1.TEXTO3' ), 'Notificamos que, conforme prevê a CLT em seu art. 462 § 1º, o desconto da multa + 5% de taxa administrativa, será realizado em sua folha de pagamento.' )
            aAdd( oProcess:oHTML:ValByName( 'it1.TEXTO4' ), 'Informamos que caso queira indicar o condutor na infração descriminada abaixo é necessário entrar em contato com o departamento de frota no prazo de 15 dias, a contar de hoje.' +;
             'Ciente da responsabilidade de arcar com o custo, caso seja lavrada a multa por não identificação do condutor.' )
            aAdd( oProcess:oHTML:ValByName( 'it1.TEXTO5' ), 'Caso tenha interesse em realizar o parcelamento da multa, desde que o valor de cada parcela não seja inferior a R$100,00, o condutor deve procurar também o Departamento de Frota no prazo supracitado.' )

    EndCase

Return oProcess