Ir para conteúdo
  • Cadastre-se

Matheus Rodrigo Koch

Membros
  • Total de ítens

    19
  • Registro em

  • Última visita

Tudo que Matheus Rodrigo Koch postou

  1. Boa tarde Italo, Realizei as alterações que você comentou acima e funcionou normalmente agora. Pode fechar o tópico. Obrigado pela atenção!
  2. Bom dia Italo, Conforme solicitado estou enviando as configurações dos componentes ACBrNFSe e ACBrNFSeX nas imagens em anexos(Config_ACBrNFSe.png e Config_ACBrNFSeX.png). O erro que ocorre é o seguinte: --------------------------- Debugger Exception Notification --------------------------- Project NFSeX.exe raised exception class EOleException with message 'servico_consultar_nfse_envio_v03.xsd#/schema The '' namespace provided differs from the schema's 'http://www.ginfes.com.br/servico_consultar_nfse_envio_v03.xsd' targetNamespace'. --------------------------- Estou colocando em anexo também um print da linha na qual o erro está ocorrendo(Erro_ACBrNFSeX.png). Sobre os arquivos SOAP, pelo fato do componente ACBrNFSeX não chegar a se comunicar com o WS eu não consegui pegar o arquivo, apenas consegui o do componente ACBrNFSe que estou enviando em anexo. SOAP_ACBrNFSe.zip
  3. Boa tarde, Hoje utilizamos o componente do ACBrNFSe para consultar as NFS-es por período nas cidades que disponibilizam o serviços, porém como o mesmo foi descontinuado resolvemos atualizar para utilizar o ACBrNFSeX. Para validar realizar o teste com as cidades de Santos, Mauá, São Caetano do Sul e São Bernardo do Campo, porém com todas as cidades ocorre erro no método function TDFeSSLXmlSignMsXml.Validar. Para confirmar que o XML estava sendo gerado corretamente eu gerei o XML utilizando o componente do ACBrNFSe(que hoje funciona a consulta de NFS-e) e também gerei o XML utilizando o ACBrNFSeX(que está ocorrendo erro), porém os 2 XML's estão identicos, apenas há uma alteração em relação as datas consultadas e a assinatura, em anexo estou enviando os 2 XML's. A minha principal dúvida no momento seria se o componente ACBrNFSeX já está preparado para realizar a consulta de NFS-es por período ou ainda será necessário algumas alterações, visto que aparentemente todas as consultas serão validadas diretamente pelo Schema. Caso seja necessário mais alguma informação peço que solicitem e irei disponibilizar assim que possível. XML_ACBrNFSe.xml XML_ACBrNFSeX.xml
  4. Bom dia, No decorrer da ultima semana estive realizando testes de emissão da NFS-e para cidade de Serra - ES(padrão SMARAPD) e identifiquei que o valor da tag <impostoretido> está sendo preenchido incorretamente. Hoje o ACBr está gerando essa tag da seguinte forma <impostoretido>True</impostoretido> para quando há imposto retido e <impostoretido>False</impostoretido> quando não há, porém ao receber o processamento do lote RPS enviando a tag como True identifiquei que ela foi processada como False. Olhando a documentação deles fala o seguinte sobre esse campo: Desta forma realizei o teste enviando como "true" com o T minúsculo e funcionou corretamente. Infelizmente parece algo tolo que deveria ser tratado no próprio WS da prefeitura porém eles não realizam esse tratamento. Em anexo estou enviando o arquivo pnfsNFSeW_SMARAPD com a alteração para preencher a tag <impostoretido> com os valores em minúsculo. pnfsNFSeW_SMARAPD.pas
  5. Bom dia, Estive realizando a implementação da NFS-e para cidade de Serra/ES e reparei que o leitor para NFS-e está preparado apenas para ler o retorno do WS, porém a leitura do layout antes de ser enviado/processado ainda não consegue ler. Aproveitando a situação e a necessidade de realizar a leitura do layout antes de ser enviado, realizei a implementação da leitura do mesmo, Em anexo estou deixando o pnfsNFSeR.pas onde implementei o método LerNFSe_Smarapd_AntesEnviar que fica responsável pela leitura do layout SmarAPD antes de ser enviado ao WS Municipal. pnfsNFSeR.pas
  6. Boa tarde, Hoje temos implementado a propriedade "MarcaDaguaMSG", onde podemos alterar o texto que será impresso na marca d'agua, somente para a geração da DANFE, porém surgiu a necessidade de implementar a propriedade para geração da DACTE e da DAMDFE. Realizei a implementação das propriedades para ambos DF-es e estou anexando os fontes juntamente com os arquivos .fr3. Foi necessário realizar alterações no arquivos .fr3 pois haviam validações que ocultavam a marca d'agua quando a impressão não fosse de um documento em homologação. Qualquer dúvida estou a disposição para esclarecer. DAMDFe_Paisagem.fr3 DAMDFe_Retrato.fr3 DACTE_PAISAGEM.fr3 DACTE_RETRATO.fr3 ACBrCTeDACTEFR.pas ACBrMDFeDAMDFEFR.pas
  7. Bom dia Elton, Acredito que ao depurar a rotina TLeitor.rExtrai você irá perceber que no decorrer do processo da extração das notas a rotina vai ficando cada vez mais lenta, pois cada vez mais o loop é repetido. Abaixo segue imagem do loop que estou me referindo: Podemos identificar que ele utiliza o parâmetro "item" para determinar o fim do meu loop, porém cada vez mais o valor desse parâmetro aumenta e, em casos com muitas notas, o desempenho da rotina se torna lento. No loop ele vai apagando de nota em nota até chegar na nota ao qual o meu parâmetro "item" se refere, utilizando a rotina que lhe enviei ele vai direto a nota em que o parâmetro se refere, poupando assim tempo e principalmente processamento.
  8. Realizei o teste e agora está funcionando normalmente e a velocidade de processamento está extremamente rápida também, muito bom. Em questão ao rExtrai eu utilizo direto o retorno do Web Service para testar, onde utilizo a seguinte rotina: Acredito que carregando o XML que lhe enviei para um TStringList e atribuindo a propriedade TStringList.Text ao FNotas.Leitor.Arquivo você consiga simular a situação, porém agora não me recordo se é necessário que o XML já tenha passado pela conversão dos caracteres, mas acredito que sim.
  9. Boa tarde Elton, De nada, estamos aqui para sempre deixar o componente cada ver melhor. Em relação as suas alterações temos um problema, no fonte ACBrNFSeWebService.pas temos o seguinte trecho de código que foi alterado: O problema é que ele não está realizando da mesma forma que era anteriormente a conversão, na verdade este trecho de código deveria estar desta forma: Realizei esta alteração e ao realizar os teste funcionou normalmente. Em relação ao TLeitor.rExtrai é possível realizar o teste com o XML que foi enviado, onde se for utilizado a rotina que temos atualmente no ACBr veremos que a cada loop executado o processo fica mais lento, pois o mesmo precisa apagar cada vez mais texto. Utilizando o que lhe enviei conseguimos guardar a posição do último XML que foi extraído, assim apagamos direto na posição dele para que assim o próximo já seja o que desejamos. Não sei se fui claro, qualquer coisa pode perguntar aqui que lhe respondo.
  10. Bom dia Italo, Nós partimos do princípio que as notas do emitente(prestadas) o cliente tem pois foi o mesmo quem gerou o XML da NFS-e, porém as notas tomadas o mesmo pode não ter o XML, por isso utilizamos para retornar as notas tomadas do CNPJ que estamos consultando. Atualmente a consulta que temos no ACBr é a "ConsultarNfsePorFaixa" onde temos que passar um faixa de números para receber o retorno, que acreditamos ser mais complicado de ter somente as NFS-e do mês ao qual o ISS será declarado. Não sei se ficou claro, mas qualquer coisa é só perguntar que lhe respondo.
  11. Bom dia Italo, Realizei alterações em alguns arquivos INI, segue detalhes sobre as alterações: WebISSv2(Alterada a SOAPAction da consulta de NFS-e para retornas as NFS-es tomadas) SimplISS(Altertado para utilizar o certificado e assinar na consulta de NFS-e) Cidades.INI(Adicionadas as cidades de Brusque, Mogi Mirim, Dona Emma e alterado também o link da busca de NFS-e da cidade de Belem). Cidades.ini SimplISS.ini WebISSv2.ini
  12. Certo, Já criei o tópico Irei adicionar os arquivos INI no tópico mencionado pelo @Italo Jurisato Junior para facilitar. Peço desculpas pela confusão, sou novo aqui no fórum e não conheço sobre os tópicos padrões.
  13. Olá, Estamos utilizando o ACBrNFSe para a busca de NFS-e em diversas cidade e nos deparamos com alguns layouts que o leitor não estava conseguindo extrair os XML's. Realizamos a implementação para as seguintes cidades: Blumenau(Leitor) Joinville(Leitor) Caxias do Sul(Leitor) Osasco(Leitor) Também foram realizadas alterações em alguns arquivos INI para que possamos realizar a busca de NFS-e, sendo eles: WebISSv2(Alterada a SOAPAction da consulta de NFS-e para retornas as NFS-es tomadas) SimplISS(Altertado para utilizar o certificado e assinar na consulta de NFS-e) Cidades.INI(Adicionadas ascidades de Brusque, Mogi Mirim, Dona Emma e alterado também o link da busca de NFS-e da cidade de Belem). Obs: estou com um outro tópico aberto onde realizamos a otimização do leitor do ACBr, de forma que todas as nossas implementações já estão utilizando o mesmo, assim estou enviando junto o fonte onde implementamos a otimização do StringReplace(uStringReplaceACBR.pas). WebISSv2.ini Cidades.ini SimplISS.ini ACBrNFSeWebServices.pas pnfsLerListaNFSe.pas pnfsNFSeR.pas pcnLeitor.pas uStringReplaceACBR.pas
  14. Olá Elton, Certo, irei abrir um novo tópico com as alterações relacionadas a NFS-e, porém acaba sendo complicado de fazer um tópico somente para cidade de Joinville, pois já realizamos diversas alterações no leitor de NFS-e para diversas cidades.
  15. Bom dia, Segue projeto. Lembrando que o XML deve estar na mesma pasta do .exe. StringReplace otimizado.rar
  16. Bom dia Elton, Alterei o HTMLStringReplace para utilizar o ReplaceString e estou enviando novamente os fontes. Estou tentando enviar um projeto que fiz para testar essa rotina, nele é possível verificar o tempo de processamento de como está a rotina hoje e o tempo de processamento com o HTMLStringReplace, porém ele zipado tem 9,17 MB, como poderia enviar isso para vocês? Pois facilitaria bastante nos testes. Estou enviando logo em seguida o XML com o nome "Retorno.zip" pois o post só permite 2 MB de arquivos por vez. pcnLeitor.pas pnfsNFSeR.pas pnfsConversao.pas pnfsLerListaNFSe.pas ACBrNFSeWebServices.pas ACBrDFeXsLibXml2.pas ACBrUtil.pas Cidades.ini SimplISS.ini WebISSv2.ini Segue o XML zipado. Retorno.zip
  17. Boa tarde Juliana, Em uma consulta que retornava cerca de 1500 notas, utilizando o leitor da forma que estava se passavam 6 horas e ainda não terminava de extrair o XML, já com as alterações realizadas levou cerca de 2 minutos. Confesso que olhando assim parece até uma mentira, porém realmente a rotina estava extremamente lenta. A busca era realizada no Web Service da cidade de Porto Alegre.
  18. Bom dia pessoal, Me deparei com uma situação na busca de NFS-e da cidade de Porto Alegre em que o leitor do ACBr estava demorando demais para ler o arquivo de retorno do Web Service. Foram identificadas duas rotinas que estavam extremamente lentas, a primeira seria na primeira linha da função TNFSeWebService.ExtrairRetorno, onde ele realizava o seguinte comando: Ele ficava horas rodando esta linha devido ao tamanho do XML de retorno, a partir disso foi implementado a rotina HTMLStringReplace para realizar o mesmo comando porém através de uma TStringList, de forma que ele realizasse o comando linha por linha e o resultado foi impressionante. Esta rotina está no fonte A segunda rotina seria o TLeitor.rExtrai, onde sempre que ele é chamado dentro da rotina TRetornoNFSe.LerXml é passado um parâmetro "item" e que com esse parâmetro toda vez que a função é chamada ele vai apagando todo meu XML de retorno desde o início até chegar no meu XML correspondente ao meu parâmetro "item". Com isso foi implementado um novo parâmetro chamado "UsarCache" onde quando é passado como TRUE a rotina armazena a posição final do meu último XML já extraído e na próxima vez que o rExtrai for chamado com o parâmetro como TRUE ele irá apagar o meu XML de retorno até a posição que tenho armazenada, assim sendo muito mais rápido do que a forma que ocorria anteriormente. Obs: Temos algumas alterações também no leitor para extrair notas de algumas cidades como Joinville por exemplo, onde o leitor não conseguia extrair o XML, e estão no mesmo fonte, assim estou devolvendo tudo, hoje já utilizamos e está funcional sem problema algum. Também estou enviando alguns ArqINI que realizamos alterações e funcionam a consulta de NFS-e. A função HTMLStringReplace está dentro do fonte uStringReplaceACBR.pas. pcnLeitor.pas pnfsLerListaNFSe.pas pnfsConversao.pas ACBrNFSeWebServices.pas ACBrUtil.pas pnfsNFSeR.pas WebISSv2.ini SimplISS.ini Cidades.ini uStringReplaceACBR.pas
×
×
  • 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.