Usuários SAC Otavio Benini 17 Posted November 16, 2020 Usuários SAC Report Share Posted November 16, 2020 Boas tardes, pessoal em 21/09 tive um problema no usando ACBrNFe, cuja tentativa de solução, apontou para outro; um AV muito cabeludo; esse problema ficou suspenso aqui enquanto eu trabalhava outras questões mais urgentes; agora, e antes que este se torne urgente, preciso resolve-lo tenho, hoje, 5 clientes que emitem Nfe e neles, portanto, uso ACBr – o primeiro foi em Set/2009; a unit que trata a Nfe é basicamente a mesma para todos eles, com mínimas variações; poderia até ser a mesma unit, mas eu mantenho um projeto para cada cliente; o ambiente de desenvolvimento e testes, desde 2014, é uma VM Windows 7, c/ Delphi 2010, Firebird 2.5, tudo 32 bits; o host é um i7, 16 gb RAM e Windows 8 32 bits; em 21/09/20 quando precisei "forçar" um servidor virtual para um cliente do Ceará, encontrei um problema e antes de qualquer outra providencia atualizei o ACBr; depois dessa atualização fiquei c/ 2 problemas; o principal, que motivou as ações, foi resolvido com um muito bom suporte do @Big Wings; ficou um AV (novíssimo !) exatamente na emissão da Nfe; para resolver o AV então eu voltei um backup da VM, anterior a 21/09, e ficou tudo ok; a dedução óbvia dessa ocorrência é um "bug" no ACBrNFe, visto que nada além disso mudou; voltei ao problema no final do mês passado e cá estou até agora; se eu atualizar o ACBr o problema se repete; eu fiz isso; voltei um backup da VM mais antigo, compilei e emiti uma Nfe; depois atualizo o ACBr, compilo e lá vem a o AV na emissão da Nfe; com o mesmo código, sem alterações; tentei também remover totalmente o ACBr e atualiza-lo do zero: não funcionou; estou migrando todo ambiente de desenvolvimento, e havia começado por outro projeto, que não usa ACBr, mas parei tudo pra resolver esse AV; por host estou usando um Dell i7, 16 gb RAM, Windows 10 Pro 64, Firebird 3; criei uma VM Windows 10 Pro 64, instalei Delphi 10.4 Sydnei e ACBr: AV igualzinho ! eu testei com 3 projetos diferentes; num deles recriei a unit onde uso o ACBr, do zero; nessa Unit não faço nada além de gerar e enviar o xml; os dados estão num data module; eu uso, com base na publicação "Conheça a ACBrDFeSSL" por Daniel Simões de Almeida, desde a versão 4 da NFe, o seguinte set: Geral.SSLCryptLib := cryOpenSSL; Geral.SSLHttpLib := httpOpenSSL; Geral.SSLLib := libOpenSSL; Geral.SSLXmlSignLib := xsLibXml2; WebServices.SSLType := LT_TLSv1_2; ajustei os parametros do pgr exemplo para esse set, mas dá erro, não compila; então eu ajustei minha app para ficar igual à que usei no exemplo e que foi aceita: Geral.SSLCryptLib := cryWinCrypt; Geral.SSLHttpLib := httpWinHttp; Geral.SSLLib := libWinCrypt; Geral.SSLXmlSignLib := xsLibXml2; WebServices.SSLType := LT_TLSv1_2; essas propriedades só puderam ser ajustadas diretamente no componente (no Delphi Sydnei, no 2010 não sei, uso no componente direto), dá erro e não compila se alterar na linha; o programa exemplo com esse set compila, roda e emite a NFe; minha app com um ou outro set compila e roda; com ACBr atualizado dá AV, com ACBr "defazado" compila, roda, emite NFe; mas eu não encontro nada a alterar na minha unit, aliás eu não alterei nada nela, a única diferença é a atualização do ACBr a partir de 21/09; debugando, o AV ocorre na chamada para assinar o xml: em ACBrNFeNotasFiscais, na procedure NotaFiscal.Assinar, linha 282 – anexo print da tela; a chamada é interna pelos metodos do ACBr, eu apenas chamo ACBrNFe1.Enviar escrevi toda essa história na esperança que possam acender uma luz para a solução ; nunca antes precisei do suporte como agora; antes, resta uma via ainda não explorada: como posso salvar o xml antes da assinatura ? no exemplo só encontro a gravação do xml depois da assinatura; com o xml gerado pela minha app eu poderei comparar com o xml do exemplo, inclusive envia-lo pra vocês; agradeço a atenção Otavio Benini Link to post Share on other sites
antonio.carlos 65 Posted November 16, 2020 Report Share Posted November 16, 2020 Tópico movido para a área do SAC, para que o SLA de respostas seja considerado Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 16, 2020 Author Usuários SAC Report Share Posted November 16, 2020 4 minutos atrás, antonio.carlos disse: Tópico movido para a área do SAC, para que o SLA de respostas seja considerado como faço para postar diretamente na área do SAC ? obrigado Link to post Share on other sites
Juliomar Marchetti 3,856 Posted November 16, 2020 Report Share Posted November 16, 2020 Na tela principal do fórum tem um local que destina ao SAc e outro fórum aberto, veja nesse link a sessão do SAC https://www.projetoacbr.com.br/forum/forum/38-suporte-pago-sac/ 13 minutos atrás, Otavio Benini disse: Boas tardes, pessoal em 21/09 tive um problema no usando ACBrNFe, cuja tentativa de solução, apontou para outro; um AV muito cabeludo; esse problema ficou suspenso aqui enquanto eu trabalhava outras questões mais urgentes; agora, e antes que este se torne urgente, preciso resolve-lo tenho, hoje, 5 clientes que emitem Nfe e neles, portanto, uso ACBr – o primeiro foi em Set/2009; a unit que trata a Nfe é basicamente a mesma para todos eles, com mínimas variações; poderia até ser a mesma unit, mas eu mantenho um projeto para cada cliente; o ambiente de desenvolvimento e testes, desde 2014, é uma VM Windows 7, c/ Delphi 2010, Firebird 2.5, tudo 32 bits; o host é um i7, 16 gb RAM e Windows 8 32 bits; em 21/09/20 quando precisei "forçar" um servidor virtual para um cliente do Ceará, encontrei um problema e antes de qualquer outra providencia atualizei o ACBr; depois dessa atualização fiquei c/ 2 problemas; o principal, que motivou as ações, foi resolvido com um muito bom suporte do @Big Wings; ficou um AV (novíssimo !) exatamente na emissão da Nfe; para resolver o AV então eu voltei um backup da VM, anterior a 21/09, e ficou tudo ok; a dedução óbvia dessa ocorrência é um "bug" no ACBrNFe, visto que nada além disso mudou; voltei ao problema no final do mês passado e cá estou até agora; se eu atualizar o ACBr o problema se repete; eu fiz isso; voltei um backup da VM mais antigo, compilei e emiti uma Nfe; depois atualizo o ACBr, compilo e lá vem a o AV na emissão da Nfe; com o mesmo código, sem alterações; tentei também remover totalmente o ACBr e atualiza-lo do zero: não funcionou; estou migrando todo ambiente de desenvolvimento, e havia começado por outro projeto, que não usa ACBr, mas parei tudo pra resolver esse AV; por host estou usando um Dell i7, 16 gb RAM, Windows 10 Pro 64, Firebird 3; criei uma VM Windows 10 Pro 64, instalei Delphi 10.4 Sydnei e ACBr: AV igualzinho ! eu testei com 3 projetos diferentes; num deles recriei a unit onde uso o ACBr, do zero; nessa Unit não faço nada além de gerar e enviar o xml; os dados estão num data module; eu uso, com base na publicação "Conheça a ACBrDFeSSL" por Daniel Simões de Almeida, desde a versão 4 da NFe, o seguinte set: Geral.SSLCryptLib := cryOpenSSL; Geral.SSLHttpLib := httpOpenSSL; Geral.SSLLib := libOpenSSL; Geral.SSLXmlSignLib := xsLibXml2; WebServices.SSLType := LT_TLSv1_2; ajustei os parametros do pgr exemplo para esse set, mas dá erro, não compila; então eu ajustei minha app para ficar igual à que usei no exemplo e que foi aceita: Geral.SSLCryptLib := cryWinCrypt; Geral.SSLHttpLib := httpWinHttp; Geral.SSLLib := libWinCrypt; Geral.SSLXmlSignLib := xsLibXml2; WebServices.SSLType := LT_TLSv1_2; essas propriedades só puderam ser ajustadas diretamente no componente (no Delphi Sydnei, no 2010 não sei, uso no componente direto), dá erro e não compila se alterar na linha; o programa exemplo com esse set compila, roda e emite a NFe; minha app com um ou outro set compila e roda; com ACBr atualizado dá AV, com ACBr "defazado" compila, roda, emite NFe; mas eu não encontro nada a alterar na minha unit, aliás eu não alterei nada nela, a única diferença é a atualização do ACBr a partir de 21/09; debugando, o AV ocorre na chamada para assinar o xml: em ACBrNFeNotasFiscais, na procedure NotaFiscal.Assinar, linha 282 – anexo print da tela; a chamada é interna pelos metodos do ACBr, eu apenas chamo ACBrNFe1.Enviar escrevi toda essa história na esperança que possam acender uma luz para a solução ; nunca antes precisei do suporte como agora; antes, resta uma via ainda não explorada: como posso salvar o xml antes da assinatura ? no exemplo só encontro a gravação do xml depois da assinatura; com o xml gerado pela minha app eu poderei comparar com o xml do exemplo, inclusive envia-lo pra vocês; agradeço a atenção Otavio Benini Para solução existem algumas coisas, por exemplo usar as versões mais nova do openssl que pode ser esse o caso. 1 Juliomar Marchetti Ajude o Projeto ACBr crescer - Assine o SAC skype: juliomar telegram: juliomar http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 16, 2020 Author Usuários SAC Report Share Posted November 16, 2020 29 minutos atrás, Juliomar Marchetti disse: Para solução existem algumas coisas, por exemplo usar as versões mais nova do openssl que pode ser esse o caso. eu rodo meu app sem nenhuma dll na pasta, tal qual roda o prg exemplo então vale o que está na pasta windows\syswow64 e lá estão as dlls mais recentes, comparando com o que traz o ACBr; veja figura; Link to post Share on other sites
Juliomar Marchetti 3,856 Posted November 16, 2020 Report Share Posted November 16, 2020 Há tá o exemplo do svn não ocasiona erros? somente sua aplicação? Juliomar Marchetti Ajude o Projeto ACBr crescer - Assine o SAC skype: juliomar telegram: juliomar http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 16, 2020 Author Usuários SAC Report Share Posted November 16, 2020 54 minutos atrás, Juliomar Marchetti disse: Há tá o exemplo do svn não ocasiona erros? somente sua aplicação? é uma situação intrigante dá uma lida no histórico que fiz inicialmente e nas tentativas Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 17, 2020 Author Usuários SAC Report Share Posted November 17, 2020 19 horas atrás, Otavio Benini disse: é uma situação intrigante dá uma lida no histórico que fiz inicialmente e nas tentativas enquanto não surge a solução, pode me responder: como posso salvar o xml antes da assinatura ? Link to post Share on other sites
Juliomar Marchetti 3,856 Posted November 17, 2020 Report Share Posted November 17, 2020 Tu chama o enviar né? faz ACBrNFe.NotasFicais.GerarXML Juliomar Marchetti Ajude o Projeto ACBr crescer - Assine o SAC skype: juliomar telegram: juliomar http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Link to post Share on other sites
Solution Italo Giurizzato Junior 9,891 Posted November 17, 2020 Solution Report Share Posted November 17, 2020 Boa tarde Otavio, Eu salvaria o XML assinado, pois se você gerar o XML e tentar validar ele vai ocorrer erro de validação, uma vez que a validação exige que o XML esteja assinado. E para ter o XML assinado salvo em disco basta executar o método Assinar. 1 Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 18, 2020 Author Usuários SAC Report Share Posted November 18, 2020 4 horas atrás, Italo Giurizzato Junior disse: Boa tarde Otavio, Eu salvaria o XML assinado, pois se você gerar o XML e tentar validar ele vai ocorrer erro de validação, uma vez que a validação exige que o XML esteja assinado. E para ter o XML assinado salvo em disco basta executar o método Assinar. Italo, boa noite eu quero gerar o xml antes da assinatura para comparar com o xml gerado pelo exemplo não sei se vc teve oportunidade de ler o histórico que inicio este pedido de suporte trata-se de um AV na chamada para assinar o xml, ocasionado depois de atualização do ACBr em 21/09 quando o prbl começou, o Daniel pediu prá rodar o exemplo e se este rodasse então o prbl seria da minha aplicação mas não é bem assim, como estou tentando demonstrar nunca estive debruçado por tanto tempo em cima de um problema - no mato sem cachorro obrigado por seu interesse Link to post Share on other sites
Italo Giurizzato Junior 9,891 Posted November 18, 2020 Report Share Posted November 18, 2020 Bom dia Otavio, O Juliomar lhe mostrou como salvar o XML gerado sem a assinatura, uma vez que o AV ocorre ao tentar assinar. Você poderia gerar e anexar o XML para que possamos analisar? Outra coisa o AV ocorre na linha 282 da unit ACBrNFeNotasFiscais, correto? Tentou durante o "debug" dar Trace into (F7) nessa linha? Pois dessa forma saberemos a linha exata que ocorre o AV, uma vez que o método Assinar da linha 282 esta implementando na unit ACBrDFeSSL. Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 18, 2020 Author Usuários SAC Report Share Posted November 18, 2020 3 horas atrás, Italo Giurizzato Junior disse: Bom dia Otavio, O Juliomar lhe mostrou como salvar o XML gerado sem a assinatura, uma vez que o AV ocorre ao tentar assinar. Você poderia gerar e anexar o XML para que possamos analisar? Outra coisa o AV ocorre na linha 282 da unit ACBrNFeNotasFiscais, correto? Tentou durante o "debug" dar Trace into (F7) nessa linha? Pois dessa forma saberemos a linha exata que ocorre o AV, uma vez que o método Assinar da linha 282 esta implementando na unit ACBrDFeSSL. ok, Italo assim que estiver no jeito te envio estou às voltas com falta de energia e a VM onde estava o Delphi Berlin não está abrindo... 1 Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 20, 2020 Author Usuários SAC Report Share Posted November 20, 2020 boa tarde, Italo reconstrui a VM, Win10Pro64, instalei Delphi 10.4 +patchs 1, 2 e 3, ACBr At revision: 20958 antes do AV, 2 informações: anexo tela1 com erro na fixação dos atributos em ACBrNFe1.Configurações.Geral.SSLs, acusa valor não declarado; só fixando no componente; tentando usar OpenSSL, gera erro de cara, conf. tela2; as dll's carregadas em \Windows\SysWow64 foram da versão 1.1.1.4; substitui-as pelas da versão 1.1.1.7 mas o erro persistiu; eu uso OpenSSL desde a nfe-v4; compilei minha app usando cryWinCrypt, httpWinHttp, libWinCrypt, xsLibXml2, que deu certo no exemplo antes; executei consulta ao ambiente, consulta de nfe usando xml, consulta de nfe informando chave: tudo ok emitindo uma nfe e debugando conf. sua instrução, parou na linha 635 da ACBrDFeXsLibXml2 (tela3) e daí não dá prá seguir; gravei o xml sem assinatura da nfe que tentei emitir - anexo; anexo tela 0 c/ AV rodando app direto; vou usar o exemplo e te informo os resultados; obrigado por seu empenho Otavio Benini 225.xml Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 21, 2020 Author Usuários SAC Report Share Posted November 21, 2020 continuando anexo tela4 com dados das variáveis envolvidas na linha 635 antes de debuga-la anexo xml gerado no exemplo obrigado Otavio Benini 225-env-lot.xml 351000148805881-pro-rec.xml Link to post Share on other sites
Juliomar Marchetti 3,856 Posted November 23, 2020 Report Share Posted November 23, 2020 Bom dia. como ficou marcado as opções do instalador para copiar as dll para você usar? ele copia para o diretorio do windows ou para a pasta do delphi? Juliomar Marchetti Ajude o Projeto ACBr crescer - Assine o SAC skype: juliomar telegram: juliomar http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Link to post Share on other sites
Italo Giurizzato Junior 9,891 Posted November 23, 2020 Report Share Posted November 23, 2020 Bom dia Otavio, Na primeira imagem que você anexou que ocorre erro de valor não declaro basta você incluir no Uses dessa Unit a unidade: ACBrDFeSSL. Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 23, 2020 Author Usuários SAC Report Share Posted November 23, 2020 3 horas atrás, Juliomar Marchetti disse: Bom dia. como ficou marcado as opções do instalador para copiar as dll para você usar? ele copia para o diretorio do windows ou para a pasta do delphi? bom dia, Italo copia para pasta do Windows, neste caso SysWow64 3 horas atrás, Italo Giurizzato Junior disse: Bom dia Otavio, Na primeira imagem que você anexou que ocorre erro de valor não declaro basta você incluir no Uses dessa Unit a unidade: ACBrDFeSSL. eu declarei essa unit em Uses, mas o AV se repetiu... uma diferença que, aparentemente, não tem efeito prático é como se constroe o xml meu app foi baseado no exemplo existente em 2009 e de lá prá cá só fiz pequenos ajustes, a estrutura principal não mudou nessa ocasião, consultei o exemplo e não me lembro dele ter a estrutura que tem hoje prg exemplo: // declara colletions NotaF: NotaFiscal; Produto: TDetCollectionItem; Volume: TVolCollectionItem; Duplicata: TDupCollectionItem; ObsComplementar: TobsContCollectionItem; ObsFisco: TobsFiscoCollectionItem; ... // usa collection NotaF := ACBrNFe1.NotasFiscais.Add; NotaF.NFe.Ide.natOp := 'VENDA PRODUCAO DO ESTAB.'; Produto := NotaF.NFe.Det.New; Produto.Prod.nItem := 1; // Número sequencial, para cada item deve ser incrementado Duplicata := NotaF.NFe.Cobr.Dup.New; Duplicata.nDup := '001'; // finaliza ACBrNFe1.NotasFiscais.GerarNFe; meu app: // monta o xml with ACBrNFe1.NotasFiscais.Add.NFe do begin with dtmLib do begin Ide.cNF := Calc_cNF(dtmPed.cdsCabCODIGO.Value); Ide.natOp := 'VENDA DE MERCADORIAS ADQUIRIDAS DE TERCEIROS'; Ide.indPag := ipPrazo; Ide.modelo := strTOint(cdsEmpNFE_MODELO.Value); Ide.serie := strTOint(cdsEmpNFE_SERIE.Value); Ide.nNF := StrToInt(NumNFe); Ide.dEmi := Now; Ide.dSaiEnt := Now; Ide.tpNF := tnSaida; Ide.tpEmis := teNormal; // finaliza ACbrNF1.Enviar(nNFe); usei GerarNFe, como no exemplo, mas o AV se repete Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 30, 2020 Author Usuários SAC Report Share Posted November 30, 2020 boas tardes, pessoal alguma novidade sobre o problema que relatei ? obrigado Otavio Benini Link to post Share on other sites
Juliomar Marchetti 3,856 Posted November 30, 2020 Report Share Posted November 30, 2020 Seria necessário mexer e entender seu fonte mas é algo nele que está ocorrendo pois se rodarmos o exemplo do svn o erro não ocorre correto? Juliomar Marchetti Ajude o Projeto ACBr crescer - Assine o SAC skype: juliomar telegram: juliomar http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted November 30, 2020 Author Usuários SAC Report Share Posted November 30, 2020 isso Juliomar meu fonte roda sem problemas com ACBr atualizado antes de 21/09/20 por favor, leia o histórico inicial, tá tudo lá, a história toda Link to post Share on other sites
BigWings 3,990 Posted November 30, 2020 Report Share Posted November 30, 2020 Será o mesmo caso deste tópico? BigWingsAjude o Projeto ACBr crescer - Assine o SAC Link to post Share on other sites
Usuários SAC Otavio Benini 17 Posted December 2, 2020 Author Usuários SAC Report Share Posted December 2, 2020 Em 30/11/2020 at 17:35, BigWings disse: Será o mesmo caso deste tópico? bom dia, BigWings deletei .dproj e dproj.local: não resolveu, o AV persiste, no mesmo ponto fora da minha unit Link to post Share on other sites
EMBarbosa 3,384 Posted December 10, 2020 Report Share Posted December 10, 2020 Em 02/12/2020 at 11:09, Otavio Benini disse: bom dia, BigWings deletei .dproj e dproj.local: não resolveu, o AV persiste, no mesmo ponto fora da minha unit Bom dia Otavio. Se você criar uma nova aplicação e colocar o seu código nela, gera o AV? []'s Elton Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas. Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh. Link to post Share on other sites
Recommended Posts