-
Total de ítens
21 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por itamarluiz
-
-
Olá pessoal,
Existe uma versão do TDI Notebook para Delphi? Se sim, onde conseguir?
Abraço!
-
Olá pessoal,
Eu estou com um problema parecido com o desse tópico. A propriedade rodo.veicTracao.tpRod está gerando a informação aparentemente correta, mas ao tentar validar, o ACBrMDFe retorna erro:
Element '{http://www.portalfiscal.inf.br/mdfe}tpRod' is unexpected according to content model of parent element '{http://www.portalfiscal.inf.br/mdfe}veicTracao'.
Meu código:
if edtVeicTracao.Text <> EmptyStr then begin Veiculo.PegaDadosVeiculo(edtVeicTracao.Text); if Veiculo.Placa <> EmptyStr then with rodo.veicTracao do begin rodo.veicTracao.cInt := Veiculo.CodigoInterno; rodo.veicTracao.RENAVAM := Veiculo.Renavam; rodo.veicTracao.placa := Veiculo.Placa; rodo.veicTracao.tara := Veiculo.Tara; rodo.veicTracao.capKG := Veiculo.CapacidadeKG; rodo.veicTracao.capM3 := Veiculo.CapacidadeM3; rodo.veicTracao.tpRod := TpcteTipoRodado(Veiculo.Rodado); // aqui o problema //rodo.veicTracao.tpRod := trTruck; // já tentei fazer assim também rodo.veicTracao.tpCar := TpcteTipoCarroceria(Veiculo.Carroceria); rodo.veicTracao.UF := Veiculo.Estado; end; end;
Abaixo um trecho do XML gerado:
<infModal versaoModal="1.00"> - <rodo> <RNTRC>11223344</RNTRC> - <veicTracao> <cInt>MTQ0001</cInt> <placa>MTQ0001</placa> <RENAVAM>012345678</RENAVAM> <tara>1234</tara> <capKG>123</capKG> <capM3>123</capM3> <tpRod>03</tpRod> <tpCar>00</tpCar> <UF>ES</UF> </veicTracao> </rodo> </infModal>
Pela mensagem de erro, parece que o problema nem é com o conteúdo da propriedade, e sim a relação com a propriedade "pai".
Alguma ajuda?
Obrigado!
-
Pessoal,
A solução aqui pra mim foi eliminar a linha 41 do arquivo ACBrMDFeDAMDFEFRDM.dfm.
Abraço.
Itamar Bermond
-
Olá pessoal,
Vocês tem novidades a respeito dos eventos para o CT-e?
Estou fazendo alguns testes aqui, e como estou no ES, o ACBrCTe altera o código do órgão de 32 para 91 (pcteEventoCTe.pas, linha 276), mas essa informação não é aceita pelo schema.
Valew!
Itamar
-
Meu projeto também não compila mais depois da última atualização do ACBr.
[DCC Error] ACBrCTeDACTEFRDM.pas(263): E2003 Undeclared identifier: 'CST00'
[DCC Error] ACBrCTeDACTEFRDM.pas(264): E2003 Undeclared identifier: 'CST00'
[DCC Error] ACBrCTeDACTEFRDM.pas(265): E2003 Undeclared identifier: 'CST00'
[DCC Error] ACBrCTeDACTEFRDM.pas(504): E2003 Undeclared identifier: 'CPais'
[DCC Error] ACBrCTeDACTEFRDM.pas(505): E2003 Undeclared identifier: 'XPais'
[DCC Error] ACBrCTeDACTEFRDM.pas(641): E2003 Undeclared identifier: 'cMunEmi'
[DCC Error] ACBrCTeDACTEFRDM.pas(642): E2003 Undeclared identifier: 'xMunEmi'
[DCC Error] ACBrCTeDACTEFRDM.pas(643): E2003 Undeclared identifier: 'UFEmi'
[DCC Error] ACBrCTeDACTEFRDM.pas(1221): E2003 Undeclared identifier: 'vMerc'
-
Pessoal,
Estou tendo um probleminha aqui com o ACBrNFe2 e o Delphi XE2. A compilação acontece sem problemas, mas ao executar, tenho a mensagem de erro: "Não encontrei inicio do URI: Id=". Isso acontece no carregamento do XML da NFe, linha 121 da pcnNFeR.pas.
Verifiquei que compilando o mesmo projeto com o Delphi 2010 o problema não acontece.
Alguém pode ajudar? Obrigado!
-
Olá Pessoal,
Finalmente meu TEF foi homologado usando o ACBrTEFD V&S Pague em modo Background.
Gostaria de agradecer ao Projeto ACBr, ao Daniel, ao Régys Silveira, ao Moisés (Cemay Informática) e a todos os outros que de alguma forma me ajudaram nessa empreitada.
Como o arquivo ACBrVeSPague.pas foi alterado por muita gente, eu (com a supervisão do Régys) acabei tendo que alterar também. Então estou postando aqui as alterações que fiz para que o Daniel (coitado, vai ter muito trabalho) possa compilar e anexar ao projeto. Tive que fazer uma pequena alteração também no arquivo ACBrTEFDClass.pas. Importante dizer que as alterações foram feitas para o modo Background, onde não existe tela do cliente; todas as telas são do PAF-ECF.
Enfim, obrigado a todos!
-
Olá Ivan, obrigado pela atenção.
Não sei se entendi direito (to mó cansadão hoje e raciocinio leeeento), mas sobre o ponto onde ao inicializar a aplicação ele tem que perguntar sobre as transações pendentes existentes dentro do loop, está implementado dentro da procedure VerificarTransacoesPendentesClass, você vai ver que depois do 1o. try..except tem um while que faz justamente isso, ou seja, caso o usuário cancele a operação ou informe login ou senha incorreto, o vespague retorna erro com codigo 3, então ele fica dentro do while chamando o admin novamente e realizando a pergunta sobre transações pendentes.Eu coloquei o código novo de vocês pra rodar aqui, e ele realmente faz o loop, mas ao confirmar ou desfazer a transação o sistema trava. Tem um post acima que fala sobre um try..except que resolve esse problema do travamento, mas eu testei também sem sucesso. Então resolvi voltar ao código "oficial" e tentar entendê-lo. Isso é meio complicado por causa do raciocínio lento causado pelo volume de trabalho e a pressão.
O ACBrTEFD faz o loop automaticamente sem esse código novo de vocês, desde que o arquivo de backup esteja na pasta. Só que se o processo for cancelado, propositalmente ou não, ele apaga o backup. Eu continuo aqui debugando e tentando entender como fazer para tratar o retorno do diálogo de forma que ao cancelar ele não apague o backup. Não apagando, o resto ele faz sem problemas.
-
Pessoal (e principalmente ao Daniel),
Procedimento:Realizar uma transação de Crédito no valor de R$ 900,00. Desligar a ECF no Comprovante Vinculado (CCD) e após exibir a mensagem “Erro na impressão. Deseja tentar novamente? . ” Desligar o Computador. Após o retorno da energia, manter a ECF Desligada e iniciar a Automação.
Resultado esperado:
Procedimento semelhante ao teste anterior (texto do teste anterior: "A automação deve solicitar o desfazimento da Transação TEF e exibir a seguinte mensagem “A(s) trasanção(s) TEF NSU: XXXXXX e Valor: XX,XX está PENDENTE. Favor realizar o DESFAZIMENTO no menu administrativo. Cancelar o cupom fiscal ! ” - ao confirmar essa mesagem a automação deve abrir o menu ADM - transações pedentes, para DESFAZER a transação."), mas: AO ABRIR A TELA COM A TRANSAÇÃO PENDENTE FECHE SEM TRATAR, E REINICIA A APLICAÇÃO, A APLICAÇÃO DEVE APRESENTAR A MENSAGEM NOVAMENTE.
Eu estive estudando isso aqui, fazendo testes, debugando, e consegui entender algumas coisas:
Quando eu abro o sistema e inicializo o ACBrTEFDVeSPague ele chama automaticamente o método CancelarTransacoesPendentesClass. Tudo funciona certinho se eu seguir essa linha: informo login e senha; confirmo ou cancelo a transação. Se eu escolher a opção *Fechar* no menu e clicar no botão OK do diálogo, o sistema também funciona como esperado, ou seja, ele sai do ADM, exibe novamente a mensagem de que existem transações pendentes e chama o ADM novamente.
Até aqui tudo funciona maravilhosamente bem.
O problema acontece quando:
- [*:2187jcks]clico no botão cancelar do diálogo de coleta ou do menu do TEF[*:2187jcks]digito login ou senha errados.
Nesses casos, o arquivo de backup é apagado, e então o loop (sair do ADM, exibir a mensagem e voltar ao ADM) não acontece mais.
Não consegui descobrir como tratar o retorno do diálogo de coleta ou do menu do TEF. Creio que se isso puder ser feito (não apagar o arquivo de backup em caso de cancelamento) o código do EddieBR e do Ivan Orosco pode ser descartado. Eu fiz testes com esse código (ainda não oficial) e o sistema trava ao terminar de confirmar ou cancelar as transações.
Alguma sugestão? Obrigado.
-
Olá Ivan,
Parabéns pela homologação!
Eu continuo na luta aqui, e se não for abusar, gostaria que você nos dissesse como configurou o ACBrTEFD e como implementou os eventos dele.
Obrigado e sucesso!
-
Olá Daniel,
Após a última atualização da biblioteca ACBr não estou conseguindo mais complicar o meu aplicativo PAF-ECF.
O erro é na linha 433 do ACBrEAD.pas:
[DCC Error] ACBrEAD.pas(423): E2018 Record, object or class type required
BN_print( Bio , fsKey.pkey.rsa.e);
Eu não utilizo o componente ACBrEAD diretamente. Uso Delphi 2007.
Abração
-
O TEFD já faz isso automáticamente no Inicializar... (que deve ser chamado no Inicio do seu programa)
Ele simplesmente chama:
CancelarTransacoesPendentesClass
Sim, ele realmente chama no inicializar.
Mas aqui comigo está acontecendo o seguinte: após o desligamento, ao religar a máquina entrar no PAF-ECF, o TEFD chama o ADM. Mas o teste manda fechar sem tratar para que o sistema chame novamente o ADM. É isso que não acontece. Esse loop não é feito pelo TEFD. O PAF-ECF tem que implementar isso?
Mais um detalhe. Se eu fecho o ADM sem tratar e logo em seguida fecho o PAF-ECF, ao reabrir o PAF-ECF o ADM não é chamado.
Eu devo estar fazendo alguma coisa errada em algum lugar. Eu uso o seguinte código ao iniciar o PAF-ECF:
try TEF.Inicializar(gpVeSPague); (* esse código comentado não resolve o problema while TEF.RespostasPendentes.Count > 0 do begin MyDlgInformation('Existem respostas pendentes não tratadas.'); TEF.ADM(gpVeSPague); end; *) except on E: Exception do WriteLog('Ativação do TEF V&S Pague: ' + E.Message); end;
Está faltando alguma coisa?
Obrigado.
-
Pessoal,
O teste Pré-Certificação da Cielo com o V&S Pague, no passo 1.1.2.1a diz o seguinte:
Procedimento:
Realizar uma transação de Crédito no valor de R$ 900,00. Desligar a ECF no Comprovante Vinculado (CCD) e após exibir a mensagem “Erro na impressão. Deseja tentar novamente? . ” Desligar o Computador. Após o retorno da energia, manter a ECF Desligada e iniciar a Automação.
Resultado esperado:
Procedimento semelhante ao teste anterior (texto do teste anterior: "A automação deve solicitar o desfazimento da Transação TEF e exibir a seguinte mensagem “A(s) trasanção(s) TEF NSU: XXXXXX e Valor: XX,XX está PENDENTE. Favor realizar o DESFAZIMENTO no menu administrativo. Cancelar o cupom fiscal ! ” - ao confirmar essa mesagem a automação deve abrir o menu ADM - transações pedentes, para DESFAZER a transação."), mas: AO ABRIR A TELA COM A TRANSAÇÃO PENDENTE FECHE SEM TRATAR, E REINICIA A APLICAÇÃO, A APLICAÇÃO DEVE APRESENTAR A MENSAGEM NOVAMENTE.
Observações:
"Duas opções: 1- Ao fechar a tela com a transação pendente, deve solicitar o usuário e senha novamnete para que seja realizado o tratamento da transação. Impedindo que o operador saia do fluxo sem tratar. 2. Ao fechar a janela com a transação pendente, não deve permitir abrir a o caixa, toda vez que tentar abrir o caixa irá apresentar a mesma mensagem, até que seja resolvido."
Eu pergunto: qual método do ACBrTEFD eu uso pra saber se tem transação pendente para poder abrir novamente o ADM? Eu fiz um teste usando o RespostasPendentes.Count mas ele não me dá a informação.
Agradeço qualquer ajuda.
-
Eu dei um tempo no desenvolvimento do TEF para o V&S Pague, e logo depois tirei férias. Agora estou retomando o desenvolvimento e quero terminar.
Peço por favor aos colegas que homologaram: ajudem postando suas alterações para que o Daniel possa incluí-las no código do ACBr.
Obrigado! Obrigado!
-
Se a transação TEF estiver pendente (ou seja, se o arquivo dela ainda existir no diretório de Backup) o próprio ACBRTEFD chamará o cancelamento quando for inicializado
Sim, exatamente. Mas o roteiro fala de uma mensagem. Eu coloquei a mensagem no evento OnAntesCancelarTransacao e está funcionando, mas tenho dúvidas de que é exatamente assim:
procedure TfrmPrincipal.acbrTEFAntesCancelarTransacao(RespostaPendente: TACBrTEFDResp); const sAviso = 'A transação TEF NSU: %s e valor: %s está pendente. Favor realizar o desfazimento no Menu Administrativo e cancelar o Cupom Fiscal.'; var Estado: TACBrECFEstado; begin Estado := ECF.Estado; if RespostaPendente.ValorTotal > 0 then MyDlgInformation(Format(sAviso, [RespostaPendente.NSU, FormatFloat(',0.00', RespostaPendente.ValorTotal)])); case Estado of estVenda, estPagamento: ECF.CancelaCupom; estRelatorio: ECF.FechaRelatorio; else if not (Estado in [estLivre, estDesconhecido, estNaoInicializada]) then ECF.CorrigeEstadoErro(False); end; end;
Outra coisa: o teste seguinte me manda apenas fechar o diálogo sem tratar, e fechar a aplicação. Quando voltar, a aplicação deve mostrar novamente a pendência. Acontece que não mostra. Parece que está limpando os dados.
-
Pessoal,
Estou aqui fazendo os testes da pré-certificação do V&S Pague via background. Tenho algumas dúvidas e gostaria de usar esse tópico para saná-las. Ficarei muito grato se alguém de vocês puder me ajudar.
A primeira delas é a seguinte: pré-teste 1.1.2.1
Procedimento: Realizar uma transação de Crédito no valor de R$ 900,00. Desligar a ECF no Comprovante Vinculado (CCD) e após exibir a mensagem “Erro na impressão. Deseja tentar novamente? . ” Desligar o Computador. Após o retorno da energia, manter a ECF Desligada e iniciar a Automação.
Resultado esperado: A automação deve solicitar o desfazimento da Transação TEF e exibir a seguinte mensagem “A(s) trasanção(s) TEF NSU: XXXXXX e Valor: XX,XX está PENDENTE. Favor realizar o DESFAZIMENTO no menu administrativo. Cancelar o cupom fiscal ! ” - ao confirmar essa mesagem a automação deve abrir o menu ADM - transações pedentes, para DESFAZER a transação.
Observação: A automação deve realizar o tratamento independente de a ECF estar ligada ou não.
Se eu simplesmente inicializar o TEF ao abrir o aplicativo o ACBrTEFD entra no ADM e me dá a opção de confirmar, desfazer ou fechar o diálogo. Mas infelizmente a mensagem não é exibida. Então creio que eu mesmo tenho que fazer isso.
Gostaria que os colegas pudessem me dizer se existe um evento específico pra fazer isso, e/ou como fazer isso.
Obrigado.
-
Pessoal,
nazarenoneto tinha razão. O problema era realmente no diálogo com a mensagem. eu passei a usar um Label dentro do proprio form de venda e o problema não aconteceu mais.
Obrigado a todos.
-
Olá Daniel,
Obrigado pela sua atenção.
Usei o código que você sugeriu, mas não mudou nada. A aplicação continua sendo "jogada" pra trás entre a primeira e a segunda vias do CDC.
Talvez eu esteja fazendo algo errado em outro lugar.
Obrigado
-
Você programou corretamente o evento OnRestauraFocoAplicacao ?
Daniel,
Estou usando mesmo código do exemplo:
procedure TfrmPrincipal.acbrTEFRestauraFocoAplicacao(var Tratado: Boolean); begin Application.BringToFront; Tratado := False; { Deixa executar o código de Foco do ACBrTEFD } end;
Testei também trocando o valor de Tratado para True, e a situação piorou: a aplicação passou a ser sobreposta durante o período de espera para passar o cartão.
-
Pessoal,
Estou implementando o TEF via background da V&S Pague.
Percebi que durante a impressão do CDC, mais exatamente entre a primeira e a segunda vias, o sistema vai pra segundo plano, e uma outra aplicação qualquer aberta fica por cima dele. Isso só não acontece quando ele é a unica aplicação aberta.
Podem me ajudar?
Obrigado
ACBr*FR was compiled with a different version of frxClass.TfrxReport
em Dúvidas Gerais sobre o ACBr
Postado
Prezados,
Este assunto já rolou por aqui, mas os tópicos estão fechados, então tomei a liberdade de abrir um novo.
Ao atualizar o FastReport para a versão 2024.2.2 me deparei com o erro do título, associado às seguintes units: ACBrBoletoFCFR.pas, ACBrCTeDACTEFR.pas, ACBrMDFeDAMDFEFR.pas, ACBrNFeDANFEFR.pas e ACBrNFeDANFEFRDM.pas.
Como foi discutido aqui, o problema só acontece em DEBUG, e a solução encontrada foi instalar o ACBR com "Deixar desmarcado somente a pasta LibXX no Library Path do Delphi". Essa solução faz recompilar todo o código do ACBr no "build all", que além de demorar mais, ainda mostra um monte de warnings e hints do ACBr que incomodam chatos como eu.
Encontrei uma "solução paliativa" que foi copiar as ditas units para a pasta LibD28\Win32. Assim eu consigo compilar em DEBUG e RELEASE sem problemas, mas agora tenho que ficar de olho nas atualizações do projeto ACBr.
Pergunto: isso é um problema do FastReport ou seria possível resolver fazendo um ajuste no instalador do ACBr?
Abraços a todos!