Histórico da Página
...
Local aCabec := {}
Local aItens := {}
Local aLinha := {}
PRIVATE lMsErroAuto := .F.
aCabec := {}
aadd(aCabec,{"RA_FILIAL" ,"D MG 01 " ,Nil })
aadd(aCabec,{"RA_MAT" ,"000002" ,Nil })
aLinha := {}
aItens := {}
aadd(aLinha,{"RB_FILIAL" , "D MG 01 " , Nil })
aadd(aLinha,{"RB_MAT" , "000002" , Nil })
aadd(aLinha,{"RB_COD" , "01" , Nil })
aadd(aLinha,{"RB_NOME" , "MARIA DA SILVA" , Nil })
aadd(aLinha,{"RB_DTNASC" , Ctod("10/03/2010") , Nil })
aadd(aLinha,{"RB_SEXO" , "F" , Nil })
aadd(aLinha,{"RB_GRAUPAR" , "F" , Nil })
aadd(aLinha,{"RB_TIPIR" , "2" , Nil })
aadd(aLinha,{"RB_TIPSF" , "2" , Nil })
aadd(aLinha,{"RB_TPDEP" , "03" , Nil })
aadd(aLinha,{"RB_LOCNASC" , "SP" , Nil })
aadd(aLinha,{"RB_CIC" , "" , Nil })
aadd(aItens,aLinha)
aLinha := {}
aadd(aLinha,{"RB_FILIAL" , "D MG 01 " , Nil })
aadd(aLinha,{"RB_MAT" , "000002" , Nil })
aadd(aLinha,{"RB_COD" , "02" Nil })
aadd(aLinha,{"RB_NOME" , "PEDRO DA SILVA" , Nil })
aadd(aLinha,{"RB_DTNASC" , Ctod("19/05/1982") , Nil })
aadd(aLinha,{"RB_SEXO" , "M" , Nil })
aadd(aLinha,{"RB_GRAUPAR" , "C" , Nil })
aadd(aLinha,{"RB_TIPIR" , "4" , Nil })
aadd(aLinha,{"RB_TIPSF" , "2" , Nil })
aadd(aLinha,{"RB_LOCNASC" , "SP" , Nil })
aadd(aLinha,{"RB_TPDEP" , "01" , Nil })
aadd(aLinha,{"RB_CIC" , "40363918876" , Nil })
aadd(aItens,aLinha)
aLinha := {}
aadd(aLinha,{"RB_FILIAL" , "D MG 01 " , Nil })
aadd(aLinha,{"RB_MAT" , "000002" , Nil })
aadd(aLinha,{"RB_COD" , "03" , Nil })
aadd(aLinha,{"RB_NOME" , "JOAO DA SILVA" , Nil })
aadd(aLinha,{"RB_DTNASC" , Ctod("07/08/2010") , Nil })
aadd(aLinha,{"RB_SEXO" , "M" , Nil })
aadd(aLinha,{"RB_GRAUPAR" , "F" , Nil })
aadd(aLinha,{"RB_TIPIR" , "2" , Nil })
aadd(aLinha,{"RB_TIPSF" , "2" , Nil })
aadd(aLinha,{"RB_TPDEP" , "03" , Nil })
aadd(aLinha,{"RB_LOCNASC" , "SP" , Nil })
aadd(aLinha,{"RB_CIC" , "" , Nil })
aadd(aItens,aLinha)
IF ( lRet:= APMSGYESNO("Executar através do MVCExecutar atraves do MVC. Confirmar (S) Sim / (N) Nao ? ") )
U_EnvMVC(aCabec, aItens)
Else
U_Envia(aCabec, aItens)
EndIf
Return(.T.)
// Função para enviar via ExecAuto
USER Function Envia(aCabec, aItens)
//-- Faz chamada a rotina de cadastro de dependentes para incluir os dependentes (opcao 3)
MSExecAuto({|x,y,k,w,z| GPEA020(x,y,k,w,z)},4,aCabec,aItens,4) //-- Opcao 3 - Inclui registro
//Retorno de erro na execução da rotina
If lMsErroAuto
MostraErro()
Else
Alert("Registro(s) Incluido(s) !!!")
EndIf
Return(.T.)
//Função para enviar via MVC
USER Function EnvMVC(aCabec, aItens)
Local aErro := {}
Local oModel := Nil
Local oSubMdl := ""
Local cArqErrAuto := ""
Local cCodigo := ""
Local cNome := ""
Local nX := 0
Local nY := 0
cFilMat := aCabec[1][2]
cMat := aCabec[2][2]
SRA->(DbSetOrder(1))
SRA->(DbSeek(cFilMat+cMat))
oModel := FWLoadModel("GPEA020")
oModel:SetOperation(3)
If(oModel:Activate())
oSubMdl := oModel:GetModel("GPEA020_SRB")
For nX := 1 to Len(aItens)
If (oSubMdl:Length() > 0)
oSubMdl:AddLine()
EndIf
For nY := 1 to Len(aItens[nX])
If !(aItens[nX][nY][1] $ "RB_MAT")
oSubMdl:SetValue(aItens[nX][nY][1], aItens[nX][nY][2])
EndIf
Next nY
// Performa validação da linha
If !oSubMdl:VldLineData()
lRet := .F.
cCodigo := aItens[nX][3][2]
cNome := aItens[nX][4][2]
Exit
EndIf
Next nX
If lRet .And. (oModel:VldData())
oModel:CommitData()
Else
aErro := oModel:GetErrorMessage()
cArqErrAuto := "Id do formulário de origem:" + ' [' + AllToChar( aErro[1] ) + ']' + Chr(13) + Chr(10)
cArqErrAuto += "Id do campo de origem: " + ' [' + AllToChar( aErro[2] ) + ']' + Chr(13) + Chr(10)
cArqErrAuto += "Id do formulário de erro: " + ' [' + AllToChar( aErro[3] ) + ']' + Chr(13) + Chr(10)
cArqErrAuto += "Mensagem do erro: " + ' [' + AllToChar( aErro[6] ) + ']' + Chr(13) + Chr(10)
cArqErrAuto += "Chave: Filial - Matricula - Código - Nome " + ' [' + cFilMat + ' - ' + cMat + ' - ' + cCodigo + ' - ' + cNome + ']'
Alert ('Falha no ExecAuto MVC: ' + (Chr(13) + Chr(10)) + cArqErrAuto)
EndIf
oModel:DeActivate()
oModel:Destroy()
oModel := Nil
EndIf
Return(.T.)
...