Rotina automática do cadastro de Fornecedores (em MVC)
Exemplo da Rotina:
1 2 3 4 5 6 7 8 9 | oModel := FWLoadModel( "MATA020M" ) oModel:SetOperation(3) oModel:Activate() oSA2Mod:= oModel:getModel( "SA2MASTER" ) ... oModel:VldData() oModel:CommitData() |
Exemplo 1- Criando Fornecedor:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 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