-
Total de ítens
40 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Rafael Mota Facundo
-
-
Boa tarde, Italo!
Sim, é necessário. O método NotasFiscais.Imprimir exibe apenas em um Preview, mas como disse, ele imprime tudo.
Tem como fazer esse método imprimir apenas as Autorizadas? Se não tiver, acho que vou usar o Clear, e depois trazer os xml do banco e carregar apenas os autorizados.
-
Após o envio de um lote com várias NFes, como faço para imprimir apenas as autorizadas?
Se eu enviar assim:
ACBrNFe.Enviar(90987,True);
imprime apenas as autorizadas, mas o problema é que não fica tudo em um preview, é preciso clicar no botão imprimir várias vezes.
Eu tentei chamar o método
ACBrNFe.NotasFiscais.Imprimir;
após o método
ACBrNFe.Enviar(9090,False)
mas aí imprime até as NFes que foram rejeitadas.
-
Em 11/07/2018 at 14:32, Rafael Mota Facundo disse:
Ainda estou com a dúvida citada acima, alguém poderia me ajudar?
-
Olá! Ao executar o comando EnviarDadosVenda pode acontecer de o cupom ser autorizado mas o Integrador\MFe não conseguir retornar uma resposta. Qual a melhor formar de evitar que o usuário envie este cupom novamente? Vi que alguns usam o ConsultarNumeroSessao, mas não consegui entender o fluxo correto.
-
Em 09/06/2018 at 09:58, OldProgramer disse:
A questão que eu achei foi relacionada ao TXOptions. Usando o Zeos por exemplo, não me preocupava com isso, mas com o Firedac tive que ficar mais atento. O Firedac por padrão abre uma transação para consultar os dados e fecha automaticamente se o autostop estiver true.
Então pra não ter confusão de transações pendentes, deixo o autostart, autostop e autocommit (no TXOptions) sempre em true, e só na hora da transação em si é que mudo na hora o autocommit pra false, e como o autostart estará true, não preciso explicitar o starttransaction (se não ficará um pendente), faça o que tem que ser feito, e depois dou commit ou rollback, e por fim volto o autocommit pra true.
Não tive mais problemas.
Pelo que eu entendi, se no TXTOptions estiver AutoStart = true, não precisarei do FDConnection1.StartTransaction é isso?
FDConnection.TxOptions.AutoCommit := False; try //Aqui não precisa iniciar transação??? gravarVenda; gerarRecebimento; FDConnection1.Commit; FDConnection.TxOptions.AutoCommit := True; except FDConnection.Rollback; end;
Então não seria melhor fazer o contrário? AutoStart = false e só abrir transação quando realmente eu quiser?
-
Olá! Não estou conseguindo inutilizar NFe na UF de PI usando a versão 4.0. Recebo a "Rejeição 203: Emitente não habilitado para emissão de NF-e "
ps. Na 3.10 inutiliza normalmente.
-
22 horas atrás, Juliomar Marchetti disse:
Em tempo de execução somente.
Mas os DataSets aparecem na lista em tempo de designer(como mostrei na imagem), inclusive, algumas bands estão linkadas neles.
-
-
7 minutos atrás, Juliomar Marchetti disse:
Bom dia
acho que a primeira coisa é entender como funciona e quando usar as transações.
lá na wiki da embacadero tem todo detalhado o processo já chegaram a ler.?
http://docwiki.embarcadero.com/CodeExamples/Tokyo/en/FireDAC.Transactions_Sample
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Managing_Transactions_(FireDAC)
Bom dia! No meu caso, quando ocorre o problema, são em telas que não faço uso de transações, ou seja, cadastros simples.E Nas telas onde uso transações, procuro fazer da forma que a documentação orienta. De início achei que o problema poderia ser "comigo", mas já vi outros relatos de casos semelhantes, então acho que é algo no FireDAC\Firebird.
-
21 horas atrás, datilas disse:
eu resolvi assim:
If Not FDConnection1.InTransaction Then
FDConnection1.StartTransaction;
...
If Not FDConnection1.InTransaction Then
FDConnection1.CommitRetaining;Oi, datilas, blz! Não entendi onde colocou esses comandos, poderia me explicar? Apenas isso resolveu, ou teve que alterar alguma configuração no componente de conexão?
-
Em 29/08/2017 at 16:43, OldProgramer disse:
Usava o XE6 com Firebird 2.1 e tudo estava ok.
Resolvi trocar pelo Firedac para poder atualizar o Firebird e nos normais antes da implantação foi tudo ok.
Agora vira e mexe aparece usuário reclamando que fez isso ou aquilo, está no seu computador mas não no de outra pessoa.
Nem estou usando transactions nem cache updates. Um simples pool de insert's ou update's fica como efetivado no local somente para este usuário e às vezes quando ele fecha o programa atualiza outras vezes não.
Tem algum commit que deve ser dado ou parâmetro que deva ser utilizado?
Grato por qualquer ajuda.
Também passo por este problema. Já tentei de tudo, mas de vez em quando aparece um caso. Algum de vocês resolveu?
-
Obrigado, André!
-
function TACBrIntegrador.RespostaFiscal( ARespostaFiscal: TRespostaFiscal): TRetornoRespostaFiscal; var Comando, Resp : String; begin Result := TRetornoRespostaFiscal.Create; GerarNumeroSessao; ARespostaFiscal.Identificador := numeroSessao; Comando := ARespostaFiscal.AsXMLString; DoLog('RespostaFiscal( '+Comando+' )'); Resp := FComandoIntegrador.EnviaComando(numeroSessao,'RespostaFiscal',Comando); Result.AsXMLString := Resp; end;
-
Os métodos EnviarPagamento,VerificarStatusValidador e RespostaFiscal da classe TACBrSATMFe_integrador_XML tem um trecho de código semelhante, veja por exemplo o RespostaFiscal.
function TACBrSATMFe_integrador_XML.RespostaFiscal( ARespostaFiscal: TRespostaFiscal): TRetornoRespostaFiscal; begin TACBrSAT(Owner).DoLog('RespostaFiscal'); Result := Nil; TACBrSAT(Owner).IniciaComando; try Result := FIntegrador.RespostaFiscal(ARespostaFiscal); finally TACBrSAT(Owner).FinalizaComando( Result.XML ); end; end;
Acontece que, se por algum motivo o integrador não responder ao método FIntegrador.RespostaFiscal(ARespostaFiscal), o Result destes métodos fica como Nil e ocasiona o erro de "Access violation" no TACBrSAT(Owner).FinalizaComando( Result.XML ).
Espero que ajude na resolução do problema.
-
52 minutos atrás, André Ferreira de Moraes disse:
Tem um passo a passo para reproduzir o problema?
André, a maneira mais próxima de simular o erro, foi fechando o integrador no momento de enviar o respostafiscal. Fazendo isso, ocorre tudo que mencionei anteriormente.
-
Pior que não, como mencionei anteriormente, o erro não ocorre sempre. Mas os métodos que executo são:
1º) RespostaPagamentoMFe := TACBrSATMFe_integrador_XML(DMACBr.ACBrSAT.SAT).EnviarPagamento(PagamentoMFe);
2º) RespostaVerificarStatusValidador := TACBrSATMFe_integrador_XML(DMACBr.ACBrSAT.SAT).VerificarStatusValidador(VerificarStatusValidador);
3º) TACBrSATMFe_integrador_XML(DMACBr.ACBrSAT.SAT).EnviarDadosVenda();
4º) RetornoRespostaFiscal := TACBrSATMFe_integrador_XML(DMACBr.ACBrSAT.SAT).RespostaFiscal(RespostaFiscal);
-
Opa, André, blz!? Sim, ainda hoje atualizei.
-
Em alguns momentos(ora frequente, ora não) recebo erro de "Access violation" ao executar o RespostaFiscal. Quando esse erro ocorre, ao tentar emitir outro CFe, recebo a mensagem "SAT ocupado! Aguardando resposta da sessão 838033". Para conseguir emitir novamente tenho que fechar a aplicação.
Tentei de várias formas detectar o problema, mas debugando, não consigo simular o erro. Analisando os Logs, percebe-se que o componente aguarda por alguns instantes a resposta do Integrador, quando não recebe, cai na exceção "EComandoIntegradorException"(veja abaixo trecho do log). Alguém já passou por esse problema e poderia me ajudar a solucionar ou pelo menos tratar esse erro?
05/03/18 14:52:25:795 - RespostaFiscal
05/03/18 14:52:25:809 - NumeroSessao: 838033
05/03/18 14:52:25:821 - RespostaFiscal("OMITIDO PARA MELHOR VISUALIZAÇÃO" )
05/03/18 14:52:25:828 - Criando arquivo: C:\Integrador\Input\respostafiscal-838033.tmp
05/03/18 14:52:25:840 - Renomeando arquivo: C:\Integrador\Input\respostafiscal-838033.tmp para: C:\Integrador\Input\respostafiscal-838033.xml
05/03/18 14:52:25:849 - 05/03/2018 14:52:25 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:26:009 - 05/03/2018 14:52:26 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:26:168 - 05/03/2018 14:52:26 - AguardaArqResposta, sessao: 83803305/03/18 14:52:54:405 - 05/03/2018 14:52:54 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:54:565 - 05/03/2018 14:52:54 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:54:737 - 05/03/2018 14:52:54 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:54:901 - 05/03/2018 14:52:54 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:55:062 - 05/03/2018 14:52:55 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:55:236 - 05/03/2018 14:52:55 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:55:405 - 05/03/2018 14:52:55 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:55:566 - 05/03/2018 14:52:55 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:55:736 - 05/03/2018 14:52:55 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:55:910 - 05/03/2018 14:52:55 - AguardaArqResposta, sessao: 838033
05/03/18 14:52:55:970 - EComandoIntegradorException: Sem Resposta do Integrador
05/03/18 14:53:34:565 - EnviarPagamento -
Não estou mais querendo usar a Capicom. Conforme orientado, fiz o seguinte:
1- ACBrNFe1.Configuracoes.Geral.SSLLib := libWinCrypt;
2- {$DEFINE DFE_SEM_CAPICOM};
Mas na hora de enviar NFe, recebo a mensagem de classe não registrada. O que mais é necessário fazer?
-
1 hora atrás, André Ferreira de Moraes disse:
Coloque o campo de indSinc = 1.
Use:
ACBrNFe1.Enviar(vNumLote,Imprimir,Sincrono);
Obrigado, André! Deu certinho!
-
Ao executar o método HNfeAutorizacaoLote12, obtenho o retorno normalmente(cStat = 103). Logo depois o componente executa o método HNfeRetAutorizacaoLote12, mas não consegue "capturar" o retorno( o método GerarException exibe uma mensagem vazia). O retorno do método Enviar da classe TACBrIntegrador é esse: '\"992025|06000|0000|Enviado com sucesso + Retorno SEFAZ.|||The remote server returned an error: (500) Internal Server Error.|'
Em anexo arquivos para facilitar análise. Um deles parece está corrompido, acredito que talvez seja a causa do problema. Agradeço quem puder me ajudar.
Imprimir apenas NFe autorizadas
em ACBrNFe
Postado
Obrigado pela atenção, Italo. Fiz da segunda maneira(Limpando e carregando apenas as autorizadas).