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 a chamada for via Job recebe automaticamente OK para execução do processo
RpcSetType(3)
RpcSetEnv("99", "01 " )
EndIf
If nOpc == 1
If !lJob
Processa( { || lOk := Runproc() },'Aguarde','Processando...',.F.)
If lOk
ApMsgInfo( 'Processamento terminado com sucesso.', 'ATENÇÃO' )
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' , xFilial("TTF") } )
aAdd( aCposCab, { 'TTF_CODBEM' , 'ALKM009 ' } )
aAdd( aCposCab, { 'TTF_CODFAM' , 'FM0003' } )
aAdd( aCposCab, { 'TTF_TIPMOD' , 'M00002 ' } )
aAdd( aCposCab, { 'TTF_CODFUN' , '000001' } )
aAdd( aCposCab, { 'TTF_DATA' , dDataBase } )
aAdd( aCposCab, { 'TTF_HORA' , '12:00' } )
aAdd( aCposCab, { 'TTF_SEQFAM' , '001' } )
//Valores da TTG
aCposDet := {}
aAdd( aCposDet, { { 'TTG_FILIAL', xFilial("TTG") },;
{ 'TTG_ETAPA' , '000001' },;
{ 'TTG_EVENTO', 'O' },;
{ 'TTG_SERVIC', 'CORELE' },;
{ 'TTG_CRITIC', 'A' } } )
aAdd( aCposDet, { { 'TTG_FILIAL', 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 )
Local oModel
Local lRet := .T.
Local nI := 0
Local nJ := 0
Local nK := 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)
If nJ > 1
oModel:GetModel('TTGDETAIL'):AddLine()
EndIf
For nK := 1 to Len(aCpoDetail[nJ])
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