Á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 no servidor e editar o arquivo de forma que as variáveis sejam posicionada nas estruturas desejadas, do dicionário do ambiente e que será informado no parâmetro MV_WFDIR.
  • Para variáveis fora de tabelas não se utiliza '.' em seu nomehá 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, se adiciona '.' e separa-se com ponto e se nomeia o campo (favor verificar exemplo)..
    • 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, para atribuir valores em variáveis do arquivo htm de WorkFlow.

Localização:

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

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:

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
languagevbthemeEclipsesql
titleExemplo do Ponto de Entrada MNT6931NGTWFPro
linenumberstrue
#Include 'PROTHEUS.CH'

User Function MNTA6931NGTWFPro()

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

	Do Case

		// Transferência objetode oProcessBens
	Local nI

   		Case cOrigin == 'MNTA693'

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

			//ValorInserido 'Campocampo dentrocentro de tabela' custo do registro posicionado da TQ2 na variávelvariavel t2l8.strEX2
			aAdd( (Sempre referenciar a tabela quando for um campo)
	aAdd( oProcess:oHTML:ValByName( 't2l8.strCCusto' ), TQ2->TQ2_CCUSTO )

			// titulo inserido antes da montagem da tabela.
			oProcess:oHTML:ValByName( 't2l8.strEX2' ), 'CampoExemplo campos dentroinserdos deem tabela' )

			//ValoresInseridos 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( 't4l1t5l1.1') ), cValToChar( nInIndex ) + '. Geração de campo em tabela 1' )
				aAdd( (oProcess:oHTML:ValByName( 't4l1t5l1.2') ), cValToChar( nInIndex ) + '. Geração de campo em tabela 2' )
				aAdd( (oProcess:oHTML:ValByName( 't4l1t5l1.3') ), cValToChar( nInIndex ) + '. Geração de campo em tabela 3' )
				aAdd( (oProcess:oHTML:ValByName( 't4l1t5l1.4') ), cValToChar( nInIndex ) + '. Geração de campo em tabela 4' )

			Next nI 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.' )
            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