Rotina automática do cadastro de Clientes (em MVC)
Exemplo da Rotina:
oModel := FWLoadModel("CRMA980") //"MATA030" na antiga MATA030 oModel:SetOperation(3) oModel:Activate() oSA1Mod:= oModel:getModel("SA1MASTER") //"MATA030_SA1" na antiga MATA030 ... oModel:VldData() oModel:CommitData()
Exemplo 1- Criando Cliente:
lDeuCerto := .F. //Pegando o modelo de dados, setando a operação de inclusão oModel := FWLoadModel("CRMA980") //"MATA030" na antiga MATA030 oModel:SetOperation(3) oModel:Activate() //Pegando o model dos campos da SA1 oSA1Mod:= oModel:getModel("SA1MASTER") //"MATA030_SA1" na antiga MATA030 oSA1Mod:setValue("A1_COD", cCod ) // Codigo oSA1Mod:setValue("A1_LOJA", cLoja ) // Loja oSA1Mod:setValue("A1_NOME", cNome ) // Nome oSA1Mod:setValue("A1_NREDUZ", cNomeFant ) // Nome reduz. oSA1Mod:setValue("A1_END", cEndereco ) // Endereco oSA1Mod:setValue("A1_BAIRRO", cBairro ) // Bairro oSA1Mod:setValue("A1_TIPO", cTp ) // Tipo oSA1Mod:setValue("A1_EST", cEST ) // Estado oSA1Mod:setValue("A1_COD_MUN", cCodMun ) // Codigo Municipio oSA1Mod:setValue("A1_MUN", cDescMun ) // Municipio oSA1Mod:setValue("A1_CEP", cCep ) // CEP oSA1Mod:setValue("A1_INSCR", cIE ) // Inscricao Estadual oSA1Mod:setValue("A1_CGC", cCNPJ ) // CNPJ/CPF oSA1Mod:setValue("A1_PAIS", cCodPais ) // Pais oSA1Mod:setValue("A1_EMAIL", cEMail ) // E-Mail oSA1Mod:setValue("A1_DDD", cDDD ) // DDD oSA1Mod:setValue("A1_TEL", cTelefone ) // Fone oSA1Mod:setValue("A1_PESSOA", cTipPessoa ) // Tipo Pessoa //Se conseguir validar as informações If oModel:VldData() //Tenta realizar o Commit If oModel:CommitData() lDeuCerto := .T. //Se não deu certo, altera a variável para false Else lDeuCerto := .F. EndIf //Se não conseguir validar as informações, altera a variável para false Else lDeuCerto := .F. EndIf //Se não deu certo a inclusão, mostra a mensagem de erro If ! lDeuCerto //Busca o Erro do Modelo de Dados aErro := oModel:GetErrorMessage() //Monta o Texto que será mostrado na tela AutoGrLog("Id do formulário de origem:" + ' [' + AllToChar(aErro[01]) + ']') AutoGrLog("Id do campo de origem: " + ' [' + AllToChar(aErro[02]) + ']') AutoGrLog("Id do formulário de erro: " + ' [' + AllToChar(aErro[03]) + ']') AutoGrLog("Id do campo de erro: " + ' [' + AllToChar(aErro[04]) + ']') AutoGrLog("Id do erro: " + ' [' + AllToChar(aErro[05]) + ']') AutoGrLog("Mensagem do erro: " + ' [' + AllToChar(aErro[06]) + ']') AutoGrLog("Mensagem da solução: " + ' [' + AllToChar(aErro[07]) + ']') AutoGrLog("Valor atribuído: " + ' [' + AllToChar(aErro[08]) + ']') AutoGrLog("Valor anterior: " + ' [' + AllToChar(aErro[09]) + ']') //Mostra a mensagem de Erro MostraErro() EndIf //Desativa o modelo de dados oModel:DeActivate()
Observações:
– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;
– Exemplo criado conforme dica enviada por Sergio Passerini
– Esse exemplo foi atualizado, pois a MATA030 foi descontinuada, sendo substituída pela CRMA980