Histórico da Página
Como desenvolver a "User Function" para execução automática de dados na rotina Geração Check List.
Produto: | Manutenção de Ativos e Gestão de Frotas (SIGAMNT). |
Versões: | Todas |
Ocorrência: | Desenvolvimento de função para execução automática(ExecAuto) e inclusão de registros na rotina de Geração Check List. |
Ambiente: | Todos |
Passo a passo: | Para desenvolvimento da rotina de execução automática, para inclusão de dados na rotina de Geração Check List, favor utilizar o exemplo abaixo. |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" //-------------------------------------------------- // FUNÇÃO RESPONSÁVEL PELA CRIAÇÃO DO EXECAUTO // DA ROTINA MNTA735 //-------------------------------------------------- User Function MNT735Exec() Local aSay := {} Local aButton := {} Local nOpc := 0 Local Titulo := 'IMPORTAÇÃO DE CHECK LIST' Local cDesc1 := 'Esta rotina fará a importação de Check List' Local cDesc2 := 'conforme layout.' Local cDesc3 := '' Local lOk := .T. aAdd( aSay, cDesc1 ) aAdd( aSay, cDesc2 ) aAdd( aSay, cDesc3 ) aAdd( aButton, { 1, .T., { || nOpc := 1, FechaBatch() } } ) aAdd( aButton, { 2, .T., { || FechaBatch() } } ) FormBatch( Titulo, aSay, aButton ) If nOpc == 1 Processa( { || lOk := Runproc() },'Aguarde','Processando...',.F.) If lOk ApMsgInfo( 'Processamento terminado com sucesso.', 'ATENÇÃO' ) Else ApMsgStop( 'Processamento realizado com problemas.', 'ATENÇÃO' ) EndIf EndIf Return Nil //------------------------------------------------------------------- // Rotina para importação de Check List. //------------------------------------------------------------------- Static Function Runproc() Local lRet := .T. Local aCposCab := {} Local aCposDet := {} //Dados da tabela. aCposCab := {} aAdd( aCposCab, { 'TTF_FILIAL' , 'M RJ 01 ' } ) aAdd( aCposCab, { 'TTF_CODBEM' , '1234 ' } ) aAdd( aCposCab, { 'TTF_CODFAM' , '1234 ' } ) aAdd( aCposCab, { 'TTF_TIPMOD' , '1234 ' } ) aAdd( aCposCab, { 'TTF_CODFUN' , '000001' } ) aAdd( aCposCab, { 'TTF_DATA' , dDataBase } ) aAdd( aCposCab, { 'TTF_HORA' , '18:18' } ) //Valores da TTG aCposDet := {} aAdd( aCposDet, { 'TTG_FILIAL', 'M RJ 01 '} ) aAdd( aCposDet, { 'TTD_TIPMOD', 'X' } ) aAdd( aCposDet, { 'TTG_ETAPA' , '1234 ' } ) aAdd( aCposDet, { 'TTG_EVENTO', 'O' } ) aAdd( aCposDet, { 'TTG_SERVIC', '1234 ' } ) aAdd( aCposDet, { 'TTG_CRITIC', 'A' } ) If !Import( 'TTF', 'TTG', aCposCab, aCposDet ) lRet := .F. EndIf Return lRet //------------------------------------------------------------------- // Importacao dos dados //------------------------------------------------------------------- Static Function Import( cMaster, cDetail, aCpoMaster, aCpoDetail ) Local oModel Local lRet := .T. Local nI := 0 Local nJ := 0 Local nItErro := 0 dbSelectArea( cDetail ) dbSetOrder( 1 ) dbSelectArea( cMaster ) dbSetOrder( 1 ) //Abre o Model da rotina. oModel := FWLoadModel( 'MNTA735' ) // Define a operação desejavada: 3 – Inclusão / 4 – Alteração / 5 - Exclusão oModel:SetOperation( 3 ) // Ativação do Modelo. oModel:Activate() //Joga os valores da TTF para o modelo - TTFMASTER. If Len(aCpoMaster) > 0 For nI := 1 To Len(aCpoMaster) oModel:LoadValue("TTFMASTER",aCpoMaster[nI,1],aCpoMaster[nI,2]) Next nI EndIf //Joga o valores da TTG para a Grid - TTGDETAIL. If Len(aCpoDetail) > 0 For nJ := 1 To Len(aCpoDetail) oModel:LoadValue("TTGDETAIL",aCpoDetail[nJ,1],aCpoDetail[nJ,2]) Next nJ EndIf If ( lRet := oModel:VldData() ) //Valida os dados informados. // Se os dados foram validados faz-se a gravação efetiva dos // dados (commit) oModel:CommitData() EndIf If !lRet // Se os dados não foram validados obtemos a descrição do erro para gerar // LOG ou mensagem de aviso aErro := oModel:GetErrorMessage() // A estrutura do vetor com erro é: // [1] identificador (ID) do formulário de origem // [2] identificador (ID) do campo de origem // [3] identificador (ID) do formulário de erro // [4] identificador (ID) do campo de erro // [5] identificador (ID) do erro // [6] mensagem do erro // [7] mensagem da solução // [8] Valor atribuído // [9] Valor anterior AutoGrLog( "Id do formulário de origem:" + ' [' + AllToChar( aErro[1] ) + ']' ) AutoGrLog( "Id do campo de origem: " + ' [' + AllToChar( aErro[2] ) + ']' ) AutoGrLog( "Id do formulário de erro: " + ' [' + AllToChar( aErro[3] ) + ']' ) AutoGrLog( "Id do campo de erro: " + ' [' + AllToChar( aErro[4] ) + ']' ) AutoGrLog( "Id do erro: " + ' [' + AllToChar( aErro[5] ) + ']' ) AutoGrLog( "Mensagem do erro: " + ' [' + AllToChar( aErro[6] ) + ']' ) AutoGrLog( "Mensagem da solução: " + ' [' + AllToChar( aErro[7] ) + ']' ) AutoGrLog( "Valor atribuído: " + ' [' + AllToChar( aErro[8] ) + ']' ) AutoGrLog( "Valor anterior: " + ' [' + AllToChar( aErro[9] ) + ']' ) If nItErro > 0 AutoGrLog( "Erro no Item: " + ' [' + AllTrim( AllToChar( nItErro ) ) + ']' ) EndIf MostraErro() EndIf // Desativamos o Model oModel:DeActivate() Return lRet |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas