Rotina automática do cadastro de Fornecedores (em MVC)
Exemplo da Rotina:
oModel := FWLoadModel("MATA020M") oModel:SetOperation(3) oModel:Activate() oSA2Mod:= oModel:getModel("SA2MASTER") ... oModel:VldData() oModel:CommitData()
Exemplo 1- Criando Fornecedor:
lDeuCerto := .F. //Pegando o modelo de dados, setando a operação de inclusão oModel := FWLoadModel("MATA020M") oModel:SetOperation(3) oModel:Activate() //Pegando o model dos campos da SA2 oSA2Mod:= oModel:getModel("SA2MASTER") oSA2Mod:setValue("A2_COD", cCod ) // Codigo oSA2Mod:setValue("A2_LOJA", cLoja ) // Loja oSA2Mod:setValue("A2_NOME", cNome ) // Nome oSA2Mod:setValue("A2_NREDUZ", cNomeFant ) // Nome reduz. oSA2Mod:setValue("A2_END", cEndereco ) // Endereco oSA2Mod:setValue("A2_BAIRRO", cBairro ) // Bairro oSA2Mod:setValue("A2_TIPO", cTp ) // Tipo oSA2Mod:setValue("A2_EST", cEST ) // Estado oSA2Mod:setValue("A2_COD_MUN", cCodMun ) // Codigo Municipio oSA2Mod:setValue("A2_MUN", cDescMun ) // Municipio oSA2Mod:setValue("A2_CEP", cCep ) // CEP oSA2Mod:setValue("A2_INSCR", cIE ) // Inscricao Estadual oSA2Mod:setValue("A2_CGC", cCNPJ ) // CNPJ/CPF oSA2Mod:setValue("A2_PAIS", cCodPais ) // Pais oSA2Mod:setValue("A2_EMAIL", cEMail ) // E-Mail oSA2Mod:setValue("A2_DDD", cDDD ) // DDD oSA2Mod:setValue("A2_TEL", cTelefone ) // Fone oSA2Mod:setValue("A2_FAX", cFax ) // FAX oSA2Mod:setValue("A2_TPESSOA", cTipPessoa ) // Tipo Pessoa oSA2Mod:setValue("A2_CODPAIS", cPaisBac ) // Pais Bacen oSA2Mod:setValue("A2_MSBLQL", cBlqSA ) // Bloqueado //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