Á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

Banco(s)

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

Rotina(s) envolvida(s)

Nome Técnico

MNTA6931

Ponto de Entrada

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ísesPaís(es):

Todos.

Bancos de Dados:

Todos.

Sistema(s) Operacional(is)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

Descrição:

Ponto de Entrada chamado ao

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

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

, no WorkFlow de Solicitação de NF para Transferência

.

Localização:

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

Programa Fonte:

MNTA693
NGUTIL.prx

Função:

MNTA6931

NGTWFProcB()

Parâmetros:

NomeTipoDescrição
Pode Alterar
Obrigatório
PARAMIXB
ParamIXB[1]Objeto
TWFProcess

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
oProcessObjeto
TWFProcess
Retorna 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 MNT6931NGTWFPro
linenumberstrue
#Include 'PROTHEUS.CH'

User Function MNTA6931NGTWFPro()

    Local oProcess := ParamIXB[1] // objeto oProcess
    Local cOrigin  := ParamIXB[2]
    Local nI 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.strEX2strCCusto' ), 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 nInIndex := 1 To 10

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

			Next nIndex

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

			aAdd( oProcess:oHTML:ValByName( 'head1.strRamal' ), 'Ramal'        )
			aAdd( oProcess:oHTML:ValByName( 't4l1.3') ), cValToChar( nIcol1.strRamal'  ), TQB->TQB_RAMAL )

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

			aAdd( oProcess:oHTML:ValByName( 'head2. GeraçãostrCcusto' ), 'Centro de Custos'   )
			aAdd( oProcess:oHTML:ValByName( 'head2.strCtrab'  ), 'Centro de campo em tabela 3' )
        aAdd( (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( 't4l1cols.4strCCusto'  ), TQB->TQB_CCUSTO )

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

            aAdd( oProcess:oHTML:ValByName( 'it1.TEXTO2' ), cValToChar( nI ) + '. Geração de campo em tabela 4 '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.' )

    NextEndCase

Return oProcess