Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Membros Pro Postado 27 Dezembro, 2024 Bom dia! Estou fazendo os testes para migrar o envio de notas para o componente ACBR. Carrego o Xml que eu mesmo gero, já validado na Sefaz RS. ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromString(Xml); Ao tentar enviar recebo a mensagem de Falha na validação. ACBrNFe1.Enviar(StrToInt(NroLote), False, False); 000025.XML eNFeConfig.ini
Moderadores Juliomar Marchetti Postado 27 Dezembro, 2024 Moderadores Postado 27 Dezembro, 2024 os schemas estão atualizados? validei ele em mais de um lugar e recebi Citar NFe42241201380464000567550010000000251228838388 XML válido com alertas: Alerta[CSTCFOP]: Item 1: A utilização da CFOP: 6921 para pessoa Jurídica realizando um tipo de operação de Saída sendo este Emitente classificado no Regime Tributário Normal utilizando o CST 99 para PIS, não é uma combinação coerente. Alerta[CSTCFOP]: Item 1: A utilização da CFOP: 6921 para pessoa Jurídica realizando um tipo de operação de Saída sendo este Emitente classificado no Regime Tributário Normal utilizando o CST 99 para COFINS, não é uma combinação coerente. Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Moderadores BigWings Postado 27 Dezembro, 2024 Moderadores Postado 27 Dezembro, 2024 57 minutos atrás, Djalma Grivol disse: Esse erro indica que você está tentando validar um XML sem itens. Não é o caso do XML em anexo, então verifique novamente qual XML está sendo validado. BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Autor Membros Pro Postado 27 Dezembro, 2024 Bom dia! É o mesmo Xml. Tente carregar ele e validar. Vai dar o erro.
Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Autor Membros Pro Postado 27 Dezembro, 2024 Esse é o Xml que foi carregado no componente. Sem assinatura. 25.XML
Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Autor Membros Pro Postado 27 Dezembro, 2024 Descobri onde está o problema, mas não sei porque. Depois que o componente assina o Xml ele retira os itens. Gravei um arquivo com o resultado de ACBrNFe1.NotasFiscais[0].XMLAssinado. Vejam000025acbr.XML
Consultores Diego Foliene Postado 27 Dezembro, 2024 Consultores Postado 27 Dezembro, 2024 Tópico movido para a área do ACBr Pro, para que o SLA de respostas seja considerado Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Consultores Diego Foliene Postado 27 Dezembro, 2024 Consultores Postado 27 Dezembro, 2024 Bom dia! Utilizando o programa exemplo do componente ACBrNFe para Delphi adicionei um botão com o seguinte código: // Sugestão de configuração para apresentação de mensagem mais amigável ao usuário final ACBrNFe1.Configuracoes.Geral.ExibirErroSchema := False; ACBrNFe1.Configuracoes.Geral.FormatoAlerta := 'Campo:%DESCRICAO% - %MSG%'; OpenDialog1.Title := 'Escolha o arquivo XML'; OpenDialog1.DefaultExt := '*.xml'; OpenDialog1.Filter := 'Arquivos XML(*.XML)|*.XML|Arquivos xml(*.xml)|*.xml'; if OpenDialog1.Execute then begin ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName); ACBrNFe1.NotasFiscais.Assinar; try ACBrNFe1.NotasFiscais.Validar; ShowMessage('Nota Fiscal Válida'); except on E:Exception do begin pgRespostas.ActivePage := Dados; MemoDados.Lines.Add('Exception: ' + E.Message); MemoDados.Lines.Add('Erro: ' + ACBrNFe1.NotasFiscais.Items[0].ErroValidacao); MemoDados.Lines.Add('Erro Completo: ' + ACBrNFe1.NotasFiscais.Items[0].ErroValidacaoCompleto); end; end; end; E não tive problemas utilizando o arquivo 25.XML que disponibilizou. Por favor, como está a sua rotina para carregar a o XML e fazer a assinatura e validação? Alguns pontos que valem ser considerados: A rotina ACBrNFe.NotasFiscais.LoadFromFile possui dois parâmetros, o primeiro deles é o arquivo e o segundo é um tipo booleano que vai dizer se o componente deve gerar o XML novamente. Veja se não está usando o valor True para o segundo parâmetro na sua rotina. Existem duas units diferentes que fazem a leitura e a geração do XML, as da pcn e as que utilizam ACBrXmlDocument. No momento que fez a instalação, você marcou no instalador a opção "Usar ACBr_XML_Document"? Se sim, está usando ACBrXMLDocument caso contrário está usando pcn. Veja se o comportamento é o mesmo com ambas. Pelas configurações do seu arquivo INI, está utilizando a configuração do WinCrypt que é recomendada para o certificado A3. Este é o seu caso? Se for certificado A1, consegue realizar um teste com OpenSSL? Se você não estiver carregando um XML, mas sim alimentando as classes e gerando o XML, é importante que não haja mais de uma ocorrência de ACBrNFe1.NotasFiscais.Add, pois para cada NotasFiscais.Add, você está na verdade adicionando mais uma nota na lista. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Autor Membros Pro Postado 27 Dezembro, 2024 Boa tarde! Fiz o teste com o programa exemplo. Mesmo erro.
Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Autor Membros Pro Postado 27 Dezembro, 2024 A rotina ACBrNFe.NotasFiscais.LoadFromFile possui dois parâmetros, o primeiro deles é o arquivo e o segundo é um tipo booleano que vai dizer se o componente deve gerar o XML novamente. Veja se não está usando o valor True para o segundo parâmetro na sua rotina. (testei das 2 formas) Existem duas units diferentes que fazem a leitura e a geração do XML, as da pcn e as que utilizam ACBrXmlDocument. No momento que fez a instalação, você marcou no instalador a opção "Usar ACBr_XML_Document"? Se sim, está usando ACBrXMLDocument caso contrário está usando pcn. Veja se o comportamento é o mesmo com ambas. (não me lembro, como faço para testar?) Pelas configurações do seu arquivo INI, está utilizando a configuração do WinCrypt que é recomendada para o certificado A3. Este é o seu caso? Se for certificado A1, consegue realizar um teste com OpenSSL? (uso a1, com OpenSSL dá o seguinte erro) Se você não estiver carregando um XML, mas sim alimentando as classes e gerando o XML, é importante que não haja mais de uma ocorrência de ACBrNFe1.NotasFiscais.Add, pois para cada NotasFiscais.Add, você está na verdade adicionando mais uma nota na lista. (só carrego 1 xml ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromString(Xml);
Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Autor Membros Pro Postado 27 Dezembro, 2024 Após utilizar o LoadfromFile() no programa exemplo o componente sobrescreve o arquivo com o Xml assinado (excluindo o item). O componente não teria que pegar o Xml que eu gerei e simplesmente assinar? Veja 25.XML
Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Autor Membros Pro Postado 27 Dezembro, 2024 Vejam que interessante. 25.xml = Xml gerado pelo sistema ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromString(Xml); 25xml.xml = ACBrNFe1.NotasFiscais[0].XML 25orig.xml = ACBrNFe1.NotasFiscais[0].XMLOriginal 25ass.xml = ACBrNFe1.NotasFiscais[0].XMLAssinado (o problema está aqui, depois que assina some o item) 25.XML 25ass.XML 25orig.XML 25xml.XML
Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Autor Membros Pro Postado 27 Dezembro, 2024 Mais um informação. Se carrego o xml já assinado o ACBrNFe valida normalmente (gerei um xml assinando pelo componente da TecnoSpeed). 000015.XML 000015ass.XML
Consultores Diego Foliene Postado 27 Dezembro, 2024 Consultores Postado 27 Dezembro, 2024 2 hours ago, Djalma Grivol said: Pelas configurações do seu arquivo INI, está utilizando a configuração do WinCrypt que é recomendada para o certificado A3. Este é o seu caso? Se for certificado A1, consegue realizar um teste com OpenSSL? (uso a1, com OpenSSL dá o seguinte erro) Com o OpenSSL, remova a informação do número de série e informe o caminho do PFX e a senha, conforme este tópico: Vamos fazer mais alguns testes levando em conta as demais considerações. Retornamos assim que descobrirmos mais informações. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Membros Pro Djalma Grivol Postado 27 Dezembro, 2024 Autor Membros Pro Postado 27 Dezembro, 2024 Ok, fico no aguardo. Em relação ao OpenSSL gera o mesmo erro.
Consultores Diego Foliene Postado 30 Dezembro, 2024 Consultores Postado 30 Dezembro, 2024 Bom dia! Fiz mais alguns testes em meu ambiente, no entanto, ainda não consegui reproduzir o problema. Aqui o XML é lido, assinado e validado sem acusar erro ou excluir o item. Vou lhe pedir, por favor, que faça um teste em debug, seguindo o passo a passo. 1º- Primeiro de tudo, vou lhe pedir que confira se não tem na sua pasta dos fontes, nenhuma pasta ou unit que tenha um ícone de uma exclamação vermelha ao lado dela. Se tiver, significa que nesta pasta ou este arquivo tem modificações locais tornando ele diferente do SVN. Se tiver algum arquivo nesta situação, resolva esta diferença fazendo um SVN Revert. 2º- Quando toda a pasta dos fontes do ACBr estiver com um ícone verde atualize o ACBr e reinstale marcando a opção "Remover Arquivos Antigos" Veja que eu também destaquei outra opção "Usar o ACBrXmlDocument (Em Teste)". Você é livre para marcar ou não está opção, mas ela vai influenciar no próximo passo. 3º - Se no passo anterior você marcou a opção "Usar o ACBrXmlDocument", então coloque um break point nos pontos indicados nesses prints: Primeiro neste aqui, para conferir se a leitura do grupo com as informações do item do XML está sendo lida corretamente.(faça o debug a partir deste ponto, usando o step-into(F7) para ver se ele lê as informações e preenche o item). Depois neste ponto, onde ele gera o XML para conferir se ele está lendo as informações do item para gerar corretamente o XML. Se no passo anterior você NÃO marcou a opção "Usar ACBrXmlDocument", então coloque o break-point nesses pontos seguindo a mesma lógica. Confirmar se leu corretamente a informação do item: C Confirmar se gerou corretamente a informação do item. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Membros Pro Djalma Grivol Postado 30 Dezembro, 2024 Autor Membros Pro Postado 30 Dezembro, 2024 (editado) Bom dia! Estou usando o PCN Em relação a alteração de fontes não há. Coloquei o break-point e realmente ele não entra no laço. Em relação a formação do Xml, pelo que vi tenho que colocar a tag <NFe xmlns="http://www.portalfiscal.inf.br/nfe"> no inicio senão ele não carrega a nota, é isso mesmo? Tenta validar esse xml que esta em anexo. Segue o xml 000024.XML Editado 30 Dezembro, 2024 por Djalma Grivol
Membros Pro Djalma Grivol Postado 30 Dezembro, 2024 Autor Membros Pro Postado 30 Dezembro, 2024 (editado) Bom dia! Acho que achei o problema. Veja a linha abaixo. while pos('<det nItem=',ItensTemp) <> 0 do A variavel Itenstemp esta com o conteúdo <det nItem = "1">. Tem um espaço entre nitem e o igual. Por isso que ele não entra no laço. Porque o componente coloca esse espaço sendo que no Xml que gero não tem? Estou com a versão de 03/11/2023 Editado 30 Dezembro, 2024 por Djalma Grivol
Consultores Solution Diego Foliene Postado 30 Dezembro, 2024 Consultores Solution Postado 30 Dezembro, 2024 1 hour ago, Djalma Grivol said: Veja a linha abaixo. while pos('<det nItem=',ItensTemp) <> 0 do A variavel Itenstemp esta com o conteúdo <det nItem = "1">. O problema é este mesmo. 1 hour ago, Djalma Grivol said: Porque o componente coloca esse espaço sendo que no Xml que gero não tem? Conferindo na unit não tem o espaço. Pode confirmar como está na sua pcnNeW? Você também pode fazer um teste com o botão Gerar NFe no exemplo para que seja gerado um XML com dados fictícios e verificar se está gerando com ou sem espaço. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Membros Pro Djalma Grivol Postado 30 Dezembro, 2024 Autor Membros Pro Postado 30 Dezembro, 2024 Boa tarde! Se mando o arquivo Xml Assinado funciona normalmente. Mas se mando o arquivo sem assinar ele muda. Quando passo o Xml para o componente ele gera ele novamente? O arquivo Xml foi mudado em algum momento. Você esta usando a Pcn?
Membros Pro Djalma Grivol Postado 30 Dezembro, 2024 Autor Membros Pro Postado 30 Dezembro, 2024 (editado) Aqui nessa variável Arquivo já esta errado. Pelo que entendi o arquivo esta sendo manipulado em leitor.arquivo na pcnLeitor Editado 30 Dezembro, 2024 por Djalma Grivol
Consultores Daniel InfoCotidiano Postado 30 Dezembro, 2024 Consultores Postado 30 Dezembro, 2024 47 minutos atrás, Diego Foliene disse: Pode confirmar como está na sua pcnNeW? Boa tarde, chegou a confirmar o que o @Diego Foliene citou acima a pcnNEW ? Apenas complementando, após atualizações do SVN, vc rodou o instalador ? Pergunto pq por enq não tivemos relatos semelhantes. 2 horas atrás, Djalma Grivol disse: Estou com a versão de 03/11/2023 No que se refere qdo diz versão 2023? do SVN ? Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Membros Pro Djalma Grivol Postado 30 Dezembro, 2024 Autor Membros Pro Postado 30 Dezembro, 2024 Boa tarde! O problema era o espaço mesmo. Minha rotina estava dessa forma det nitem = "1" alterei para det nitem="1" O estranho é como o Diego Foliene conseguiu validar mesmo o arquivo estando com espaço. Obrigado! 1
Consultores Daniel InfoCotidiano Postado 30 Dezembro, 2024 Consultores Postado 30 Dezembro, 2024 Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Consultores Diego Foliene Postado 30 Dezembro, 2024 Consultores Postado 30 Dezembro, 2024 26 minutes ago, Djalma Grivol said: Minha rotina estava dessa forma det nitem = "1" alterei para det nitem="1" O estranho é como o Diego Foliene conseguiu validar mesmo o arquivo estando com espaço. Para poder testar em meu ambiente, eu precisava alterar o CNPJ do grupo emit colocando o CNPJ do certificado digital que possuo. Para isso, eu abria o XML no notepad++ e usava um plugin chamado XML Tools para indentar o arquivo, editar o CNPJ, linearizar o arquivo novamente e salvar. Neste processo o plugin removia os espaços. Foi só quando eu alterei a informação sem fazer isso(indentar e linearizar) que consegui reproduzir o problema. Que foi quando respondi aqui: 1 hour ago, Diego Foliene said: 3 hours ago, Djalma Grivol said: Veja a linha abaixo. while pos('<det nItem=',ItensTemp) <> 0 do A variavel Itenstemp esta com o conteúdo <det nItem = "1">. O problema é este mesmo. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Recommended Posts