Histórico da Página
...
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: |
| ||||||||||||||||||||
Países: | Todos. Banco(s) | ||||||||||||||||||||
Bancos de Dados: | Todos. | ||||||||||||||||||||
Sistema(s) Operacional(is)Sistemas Operacionais: | Todos. | ||||||||||||||||||||
ObservaçãoImportante: |
|
...
|
Ponto de Entrada
Descrição: | Ponto de Entrada chamado |
Localização:
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. |
Programa Fonte: |
NGUTIL.prx |
Função: |
NGTWFProcB() | |||
Parâmetros: |
|
|
|
| |||||||
Retorno: |
|
|
Aviso | ||
---|---|---|
| ||
Para utilização do exemplo do ponto de entrada é imprescindível que se utilize o arquivo correspondente a rotina desejada abaixo: 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 | ||||
---|---|---|---|---|
| ||||
<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">%t1l1.strSubTitulo%</font></td>
</tr>
</table>
<br>
<b><font face="Arial" size="2">Origem</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">Num. ME.</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">Empresa</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">Filial</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">Equipamento</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">Nº Série</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">Data</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">Hora</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">Teste</font></b></td>
<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t2l8.strEX2%</font></td>
</tr>
</table>
<br>
<b><font face="Arial" size="2">Destino</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">Empresa</font></b></td>
<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t3l1.strEMPDES%</font></td>
</tr>
<tr>
<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">Filial</font></b></td>
<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t3l2.strFILDES%</font></td>
</tr>
<tr>
<td bgcolor="#EEEEEE" align="left" width="157"><b><font face="Arial" size="2">Observação</font></b></td>
<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t3l3.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">Exemplo campos inserdos em tabela</font></b></td>
</tr>
<tr>
<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t4l1.1%</font></td>
<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t4l1.2%</font></td>
<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t4l1.3%</font></td>
<td bgcolor="#EEEEEE" align="left" width="420"><font face="Arial" size="1">%t4l1.4%</font></td>
</tr>
</table>
</body>
</html> | ||||
| ||||
#Include 'PROTHEUS.CH'
User Function NGTWFPro()
Local oProcess := ParamIXB[1]
Local cOrigin := ParamIXB[2]
Local nIndex := 0
Do Case
// Transferência de Bens
Case cOrigin == 'MNTA693'
//Valor '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 variavel t2l8.strEX2
aAdd( oProcess:oHTML:ValByName( 't2l8.strCCusto' ), TQ2->TQ2_CCUSTO )
// titulo inserido antes da montagem da tabela.
oProcess:oHTML:ValByName( 'strEX2', 'Exemplo campos inserdos 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
// 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.' )
| ||||
Bloco de código | ||||
| ||||
User Function MNTA6931() Local oProcess := ParamIXB[1] // objeto oProcess Local nI // inserindo o valor 'Campo fora de tabela' na variável strEX1 oProcess:oHTML:ValByName( 'strEX1', 'Campo fora de tabela' ) // inserindo o valor 'Campo dentro de tabela' na variável t2l8.strEX2 ( deve sempre estar referenciada a tabela se for campo em tabela ) aAdd( oProcess:oHTML:ValByName( 't2l8it1.strEX2TEXTO3' ), 'Campo dentro de tabela' ) // inserindo valores de modo dinâmico em tabela que contem apenas uma linha, baseia-se nos campos dessa linha para inserir outras novas linhas. // no exemplo se inserem 10 linhas com quatro campos. For nI := 1 To 10 aAdd( (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( 't4l1it1.1TEXTO4') ), cValToChar( nI ) + '. Geração de campo em tabela 1' ) aAdd( (oProcess:oHTML:ValByName( 't4l1.2') ), cValToChar( nI ) + '. Geração de campo em tabela 2' ) aAdd( ( '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( 't4l1it1.3TEXTO5') ), cValToChar( nI ) + '. Geração de campo em tabela 3' ) aAdd( (oProcess:oHTML:ValByName( 't4l1.4') ), cValToChar( nI ) + '. Geração de campo em tabela 4' ) Next Return oProcess '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 |