Á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

Rotina(s) envolvida(s)

Nome Técnico

MNTA6931

Ponto de Entrada

País(es)

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.

Banco(s)

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

na rotina de Transferência de Bens(MNTA693), para atribuir valores em variáveis

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

de WorkFlow

.

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:

NomeTipo
Pode Alterar
Descrição
DescriçãooProcess
Obrigatório
ParamIXB[1]Objeto
TWFProcess
Sim

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
languagecppsql
themeEclipse
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 inserindo'WorkFlow oTransferência valorde 'CampoVeículos foravia deConstrução tabelaCivil' na variável strEX1
			oProcess:oHTML:ValByName( 'strEX1', 'CampoWorkFlow foraTransferência de tabela Veículos via Construção Civil' )

			//Inserido campo centro inserindode ocusto valordo 'Camporegistro dentroposicionado deda tabela'TQ2 na variávelvariavel t2l8.strEX2
			aAdd( oProcess:oHTML:ValByName( deve sempre estar referenciada a tabela se for campo em tabela )
	aAdd( 't2l8.strCCusto' ), TQ2->TQ2_CCUSTO )

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

			// inserindoInseridos valores de modo dinâmico em tabela html que contemcontém apenas uma linha, baseia-se nos campos dessa linha para inserir outras novas linhas.
			// no exemplo Abaixo inserem-se inserem 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 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