Histórico da Página
...
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. Private lJob := Type( "oMainWnd" ) != "O" If !lJob 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 ) Else nOpc := 1 //quando Ifa nOpcchamada ==for 1 via Job recebe automaticamente OK para execução do Processa( { || lOk := Runproc() },'Aguarde','Processando...',.F.)processo RpcSetType(3) RpcSetEnv("99", "01 " ) EndIf If nOpc == 1 If lOk If !lJob Processa( { || lOk := ApMsgInfoRunproc() 'Processamento terminado},'Aguarde','Processando...',.F.) If lOk ApMsgInfo( 'Processamento terminado com sucesso.', 'ATENÇÃO' ) Else Else ApMsgStop( 'Processamento realizado com problemas.', 'ATENÇÃO' ) EndIf Else lOk := Runproc() 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 ' xFilial("TTF") } ) aAdd( aCposCab, { 'TTF_CODBEM' , '1234ALKM009 ' } ) aAdd( aCposCab, { 'TTF_CODFAM' , '1234 FM0003' } ) aAdd( aCposCab, { 'TTF_TIPMOD' , '1234M00002 ' ' } ) aAdd( aCposCab, { 'TTF_CODFUN' , '000001' } ) aAdd( aCposCab, { 'TTF_DATA' , dDataBase } ) aAdd( aCposCab, { 'TTF_HORA' , '1812:1800' } ) //Valores da TTG aCposDet := {} aAdd( aCposDetaCposCab, { 'TTGTTF_FILIALSEQFAM' , '001'M RJ 01 '} ) aAdd( aCposDet, { 'TTD_TIPMOD', 'X' } ) aAdd( aCposDet, { 'TTG_ETAPA' , '1234 ' } )//Valores da TTG aCposDet := {} aAdd( aCposDet, { { 'TTG_EVENTOFILIAL', 'O' } ) aAdd( aCposDet, xFilial("TTG") },; { 'TTG_ETAPA' , '000001' },; { 'TTG_SERVICEVENTO', '1234 O' } ) aAdd( aCposDet, },; { 'TTG_SERVIC', 'CORELE' },; { 'TTG_CRITIC', 'A' } } ) If !ImportaAdd( 'TTF',aCposDet, { { 'TTG_FILIAL', aCposCab, aCposDet ) lRet := .F. EndIf xFilial("TTG") },; { 'TTG_ETAPA' , '000002' },; { 'TTG_EVENTO', 'O' },; { 'TTG_SERVIC', 'CORELE' },; { 'TTG_CRITIC', 'M' } } ) If !Import( 'TTF', 'TTG', aCposCab, aCposDet ) lRet := .F. EndIf Return lRet //------------------------------------------------------------------- // Importacao dos dados //------------------------------------------------------------------- Static Function Import( cMaster, cDetail, aCpoMaster, aCpoDetail ) cMaster, cDetail, aCpoMaster, aCpoDetail ) Local oModel Local lRet := .T. Local nI := 0 Local nJ := 0 Local nK := 0 Local nItErro := 0 dbSelectArea( cDetail ) Local oModeldbSetOrder( 1 ) dbSelectArea( cMaster Local) lRet dbSetOrder( := .T.1 ) Local nI //Abre o Model da rotina. oModel := 0 FWLoadModel( 'MNTA735' ) Local// nJDefine a operação desejavada: 3 – :=Inclusão 0 / 4 – Alteração Local/ nItErro5 :=- 0 Exclusão dbSelectAreaoModel:SetOperation( cDetail3 ) dbSetOrder(// 1Ativação ) dbSelectArea( cMaster )do Modelo. dbSetOrder( 1 oModel:Activate() //AbreJoga os valores da TTF para o Modelmodelo da- rotinaTTFMASTER. oModel := FWLoadModel( 'MNTA735' ) If Len(aCpoMaster) > 0 // Define aFor operaçãonI desejavada:= 31 – Inclusão / 4 – Alteração / 5 - Exclusão To Len(aCpoMaster) oModel:SetOperation( 3 ) LoadValue("TTFMASTER",aCpoMaster[nI,1],aCpoMaster[nI,2]) // Ativação doNext Modelo.nI oModel:Activate()EndIf //Joga oso valores da TTFTTG para oa modeloGrid - TTFMASTERTTGDETAIL. If Len(aCpoMasteraCpoDetail) > 0 For nInJ := 1 To Len(aCpoMaster) aCpoDetail) If nJ > 1 oModel:LoadValue("TTFMASTER",aCpoMaster[nI,1],aCpoMaster[nI,2]GetModel('TTGDETAIL'):AddLine() Next nI EndIf //Joga o valores da TTG para a Grid -For TTGDETAIL. nK := 1 Ifto Len(aCpoDetail[nJ]) > 0 For nJ := 1 To Len(aCpoDetail) ConOut(aCpoDetail[nJ][nK][1]) oModel:LoadValue("TTGDETAIL",aCpoDetail[nJ,][nK][1],aCpoDetail[nJ,][nK][2]) Next nK 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 If !lJob MostraErro() EndIf EndIf // Desativamos o Model oModel:DeActivate() Return lRet |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas