Ir para conteúdo
  • Cadastre-se

thi4182

Membros
  • Total de ítens

    22
  • Registro em

  • Última visita

Tudo que thi4182 postou

  1. Olá, Ajustei a unit "Provedores/Infisc.LerXml.pas" para ler as tags rps, serierps e dataEmissaoRpsPapel na função "LerId" Segue em anexo arquivo ajustado. Obrigado Infisc.LerXml.pas
  2. thi4182

    Provedor Tecnos

    Olá, Precisei realizar três tipos de ajustes em dois fontes para que a leitura de xml/rps funcione corretamente: 1°: Incluído a função LerXmlRps no "ACBrDFe/ACBrNFSeX/Provedores/Tecnos.LerXml.pas", pois em algumas situações o xml tem tags antes da tag principal "InfDeclaracaoPrestacaoServico" e com isto foi tratado para verificar a existencia delas; 2°: O provedor gera a tag "BaseCalculoCRS" e com isto foi ajustado a unit "ACBrDFe/ACBrNFSeX/Base/Provedores/ACBrNFSeXLerXml_ABRASFv2.pas" para alimentar a variavél "BaseCalculo"; 3°: O provedor gera a tag "CodigoNBS" diferente do padrão "CodigoNbs" e com isto foi ajustado a unit "ACBrDFe/ACBrNFSeX/Base/Provedores/ACBrNFSeXLerXml_ABRASFv2.pas"; No primeiro ajuste também foi ajustado a unit "ACBrDFe/ACBrNFSeX/Base/Provedores/ACBrNFSeXLerXml_ABRASFv2.pas" para que a função "LerXmlRps" passe a ser "virtual"; Segue em anexo os dois arquivos. ACBrNFSeXLerXml_ABRASFv2.pas Tecnos.LerXml.pas
      • 1
      • Curtir
  3. Boa tarde @Italo Giurizzato Junior; Sobre o XML conter mais de um rps, realmente eu esqueci de considerar esta situação. Referente a leitura do XML eu vou te passar o contexto geral, pra ser se tu entende a minha situação e consiga me ajudar; Eu tenho uma aplicação Offline que monta o XML usando o ACBR e por arquivo texto preenche algumas informações e adiciona o XML gerado pelo próprio ACBR usando o comando "TACBrNFSeX.NotasFiscais.Items[0].GerarXML"; Na outra ponta tem o servidor que recebe esse arquivo e lê o XML dentro dele, mas por causa do layout, o ACBR não consegue ler o próprio XML que ele mesmo gerou. Foi mantido o padrão que o provedor já utilizava, mas o ajuste principal que "resolveria" meu problema esta todo concentrado na função "LerXmlRps". Acredito que se tem uma função para ler RPSs, porque não conseguir ler o gerado pelo próprio componente, sendo que são tratamentos prévios a rotina que era feita anteriormente, ou seja, o XML esperado anteriormente continuará funcionando. Se tiver uma outra opção para me passar ou me sinalizar algo que possa estar fazendo errado, agradeço a ajuda. Obrigado.
  4. thi4182

    Provedor Tecnos - Portão

    Ajustado leitura de xml do provedor. Hoje é utilizado o padrão abrasf v2 da unit ACBrNFSeXLerXml_ABRASFv2, e com os ajustes este processo passa a ser feito pela unit Tecnos.LerXml; Os ajustes consistem em utilizar os mesmos passos contidos até hoje no ACBrNFSeXLerXml_ABRASFv2 mas na function LerXmlRps foi adicionado tags que existem antes da tag principal "InfDeclaracaoPrestacaoServico". Em anexo unit Tecnos.LerXml já ajustada; Acredito que não se faz necessário mais o tratamento contido na unit ACBrNFSeXLerXml_ABRASFv2 -> TNFSeR_ABRASFv2.LerXmlNfse onde tem uma validação especifica para o provedor tecnos, já que após o ajuste ele tem a sua própria leitura de xml. Obrigado. Tecnos.LerXml.pas
  5. Olá, Ao imprimir o MDFe (TACBrMDFeDAMDFEFR.ImprimirDAMDFe) o nome do arquivo gerado na impressão fica com o nome do arquivo FR3 ao invés do nome informado na variável NomeDocumento da unit ACBrMDFeDAMDFEFR; Na impressão de CCe e NFe está configuração funciona, em cima disto eu realizei um ajuste na unit ACBrMDFeDAMDFEFR incluindo a validação onde se for preenchido o NomeDocumento, é alimentado o report frxReport.FileName. Coloquei em anexo o PAS para a analise ou caso tenha alguma outra forma de imprimir, fica a disposição. Obrigado. ACBrMDFeDAMDFEFR.pas
  6. Olá, Eu consegui realizar o envio do email, tanto pela microsoft quanto pelo gmail. A parte mais chata e o cadastro nos sites da microsoft e gmail; Segue link do site da microsoft, mas tem mais informações em postagens anteriores neste mesmo tópico; https://entra.microsoft.com/#home 1 - Registra um aplicativo; 2 - Adiciona as permissões de APIS dentro do aplicativo; 3 - Em autenticação tem que adicionar uma plataforma, eu usei "Aplicativos móveis e de área de trabalho"; 4 - Adicionar segredo; Eu posso ter esquecido de algo, mas como dito antes, tem mais detalhes postados anteriormente; Coloquei em anexo imagens de como está meu painel pra ajudar e não esquecer que depois de alterar o pas do acbrmail, tem que reinstalar o componente; Coloquei em anexo o fonte de um servidorresp pra ser utilizado no RedirectURI e ele tem que ser igual ao informado no aplicativo; Abaixo configuração de como está meu INI de configuração usado na demo já anexada no tópico; [Email] [email protected] FromName=Teste Host=smtp-mail.outlook.com Port=587 [email protected] Pass= TLS=1 SSL=0 SSLType=6 DefaultCharset=27 IdeCharset=15 [OAuth2] AccessTokenUrl=https://login.microsoftonline.com/common/oauth2/v2.0/token AuthorizationTokenUrl=https://login.microsoftonline.com/common/oauth2/v2.0/authorize ClientId="ID do aplicativo (cliente)" ClientSecret= RedirectURI=http://127.0.0.1:1500 Scope=https://outlook.office.com/SMTP.Send offline_access TimeOut=120000 Challenge=0 ServidorResp.zip
  7. Olá, Tenho um cliente de Portão que utiliza o provedor TECNOS e ele precisa que apareça a inscrição estadual no XML, com isso eu ajustei o arquivo "pnfsNFSeW_ABRASFv2.pas" linha 202, incluindo o provedor na validação já existente. Já emiti nota em produção com este ajuste e autorizou sem problemas. Segue em anexo PAS já corrigido, se alguém puder aplicar o ajuste, agradeço. pnfsNFSeW_ABRASFv2.pas
  8. O provedor Thema para Esteio mudou a url de http para https. Segue anexo ACBrNFSeXServicos.ini já ajustado. Obrigado. ACBrNFSeXServicos.ini
  9. Olá, Além dos ajustes citados anteriormente, eu precisei corrigir a descrição de duas naturezas da operação já tratadas no .pas do provider. Na função NaturezaOperacaoDescricao o "COM" e "SEM" está invertido, de acordo com o documento disponível na prefeitura. Segue o link com a tabela e em anexo o .pas ajustado. https://www.saoleopoldo.rs.gov.br/download_anexo/tabela de codigo de operacoes.pdf Obrigado Thema.Provider.pas
  10. Olá e desculpe a demora na resposta; A nota só autorizou quanto eu ajustei a tag para a com erro de português. Este problema é antigo do provedor THEMA, tem uma postagem aqui mesmo no fórum de 2016 onde outro usuário relatou este mesmo problema e ele teve que mexer nos fontes. Eu também contornei isto ajustando manualmente, mas ao migrar para o componente novo, resolvi repassar isto para que seja corrigido na origem.
  11. Olá, O provedor THEMA possuí a tag de construção civil sem o "S", então para preencher essas informação é preciso gerar a tag como "ContrucaoCIvil"; Eu realizei o ajuste no pas "Thema.GravarXml.pas" para ele gerar o XML corretamente, apenas criando o override do "GerarConstrucaoCivil"; Para ler a tag eu ajustei o "ACBrNFSeXLerXml_ABRASFv1.pas", onde no "LerConstrucaoCivil", se não foi encontrado nada pela tag padrão, busca pela tag sem o S; Em anexo os PAS com o ajuste Obrigado; Tiago ACBrNFSeXLerXml_ABRASFv1.pas Thema.GravarXml.pas
  12. Bom dia, Quando eu realizo uma consulta por faixa, na unit "ACBR\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas", na função "TACBrNFSeXWebservice.ExtrairRetorno",linha 846 quando ele faz o "Document.LoadFromXml(xRetorno);", dentro do LoadFromXml dá o erro "raised exception class EACBrXmlException with message 'EntityRef: expecting ';'" ao fazer o xmlParseDoc; Este problema ocorre porque o nome da empresa tem "&" e ao utilizar a opção de TratarXmlRetornado ele transforma o & para &; Se eu mantenho o & ele não gera erro, mas pra fazer este teste eu estou alterando direto no "ParseText" do ACBrUtil.XMLHTML; Não sei qual a melhor forma de corrigir este erro ou se tem algum tratamento ou opção que eu possa fazer; Segue anexo o xml de retorno se precisarem. Obrigado 000000000000001000000000000001000001-lista-nfse-fai.xml 000000000000001000000000000001000001-lista-nfse-fai-soap.xml
  13. Olá, Sobre as consultas do provedor, eu implementei a opção "ConsultarNFSePorFaixa" e em cima deste ajuste eu ajustei a configuração ConfigGeral.ConsultaPorFaixaPreencherNumNfseFinal para True; Também incluí a opção "TratarRetornoConsultaNFSeporFaixa" semelhante a já incluída anteriormente "TratarXmlRetornado" devido a tag a mais que o provedor gera; Obrigado IPM.Provider.pas
  14. Bom dia de novo, Esqueci de reportar no topico acima, que o envio e retorno, por parte do ACBR, está funcionando 100%, depois do ajuste que leva em consideração a tag "Item". Infelizmente por parte do provedor ainda tem problema, pois eles estão retornando a tag "CodigoPais" com o texto "BR" ao invés do código 1058, mas isso eu estou contornando facilmente ate eles corrigirem. Obrigado.
  15. Bom dia, Ao usar a opção de consulta, me retorna que o serviço não foi implementado: Requisição Ambiente: 2 Cidade : Novo Hamburgo/RS Provedor: IPM Versão: 2.04 Método Executado: ConsultarNFSePorFaixa Parâmetros de Envio Num. Ini. NFSe: 1 Num. Fin. NFSe: 2 Data Inicial : 30/12/1899 Data Final : 30/12/1899 Parâmetros de Retorno Sucesso : False Erro(s): Código : X999 Mensagem: Erro de Conexão: Serviço não implementado para este provedor. Correção: ---------
  16. Boa tarde a todos! Vou testar o problema da Tag item e retorno assim que possível. No treinamento que que teve dia 22/02 por parte da IPM eles passaram que tem disponível três eventos de consulta, que são: ConsultarNfseFaixaEnvio e ConsultarNfseServicoPrestadoEnvio, este tanto por período quanto singular. Coloquei em anexo os XMLs de exemplo que eles passaram... acredito que alguém com maior conhecimento interno no ACBR, possa incluir estes recursos com mais facilidade, por isso peço auxilio de todos. Avisando também que eles vão disponibilizar em breve (duvido muito) a consulta de notas por RPS. Obrigado. Consulta em faixa.txt Consulta singular e por período.txt
  17. Olá, Eu também estou homologando esta migração de provedor e enviei um e-mail pra eles falando sobre esta tag a mais que eles estão colocando no retorno e eles me responderam o seguinte: "esta tag é um retorno de nossa estrutura do framework interno e estamos trabalhando para que estas informações a mais não estejam nos retornos do padrão ABRASF. Em breve será corrigido." Ou seja, vamos ter que aguardar eles corrigirem isto pra que a integração fique 100%.
  18. Ao enviar um dos blocos do REINF que é assíncrono, exemplo R-4020, eu configuro, preencho, assino e faço o envio e depois de enviar eu pego o número do protocolo e fico em loop consultando até obter a resposta. Eu utilizo desta forma e a dúvida que eu fico é se no momento de enviar, já é feito uma consulta interna/automática onde internamente já fica o retorno final do evento, para que não seja necessário realizar um novo evento de consulta? Obrigado.
  19. Ao consultar um protocolo em que a resposta do lote é "2 - Lote processado com sucesso - Todos eventos processados com sucesso." a unit pcnReinfR9005.pas dá o erro "Project *.exe raised exception class EListError with message 'List index out of bounds (0)'." Identifiquei que o erro é na leitura da tag "totApurMen" que não é feito o .new antes de preencher ela. Coloquei em anexo ela ajustada, onde o erro não ocorre mais. Ajustei as outras tags semelhantes que estavam do mesmo jeito, mas as demais eu não consegui testar, por não ter exemplos. Obrigado pcnReinfR9005.pas
  20. Ajuste feito no delphi XE2 Segue anexo ACBrNFeDANFEFRDM.pas
  21. Olá, Dentro desta unit (ACBR\Fontes\ACBrDFe\ACBrNFe\DANFE\NFe\Fast\ACBrNFeDANFEFRDM.pas) eu precisei ajustar o "Create" dela para que o campo "DescricaoProduto" passe a suportar 10.000 caracteres contra os 2.000 anteriores. Esta necessidade veio em contra a um cliente preencher as tags da ARMA e esta informação deve aparecer na DANFE, junto a descrição do produto. Só que em um produto com 15 unidades, somente o texto que o ACBR cria para agregar a descrição, passa dos 2000; Aumentar para 10.000 já irá fazer ele suportar 50 tags de ARMA informadas, onde irá atender o porte da empresa, mesmo que o limite de tags ARMA seja 500; O ajuste foi feito na linha 404 onde passo de FieldDefs.Add('DescricaoProduto', ftString, 2000); para FieldDefs.Add('DescricaoProduto', ftString, 10000); Obrigado!
  22. thi4182

    ajuste na unit pnfsNFSeR.pas

    Realizei um ajuste na linha 1796 na function TNFSeR.LerNFSe_ABRASF_V2 para incluir um bloco do XML que atualmente não está sendo lido. Incluído texto: if Leitor.rExtrai(3, 'ContatoPrestadorServico') <> '' then begin NFSe.PrestadorServico.Contato.Telefone := Leitor.rCampo(tcStr, 'Telefone'); NFSe.PrestadorServico.Contato.Email := Leitor.rCampo(tcStr, 'Email'); end; // fim ContatoPrestadorServico Se alguém puder aplicá-la, agradeço. pnfsNFSeR.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.