Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'exceção'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 3 registros

  1. 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. 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.
  3. 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;
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.