Ir para conteúdo
  • Cadastre-se

Carlos Alberto Fitl

Membros
  • Total de ítens

    249
  • Registro em

  • Última visita

Tudo que Carlos Alberto Fitl postou

  1. Olá, eu atualizei o ACBrHTMLtoXML, eu corrigi para capturar a modBC, pegar a alíquota do ICMS, o CST correto e pegar o vBCST, pICMSST, vICMSST, modBCST. Eu gostaria que o pessoal do ACBr avaliasse a alteração e disponibilizasse no SVN. Anexo ACBrHTMLtoXML ACBrHTMLtoXML.rar Att. Carlos Fitl.
  2. Olá, eu atualizei o ACBrHTMLtoXML, eu corrigi para capturar a modBC, pegar a alíquota do ICMS, o CST correto e pegar o vBCST, pICMSST, vICMSST, modBCST. Eu gostaria que o pessoal do ACBr avaliasse a alteração e disponibilizasse no SVN. Anexo ACBrHTMLtoXML ACBrHTMLtoXML.rar Att. Carlos Fitl.
  3. Esta semana eu tive a necessidade de mudar o tipo de cobrança no ACBrBoleto e eu vi que eu preciso passar o tipo da cobrança para ele mudar o número do banco, então eu criei no no ACBrBoleto o mesmo recurso que existe no pcnconversao, um Type TipoCobranca onde você passa o número do banco e ele converte para o tipo e vice versa. Eu achaei redundante pois tive que reescrever duas funções já existentes no pcnconversao para o ACBrBoleto (StrToEnumerado e EnumeradoToStr) e descentralizou as funções de conversão, eu não escrevi em pcnconversão porque ela só instala se o ACBrNFe for instalado e se alguem quiser instalar somente o ACBrBoleto vai dar erro na instalação do componente. Eu tinha colocado no pcnconversao mas retirei e coloquei no ACBrBoleto, avalie a alteração e se tiver um local proprio para colocar esta função me avise que eu altero. Segue abaixo a alteração que eu fiz para avaliação e disponibilizar no SVN. Unit ACBrBoleto ACBrBoleto.rar Att. Carlos Fitl.
  4. Eu capturo os protocolos e status desta forma: Protocolo Envio.: ACBrNFe1.WebServices.Retorno.Protocolo; Status de Envio: ACBrNFe1.WebServices.Retorno.cStat; Protocolo Cancelamento: ACBrNFe1.WebServices.Cancelamento.Protocolo Status Cancelamento....: ACBrNFe1.WebServices.Cancelamento.cStat; Protocolo Inutilização: ACBrNFe1.WebServices.Inutilizacao.Protocolo; Status Inutilização....: ACBrNFe1.WebServices.Inutilizacao.cStat; Protocolo Envio DPEC: ACBrNFe1.WebServices.EnviarDPEC.nRegDPEC Status DPEC............: ACBrNFe1.WebServices.EnviarDPEC.cStat; O recibo eu pego assim: ACBrNFe1.WebServices.Retorno.Recibo Estão corretos desta forma? Att. Carlos Fitl.
  5. Se não for pedir muito, como você pega os protocolos de Inutilização, e de EnvioDPEC e recibo. Obrigado. Att. Carlos Fitl.
  6. Este método ACBrNFe1.WebServices.Retorno.Protocolo é o mesmo que o ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].nProt, qual a diferença. Att. Carlos Fitl.
  7. Como você captura o retorno do protocolo, é assim: ACBrNFe1.WebServices.Retorno.Protocolo; Att. Carlos Fitl.
  8. Quando você manda enviar ele já imprime automatico ou você imprime assim: ACBrNFeDANFERave1.ImprimirDANFE; Att. Carlos Fitl.
  9. Esse é problema, o processo da certo e é retornado o protocolo. Eu fiz uma mudança em meu código e acho que resolveu, eu não sei se é isso mesmo, pelo menos aparentemente esta retornando o protocolo correto, mas poderíamos testar mais a fundo. Eu envio desta forma: ACBrNFe1.NotasFiscais.Clear; ACBrNFeDANFERave1.MostrarPreview := false; GerarNFe; Isso ocorre quando eu envio a NF-e e não mando imprimir automaticamente: ACBrNFe1.Enviar(_tlote.fieldbyname('lote').AsString, false); Eu imprimia manualmente: ACBrNFeDANFERave1.ImprimirDANFE; Ai eu comecei a enviar assim: ACBrNFe1.Enviar(_tlote.fieldbyname('lote').AsString, true); onde ele envia e verifica se o processo deu certo e teve o retorno do protocolo e é impresso automaticamente, e após isso o erro parou. Eu gostaria que alguém mais testasse se realmente é isso. Att. Carlos Fitl.
  10. Olá juaumkiko eu faço da mesma forma como você faz, mas o problema é quando eu envio e em seguida já tenho o retorno, de vez enquando ele me retorna o protocolo de outra NF-e e não a que eu acabei de enviar. Pesquisa em seu banco de dados de tem alguma NF-e com mesmo nº. de protocolo. Att. Carlos Fitl.
  11. Pessoal eu relatei este problema no MANTIS, assim que me responderem eu encaminho a resposta neste mesmo post. Se alguem quiser acompanhar é o caso nº. 00978 (Sem protocolo ou protocolo errado) do Mantis. Att. Carlos Fitl.
  12. É exatamente o que acontece comigo, mas utilizando o componente do ACBrNFe.
  13. Cara eu continuo com o problema.
  14. Eu identifiquei o seguinte; Na implementação que foi comentada onde ocorria o erro de acesso violation ocorre porque o objeto esta sendo liberado da memoria mais de uma vez, como o objeto não existe mais não tem como dar um free novamente. O objeto estava sendo liberado na memoria na linha 1184 da unit ACBrNFeWebServices: Obs:(Este trecho de código foi comentado para não ocorrer mais o erro de acesso violation). if assigned(TACBrNFe( FACBrNFe ).WebServices.Retorno.NFeRetorno) then TACBrNFe( FACBrNFe ).WebServices.Retorno.NFeRetorno.Free; E o objeto esta sendo liberado da memoria novamente na linha 1420 da unit ACBrNFeWebServices: if assigned(FNFeRetorno) then FNFeRetorno.Free; Se comentarmos a linha 1420 e 1421 e tirar o comentário da linha 1184 e 1185? Att. Carlos Fitl.
  15. Ok, vou ver se consigo resolver o problema, se resolver eu posto aqui. Obrigado pela atenção. Att. Carlos Fitl.
  16. Como nós podemos resolver este problema, na atualização que eu fiz hoje (revisão 2278) foi comentado o trecho que estava ocorrendo o erro de acesso violation: if assigned(TACBrNFe( FACBrNFe ).WebServices.Retorno.NFeRetorno) then TACBrNFe( FACBrNFe ).WebServices.Retorno.NFeRetorno.Free; Pois agora vai voltar o problema de pegar o protocolo de outra nota, lembrando que não são todas as notas que acontece isso, se você fazer o teste no exemplo do ACBrNFe o erro não ocorre pois isso não ocorre toda horas, pelo que eu testei isso ocorre quando você começa a enviar um fluxo de notas muito grande. Alguém mais tem relatos deste erro, façam uma pesquisa no banco de dados de vocês a procura de notas com o mesmo protocolo? Att. Carlos Fitl.
  17. O problema é que não ocorre em todas as notas enviadas, mas em algumas. Eu envio desta forma: ACBrNFe1.Enviar(_tlote.fieldbyname('lote').AsString, false); E aguardo o retorno e pego o protocolo: ACBrNFe1.WebServices.Retorno.Protocolo; Mas tem hora que retorna o protocolo de uma nota anterior a que foi enviada. Por isso o anfm fez aquela implementação, para matar o objeto da memoria, pois eu também estou achando que ele esta pegando o valor de um objeto já criado. E eu achei que isso só acontecia comigo, então quando eu coloquei este poste uma outra pessoa relatou que isso também esta acontecendo com ele, mas usando o ACBrMonitor. Att. Carlos Fitl.
  18. Se comentar estas linha o problema resolve e volta o problema do retorno de protocolo de notas erradas ou em branco. O que precisa ser feito é resolver o problema do dois, senão você desveste um santo para cobrir outro.
  19. Sim, ele é o causador do problema, o anfm fez esta alteração ontem para ver se resolvia o problema de as vezes retornar o protocolo de outra NF-e ou o protocolo em branco, após isso começou a ocorrer o erro.
  20. Sim, no demo ocorre o mesmo erro, é só você enviar uma nota depois enviar outra que ocorre o erro. Segue em anexo o erro que ocorre, repare também o processo do executável, a cada nota enviada o quanto ele aumenta, isso ocorre por que esta tendo vazamento de memoria no componente. Eu já relatei isso em outro post mas acho que ninguém testou. Imagem 1 Imagem 2 Att. Carlos Fitl.
  21. Verdade Mayworm, pois como o index inicia no 0 (zero) e no memo possui 10 email o seu for não vai de 0 a 10 e sim de 0 a 9, por isso precisa ser Count -1.
  22. Olá a todos. Qual a maneira mais correta de pegar o digestvalue do retorno? Hoje eu pego assim: ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].digVal Mas quando não tenho o retorno da sefaz ocorre um erro. Eu tentei tratar assim: if(ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Count > 0)then _inserir.SQL.Add('digestvalue = ' + QuotedStr(ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].digVal) + ', '); Mas continua o erro, o digestvalue independentemente se a sefaz da um retorno ou não eu não consigo pegar o digestvalue? Não tem como pegar o digestvale da mesma forma como eu pego o recibo, protocolo entre outros: ACBrNFe1.WebServices.Retorno.Recibo ACBrNFe1.WebServices.Retorno.Protocolo ACBrNFe1.WebServices.Retorno.digval - Não tem como fazer desta forma? Att. Carlos Fitl.
  23. Olá anfm, após a atualização que você fez esta ocorrendo muito erro de acesso violation, eu fecho o sistema abro novamente envio uma nota e ao enviar a próxima ocorre o erro novamente. Com o meu fonte anterior sem esta nova implementação ele não da o erro.
  24. Por favor, poste aqui seu código inteiro e qual revisão do ACBrNFE você esta utilizando.
  25. Olá anfm, só para saber e para eu debugar meu código, o que foi alterado? Pois, assim eu posso efetuar os teste melhor.
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...