Ir para conteúdo
  • Cadastre-se

Nelson A Sousa

Membros
  • Total de ítens

    351
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por Nelson A Sousa

  1. 20 horas atrás, Juliomar Marchetti disse:

    Veja senão está faltando assinar primeiro antes de validar.

    se bem que se tu usar o método enviar ele vai assinar e validar

    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.

  2. 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!

    Captura de tela 2024-03-19 093344.png

    NFEVenda.INI NFe_000551.xml

  3. 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?    

    Funciona.INI NaoFunciona.INI

  4. Olá @Juliomar Marchetti

    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!!

  5. 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=4

     

    Devo padronizar tudo em 2 casas decimais?

  6. 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=1

    O 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", "");
     

  7. @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?

  8. 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?

    ACBrLib.ini

  9. 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
    )

     

    ACBrLibMDFe-20210924.log

  10. 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.

  11. 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?

    ACBrLibMDFe-20210923.log

  12. 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?

     

  13. 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?

    ACBrLibMDFe-20210914.log ACBrLib.ini

  14. 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.

  15. 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.

×
×
  • 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.