Tratamento de Retornos na DarumaFramework
![]() | ||||
![]() | ||||
Quando prestamos um concurso ou uma prova de certificação, todos gostariam de ter o resultado na hora, certo? Da mesma maneira acontece quando estamos programando! Desenvolvemos o código, mas antes de rodar e fazer todos os testes necessários, não teremos a resposta se a solução é funcional ou não. ![]() Por quê? Porque não adianta trabalhar sem saber o resultado na hora da execução ou ter todo aquele trabalho de rodar o sistema em modo debug. Os mais de 230 métodos disponibilizados na DarumaFramework.dll possuem retornos, que indicam se a execução do método ocorreu com sucesso ou não, se tem algum aviso com relação à execução e ainda no caso de uma execução mal sucedida nos indica o motivo da Não-Execução(Erro). Como, por exemplo: Erro Ex. RZ do movimento anterior pendente. Confira mais na tabela de erros: http://bit.ly/stw9Re Aviso: Ex. Papel acabando Confira mais na tabela de avisos: http://bit.ly/uWSqW0 | ||||
Configurando o DarumaFramework.xml: O DarumaFramework.XML possui uma chave exclusiva para facilitar no tratamento de retornos. Sim, a chave <RetornarAvisoErro>1</RetornarAvisoErro>, caso o valor desta chave seja “0”, os retornos de método serão limitados a “0” (Método Não Executado) e ”1” (MétodoExecutado), sendo sempre necessário analisar os códigos de erro e aviso.
Quando o valor da chave for configurado para “1” retornará o inteiro “-12” no Retorno do Método caso o método executado tenha algum aviso ou erro.
Assim podemos reduzir o tratamento de erros e avisos, tratando erro e aviso apenas se o Retorno do Método for < 1, caso sim mostre o retorno conforme a tabela de retornos. Caso o retorno do método venha = 1, é sinal que o método foi executado com sucesso, não precisando chamar as funções para verificação de erros e avisos. Funções: Agora você deve estar pensando: If (Int_NumAviso <> 0) Then Select Case Int_NumAviso Case "1" Str_Msg_NumAviso = "[1] - Papel Acabando" Case "2" Str_Msg_NumAviso = "[2] - Tampa aberta" Case "3" Str_Msg_NumAviso = "[4] - Bateria fraca" Case "4" Str_Msg_NumAviso = "[40] - Compactando" Case Else ' Se o NumAviso desconhecido Str_Msg_NumAviso = "[" + Str_Msg_NumAviso + "] - Aviso Desconhecido!" End Select Else 'Se Aviso = 0 (ok) Str_Msg_NumAviso = "[0] - Sem Aviso" End If Chega destas rotinas! Com a DarumaFramework.dll nosso problema esta resolvido com apenas 2 funções para interpretar os retornos. VB6 Private Sub LeituraX_Click() Dim int_erro, int_aviso As Integer Dim str_erro, str_aviso As String str_erro = Space(100) str_aviso = Space(100) iRetorno = iLeituraX_ECF_Daruma iRetorno = rStatusUltimoCmdInt_ECF_Daruma(int_erro, int_aviso) iRetorno = eInterpretarAviso_ECF_Daruma(int_aviso, str_aviso) Else End If End Sub C(Sharp) if (DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno == 1) System.Windows.Forms.MessageBox.Show("Método executado com Sucesso!"); } DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rStatusUltimoCmdInt_ECF_Daruma(ref Int_NumErro, System.Windows.Forms.MessageBox.Show(Convert.ToString((Str_Msg_NumAviso))); } begin Int_Retorno:= iLeituraX_ECF_Daruma(); Int_Retorno:=rStatusUltimoCMDInt_ECF_Daruma(Int_NumErro, Int_NumAviso); // Mensagem do erro Str_Erro:=Str_Msg_NumErro; Application.MessageBox( Pchar('Número Erro = ' + pchar(Str_Erro) + #13 + 'Número Aviso = ' + pchar(Str_Aviso)), 'DarumaFramework Retorno do Método', mb_ok); end; E já que estamos falando de retornos dos métodos, você sabia que a maior parte dos métodos nos devolve também uma Informação Estendida?
Código da chamada da função de Totalização e da Informação Estendida private void Totalizar_Click(object sender, EventArgs e) { string Str_ValorDescAcresc, Str_TipoDescAcresc; Str_ValorDescAcresc = TB_ValorDescAcresc.Text.Trim(); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFTotalizarCupom_ECF_Daruma O que foi Impresso no Cupom Fiscal:
O que foi Retornado na Aplicação
Viu só como é fácil? Agora é só implementar mais este recurso que a Daruma desenvolveu exclusivamente para você parceiro desenvolvedor! | ||||
E-mails: ddc.suporte@daruma.com.br suporte.ddc@daruma.com.br desenvolvedores.suporte@daruma.com.br suporte.desenvolvedores@daruma.com.br desenvolvedores.daruma@daruma.com.br suporte@daruma.com.br suporte.alexandre@daruma.com.br claudenir@daruma.com.br | ||||
Skypes: ddc_suporte_daruma suporte_ddc_daruma desenvolvedores_suporte_daruma suporte_desenvolvedores_daruma desenvolvedores_daruma suporte_daruma suporte_alexandre_daruma claudenir_andrade | ||||
| ||||
![]() |
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
Related articles
Indentificando consumidor no inicio ou no final do cupom fiscal.
Passagem de CPF em qualquer momento do cupom fiscal.