Pesquisar na Comunidade
Showing results for tags 'exceção'.
Encontrado 3 registros
-
Dúvida Em Exceção Após Subtotalização Do Cupom Fiscal
um tópico no fórum postou Intelliware ACBrSerial
Bom dia pessoal, Estamos efetuando vários tratamentos de erros em caso de perda de comunicação com o ECF. Encontramos o seguinte caso: 1 - Efetuei a venda normal de alguns itens 2 - Escolhi fechamento na forma de pagamento DINHEIRO 3 - Pedi para finalizar o cupom fiscal 4 - Passa normalmente pela procedure 'AcbrECF.SubtotalizaCupom' 5 - Entra na procedure 'ACBrTEFDComandaECF' e executa a operação 'opeImprimePagamentos' 6 - No 'finally' da procedure 'ACBrTEFDComandaECF' eu desligo o ECF para simular uma perda de conexão 7 - Irá aparecer na mensagem 'Impressora não responde. Deseja continuar?' - Neste momento eu ligo o ECF, espero alguns segundos e escolho 'Não' 8 - Neste momento, o fluxo entra na unit 'ACBrTEFD.pas' na linha 1458: if not ImpressaoOk then begin if DoExibeMsg( opmYesNo, CACBrTEFD_Erro_ECFNaoResponde ) <> mrYes then begin try ComandarECF(opeCancelaCupom); except {Exceção Muda} end ; break ; end; end; O que de fato está plenamente correto. Irá mostrar a mensagem 'Erro na impressão. Deseja tentar novamente?', mais uma vez, escolho 'Não' 9 - Apartir do fluxo acima é executada a linha 1462 da unit 'ACBrTEFD.pas': try ComandarECF(opeCancelaCupom); except {Exceção Muda} end ; 10 - O cupom é cancelado normalmente no ECF. A minha dúvida seria a seguinte, teria algum modo de eu poder capturar na minha aplicação que o tópico (9) foi executado porquê houve uma falha no ECF, conforme sugere a exceção 'CACBrTEFD_Erro_ECFNaoResponde' ? O que motivou essa pergunta, é que na nossa aplicação existe um campo no banco de dados que descreve o motivo do cancelamento do cupom. Neste caso em específico, ele teria que entrar como 'Cancelamento forçado' que para nós se refere a algum problema no ECF, mas estamos encontrando alguma dificuldade em capturar uma flag de retorno. Estou utilizando o componente ACBrTEFD linkado ao componente ACBrECF, em debug, tentei validar se retornava algo nos eventos: AcbrEcfErrorSubtotalizaCupom AcbrEcfErrorEfetuaPagamento AcbrEcfErrorFechaCupom Mas em nenhum momento passou por eles. Estou anexando um pequeno log que ilustra melhor o experimento. Desde já agradeço as sugestões. log-teste.TXT- 2 replies
-
- subtotalizar
- cupom
-
(e 1 mais)
Tags:
-
Olá, estou com uma dúvida em relação ao campo exceção da tabela do IBPT. Utilizando o componente AcbrIbptax, percebi que o campo ex não é utilizado como um critério de busca pelo método Procurar. Assim, se eu precisar encontrar a alíquota de um NCM com a exceção 1, por exemplo, o método Procurar acaba encontrado a alíquota referente o NCM sem exceção, pois o mesmo é encontrado primeiro. Exemplo: NCM: 22030000 = Alíquota nacional 36% NCM: 22030000 (ex 1) = Alíquota nacional 49% Logo, tive que implementar a busca manualmente, sendo que existe o método Procurar. Então qual é a prática correta nesta situação? Existe outro método para isso? Obrigado.
-
Acbribptax Busca De Ncm Com Exceção
um tópico no fórum postou Marcelo A. Rodrigues Dúvidas Gerais sobre o ACBr
Bom dia... Alguém já fez a busca da alíquota passando a exceção do NCM?? Eu estou fazendo uns testes de produtos com exceção e não consegui retornar a alíquota com exceção.. Passando o NCM 3057900 e a exceção 2, por exemplo, ele sempre retornar a alíquota 34,12 (alíquota sem exceção), pois ele acha o primeiro NCM e cai no exit da função... estou chamando a função: function TACBrIBPTax.Procurar(const ACodigo: String; var ex, descricao: String; var tabela: Integer; var aliqNac, aliqImp: Double ; const BuscaParcial: Boolean): Boolean; Para corrigir este "erro" (não sei se tem que passar de outra forma) eu alterei a fonte do ACBr... Acrescentei a linha: if StrToIntDef( ex, 0 ) = StrToIntDef( Itens.Excecao, 0 ) then begin e aparentemente funcionou... vejam como ficou o fonte: function TACBrIBPTax.Procurar(const ACodigo: String; var ex, descricao: String; var tabela: Integer; var aliqNac, aliqImp: Double ; const BuscaParcial: Boolean): Boolean; var I: Integer; Igual: Boolean; begin if Itens.Count <= 0 then EACBrIBPTax.Create('Tabela de itens ainda não foi aberta!'); Result := False; for I := 0 to Itens.Count - 1 do begin if BuscaParcial then Igual := Pos(Trim(ACodigo), Trim(Itens.NCM)) > 0 else Igual := SameText(Trim(ACodigo), Trim(Itens.NCM)); if Igual Then begin if StrToIntDef( ex, 0 ) = StrToIntDef( Itens.Excecao, 0 ) then begin ex := Itens.Excecao; descricao := Itens.Descricao; tabela := Integer(Itens.Tabela); aliqNac := Itens.AliqNacional; aliqImp := Itens.AliqImportado; Result := True; Exit; end; end; end; end;-
- ACBrIBPTax
- Excecão
-
(e 1 mais)
Tags: