-
Total de ítens
351 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Nelson A Sousa
-
-
Bom dia pessoal,
Estou utilizando a AcbrLibNFe com c# no Visual Studio.
Estou tendo problemas com a emissão de uma NFe ao executar o método Validar().
Salvei o xml logo antes de executar Validar() e rodei no site da SEFAZ para ver se havia algum erro. Só que na SEFAZ o xml passa sem problema algum.
Somente a validar feita pela LIB é que retorna erro:
Vou anexar o INI e o XML aqui talvez alguém consiga me dar uma luz pois não estou conseguindo identificar onde ocorre o erro.
Muito obrigado pela atenção!
-
Boa noite pessoal,
Estou utilizando a AcbrLibNFe com C# no Visual Studio.
Para emitir as NFEs eu primeiro gero um arquivo INI.
No estado RJ me foi informado que o FCP deve ser destacado nas informações adicionais do produto.
Na geração do INI eu deixo para carregar a tag <infAdProd> logo após os cálculos dos impostos.
Acontece que a tag <infAdProd> só é enviada ao XML de ela for informada na identificação do produto antes de efetuar os cálculos dos impostos.
Tenho carregado numa variável as tags dessa forma:
... sTextoINI += "vDesc=" + $"{item.VlDesc:0.00}" + Environment.NewLine; sTextoINI += "infAdProd=COR:" + item.Sigla_Cor + " TAMANHO:" + item.Tamanho + Environment.NewLine; sTextoINI += "indTot=1" + Environment.NewLine; //Carrego os impostos aqui abaixo ...
Pensei em separar os dados dos impostos numa segunda variável para concatenar depois de preencher a linha da tag <infAdProd>.
Seria esta a melhor solução?
-
Muito obrigado pela resposta.
Acabei percebendo que o melhor é mesmo fazer o arredondamento para 2 casas decimais.
Encontrei um pequeno problema no uso da ROUND() porque no c# e no SQL SERVER elas agem de forma diferente.
No c# o valor 15,405 vira 15,40 e no SQL SERVER 15,41, dei uma forçada no SQL pra arredondar pra baixo e acho que resolvi.
Pelo menos acho que resolvi, emiti uma nota com 22 produtos com IPI, ICMS e FCP e o xml foi validado.
Todo esse alvoroço por causa de 0,01 centavo em um único produto da nota.
Muito obrigado pela atenção!!
-
Olá,
Estou utilizando a AcbrLib com C# no Visual Studio.
Notei que apesar de configurar no arquivo INI as casas decimais com o valor 4, o cálculo dos impostos é feito em somente 2 ao gerar o XML. Isso está provocando rejeição por erro na soma dos impostos (ICMS e FCP).
minha configuração de decimais está assim:
CasasDecimais.Formato=0
CasasDecimais.MaskqCom=4
CasasDecimais.MaskvUnCom=4
CasasDecimais.qCom=4
CasasDecimais.vUnCom=4Devo padronizar tudo em 2 casas decimais?
-
Olá @Kiko Fernandes, obrigado pela resposta.
O path está informado corretamente, sim veja:
PathNFe=C:\Methodus\Gerente\1\Dados\NFe\Autorizadas\XML\
[DANFE]
PathPDF=C:\Methodus\Gerente\1\Dados\NFe\Autorizadas\PDF\
UsaSeparadorPathPDF=1O xml é salvo normalmente e o PDF não.
Vou fazer um teste colocado 0 no separador de path UsaSeparadorPathPDF
O arquivo INI está sim na pasta correta, até porque eu informo o path do mesmo ao iniciar a dll:
ACBrNFe _AcbrNFe = new ACBrNFe(NgGlobais.PubPastaEmpresa + @"\Dados\Logs\ACBrLib.ini", "");
-
Olá,
Verifique no seu arquivo de configurações da dll (INI), na seção [NFe], na Tag de nome PathNFe=
Uma vez autorizada sua nfe de saída a dll salva o xml nessa pasta.
-
@Kiko Fernandes desculpa demora na resposta.
Então, na verdade eu tenho usado da seguinte forma:
if (_NFe.cStat == "100") { _AcbrNFe.Imprimir(); _AcbrNFe.ImprimirPDF(); #region ::PUBLICA FTP NgEmpresa buscaemp = new NgEmpresa(); var empresa = buscaemp.Consulta_Empresa(1); if (empresa.PublicarFTP) { NgMovFTP.UploadFile(_NFe.ANFeArquivo, _NFe.IDMovEstoque); } #endregion }
Parece que o método Imprimir() apesar de mostrar o preview e abrir o dialogo de impressão não salva o arquivo PDF.
Pra salvar o PDF eu chamo o método ImprimirPDF() logo depois, mas parece o o método anterior faz a limpeza da NFe carregada.
Seria isso?
-
Bom dia,
Estou utilizando a AcbrLibNFe com c#.
Em meu arquivo de configurações(INI) tenho o trecho com os paths:
PathSalvar=C:\Methodus\Gerente\1\Dados\NFe\Geracao\
Download.PathDownload=C:\Methodus\Gerente\1\Dados\NFe\DistribuicaoDFe\
PathNFe=C:\Methodus\Gerente\1\Dados\NFe\Autorizadas\XML\
PathInu=C:\Methodus\Gerente\1\Dados\NFe\Autorizadas\Inutilizadas\
PathEvento=C:\Methodus\Gerente\1\Dados\NFe\Autorizadas\Eventos\
[DANFE]
PathPDF=C:\Methodus\Gerente\1\Dados\NFe\Autorizadas\PDF\
UsaSeparadorPathPDF=1
Impressora=L3150 Series(Rede)
Não estou conseguindo fazer com que o PDF seja salvo na pasta configurada.
Será que estou esquecendo algo?
-
Tranquilo, muito obrigado pela atenção!
-
Efetuei um teste no Demo c# com o seguinte código no botão de impressão do evento:
private void btnImprimirEvento_Click(object sender, EventArgs e) { try { //var arquivoXmlEvento = Helpers.OpenFile("Arquivo Xml Evento (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*"); //if (string.IsNullOrEmpty(arquivoXmlEvento)) return; //var arquivoXml = Helpers.OpenFile("Arquivo Xml MDFe (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*"); //if (string.IsNullOrEmpty(arquivoXml)) return; var arquivoXmlEvento = @"C:\Methodus\Gerente\1\Dados\MDFe\Autorizados\Eventos\202109\1101123321092098308100010258001000000039139301051001-procEventoMDFe.xml"; var arquivoXml = @"C:\Methodus\Gerente\1\Dados\MDFe\Autorizados\XML\202109\33210920983081000102580010000000391393010510-mdfe.xml"; ACBrMDFe.ImprimirEvento(arquivoXml, arquivoXmlEvento); } catch (Exception exception) { MessageBox.Show(exception.Message, @"Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
Repare que alterei apenas a carga de arquivoXmlEvento e arquivoXml, pra facilitar o teste.
Depois executei a demo e cliquei mis de uma vez no botão ImprimirEvento. A cada clique a janela de preview aumenta o número de exibições.
Repare no arquivo log que vai aumentando o número de documentos impressos:
24/09/21 11:37:18:265 - SetRetorno(0, [Impressao]
Msg=2 Documento (s) impresso(s) com sucesso
) -
10 horas atrás, Rafael Dias disse:
Não consegui reproduzir aqui, mas vi que tem alguns pontos no log que depois de chamar o imprimirevento o proximo comando é o mesmo
Então, eu repeti o comando só pra efetuar o teste. Por isso ele aparece várias vezes no log.
A cada envio que consta do log a janela de preview é Exibida várias vezes. Na primeira vez é exibida 2 vezes, na segunda chamada exibe 3 vezes e assim por diante.
-
Na verdade, só complementando.
O fato ocorre na impressão de todos os eventos, encerramento, cancelamento, inclusão motorista.
-
Bom dia pessoal!
Estou utilizando a ACBrLib no c#.
Ao imprimir o evento de encerramento de um MDFe notei que a janela de visualização da impressão está sendo aberta mais de uma vez.
No primeiro envio do comando ImprimirEvento() a janela de preview abre 2 vezes, se clico novamente no botão de impressão a janela de preview abre 3 vezes. A cada clique no botão de impressão o preview é aberto uma vez mais (soma + 1).
Devo limpar a lista de eventos e recarregar a cada impressão?
-
Erro sanado no demo c# !!
Valeu @Rafael Dias!!
-
29 minutos atrás, Rafael Dias disse:
Eu achei o erro, já foi enviado a correção no svn e na nova versão da lib lançada.
Excelente!!
Muito obrigado @Rafael Dias!!
-
Olá @Rafael Dias
Muito obrigado pelas respostas.
Segue o log:
Veja a partir da marcação: 15/09/21 14:18:15:766
-
Vou atualizar e volto pra informar .
Valeu!!
-
Olá,
Caso você não informe uma pasta ao inicializar as dlls, será assumido que elas se encontram na pasta raiz do seu EXE.
Por exemplo C:\PastaSeuEXE\ACBrLib\x64\ ou C:\PastaSeuEXE\ACBrLib\x86\ , dependendo de como construiu(plataforma) seu projeto.
-
Boa tarde pessoal,
Estou utilizando a ACBrLibMDFe no C#.
Ao enviar o evento de inclusão de condutor EnviarEvento(), recebo a TAG EVENTO002 ao invés de EVENTO001.
É esperado isso mesmo?
-
11 horas atrás, Rafael Dias disse:
Amigo em todo o retorno do Log não tem nenhum erro ou seja nenhum retorno negativo, então este erro so pode estar vindo da sua aplicação, se tiver outro log que constem algum erro favor postar.
Olá, @Rafael Dias
Muito obrigado pelas respostas!
Efetuei um teste no Demo e o erro apareceu lá também, veja imagens abaixo.
-
1 minuto atrás, Rafael Dias disse:
Este erro esta vindo do seu sistema, olhando o log não tem nenhum erro na ACBrLibMDFe.
Desculpa @Rafael Dias,
Mas meu sistema só recebe o resultado do método EncerrarMDFe().
Eu dei uma olhada no log pra ver se eu estava passando parâmetros diferentes nos 2 momentos mas veja que são exatamente os mesmos:
14/09/21 13:43:32:381 - MDFE_EncerrarMDFe(33210920983081000102580010000000051104499622,14/09/2021,3301702,20983081000102,933210000017748 )
14/09/21 13:52:16:494 - MDFE_EncerrarMDFe(33210920983081000102580010000000051104499622,14/09/2021,3301702,20983081000102,933210000017748 )
No primeiro é retornado erro: {"A sequência contém mais de um elemento de correspondência"} antes de carregar a variável com o retorno do método.
Na segunda a variável é carregada corretamente com a resposta do EncerrarMDFe().
A única diferença está justamente no conteúdo da resposta nas duas situações.
Veja que a resposta na primeira tentativa tem mais conteúdo que a da segunda.
O problema não estaria no momento da lib construir a resposta de maior conteúdo da primeira tentativa?
-
Boa tarde pessoal,
Estou utilizando a ACBrMDFe32.dll no C#.
Ao enviar o evento de encerramento do MDFe:
var uRetEnc = _AcbrMDFe.EncerrarMDFe(_MDFe.chMDFe, NgGlobais.PubDataSistema, empresa.IdCidade.ToString(), NgGlobais.RemoveMascara(empresa.CNPJ), _MDFe.Protocolo);
Ao carregar a uRetEnc com os dados retornados pelo método EncerrrarMDFe() ocorre o seguinte erro:
{"A sequência contém mais de um elemento de correspondência"}
Acontece porém que o encerramento é realizado perfeitamente, o evento é enviado e registrado na SEFAZ.
Numa segunda tentativa de envio do mesmo evento, a variável uRetEnc é carregada normalmente (veja o código acima), e, tenho como resposta a rejeição 631- Duplicidade de evento. Com a duplicidade constatada, faço a consulta, com o método Consultar(_MDFe.chMDFe, false) e atualizo os dados no meu sistema.
A questão é, por que ocorre o erro na primeira utilização do método EncerrarMDFe() se utilizo exatamente o mesmo código?
-
Em 07/06/2021 at 13:36, Nelson Jose Zanellato Junior disse:
var pNewSession = LibLoader.LoadLibrary(dllName);
if (pNewSession == IntPtr.Zero || pNewSession == MinusOne)
throw CreateException("Não foi possivel carregar a biblioteca.");System.ApplicationException: 'Não foi possivel carregar a biblioteca.'
Podem ajudar ? No modelo do ano passado - funcionava bem.
O demo não está localizando a dll (AcbrPosPrinter).
Verifique se ele está na pasta raiz ou se passou o path correto da mesma.
-
1 hora atrás, Rafael Dias disse:
Provavelmente erro na SEFAZ MG lá vive com problema, tente mudar o SSLType ele não devem ter ativado o TLS 1.2 no servidor.
Outra coisa que vi no seu ini é não informe ArquivoPFX, DadosPFX e NumeroSerie juntos informe apenas NumeroSerie ou ArquivoPFX.Verdade @Rafael Dias, parece que o problema é só com homologação. Produção está normal.
Obrigado pela dica quanto ao arquivo INI.
[AcbrLibNFe] - Erro ao validar
em ACBrLIB
Postado · Editado por Nelson A Sousa
Olá @Juliomar Marchetti,
Muito obrigado pela resposta.
Acabei descobrindo o meu erro. Tinha um problema em meu tratamento das formas de pagamento.
Justamente a forma de pagamento da NFe, que nunca havia sido usada anteriormente, estava cadastrada incorretamente na base de dados.