Ir para conteúdo
  • Cadastre-se

Leonardo Gregianin

Membros
  • Total de ítens

    712
  • Registro em

  • Última visita

Tudo que Leonardo Gregianin postou

  1. Aceitar ou não fica a cargo dos mantenedores do projeto.
  2. Boa tarde, Ao testar o cancelamento de NFSe em ambiente de homologação no provedor ISSNet, o provedor retorna mensagem de erro dizendo que o código da cidade do envio é diferente do código do cancelamento. O que acontece é que em ambiente de homologação o provedor ISSNet obriga a passar o código da cidade número "999" porém a cidade no XML de retorno da prefeitura está o código normal da cidade, ou seja, erro do provedor! Para corrigir isso, fiz uma condição para trocar a cidade quando está em ambiente de homologação: if (TNFSeCancelarNfse(Self).FCodigoMunicipio = '') then begin if (FProvedor = proISSNet) and (FConfiguracoes.WebServices.AmbienteCodigo = 2) then TNFSeCancelarNfse(Self).FCodigoMunicipio := '999' else TNFSeCancelarNfse(Self).FCodigoMunicipio:=TNFSeCancelarNfse(Self).FNotasFiscais.Items[0].NFSe.PrestadorServico.Endereco.CodigoMunicipio; end;
  3. Bom dia, Veja que já começaram a desenvolver este provedor. Infelizmente não tem uma fórmula mágica de incluir uma nova cidade, tem que estudar o componente e seguir o manual da prefeitura. Se tiver exemplos de xml da Nfse e do Rps fica mais fácil.
  4. Bom dia Ítalo, Alterei a ordem da leitura como você sugeriu e funcionou corretamente, será que não causaria problemas para outros provedores? Segue anexo a unit pnfsNFSeR.pas com algumas alterações para este provedor.
  5. Ítalo, Mesmo depois das alterações da rev. 5921 ainda não consegui ler corretamente as tags do xml. O problema é que o XML da NFSe tem a tag <Rps> e o código acaba entrando na função que lê o Rps e não a NFSe: function TNFSeR.LerXml: boolean; begin Result := False; if Pos('<Rps', Leitor.Arquivo) > 0 then Result := LerRPS; if Pos('<Nfse', Leitor.Arquivo) > 0 then Result := LerNFSe;
  6. Boa tarde, Fiz a inclusão no relatório do QuickReport da propriedade "NFSeCancelada" que já existe no componente ACBrNFSeDANFSeQR. Isto é útil pois alguns provedores não retornam a tag de cancelamento no xml e por isso eu passo a propriedade como True na impressão. E o código da unit ACBrNFSeDANFSeQRRetrato.pas ficaria assim: if (FNFSe.NfseCancelamento.DataHora<>0) or FNFSeCancelada then begin qrlMsgTeste.Caption := 'NFS-e CANCELADA'; qrlMsgTeste.Visible := True; qrlMsgTeste.Enabled := True; end;
  7. Boa tarde, A opção "Gerar e Enviar Lote - Sincrono" é utilizada por alguns provedores, a maioria dos provedores utiliza o envio Assíncrono. Consulte se seu provedor utiliza esta forma de envio/recebimento. Consulte na pasta dos schemas do seu provedor se o arquivo "servico_enviar_lote_rps_envio.xsd" está lá. Se ajudar, olhe
  8. A correção pode ser vista aqui:
  9. Tem que inserir o SysUtils no uses global da unit e inserir a diretiva de compilação {$IFDEF VER230} para não entrar no bloco quando for inferior ao Delphi XE2. Segue abaixo a correção: {$IFDEF DELPHI2009_UP} class function NotaUtil.LoadXML(CaminhoArquivo: string): TEncoding; var ArquivoXML: TStringList; begin ArquivoXML := TStringList.Create; ArquivoXML.LoadFromFile(CaminhoArquivo, TEncoding.UTF8); if ArquivoXML.Text <> '' then Result := TEncoding.UTF8 else begin {$IFDEF VER230} ArquivoXML.LoadFromFile(CaminhoArquivo ,TEncoding.ANSI); if ArquivoXML.Text <> '' then Result := TEncoding.ANSI else begin {$ENDIF} ArquivoXML.LoadFromFile(CaminhoArquivo, TEncoding.ASCII); if ArquivoXML.Text <> '' then Result := TEncoding.ASCII else begin ArquivoXML.LoadFromFile(CaminhoArquivo,TEncoding.Unicode); if ArquivoXML.Text <> '' then Result := TEncoding.Unicode else begin ArquivoXML.LoadFromFile(CaminhoArquivo ,TEncoding.UTF7); if ArquivoXML.Text <> '' then Result := TEncoding.UTF7 else Result := TEncoding.Default; end; end; {$IFDEF VER230} end; {$ENDIF} end; ArquivoXML.Free; end; {$ENDIF}
  10. No delphi 2010 ainda não tinha o TEncoding.ANSI. Tem que inserir uma diretiva para entrar no TEncoding.ANSI somente acima do delphi XE2.
  11. Esta é uma alteração feita hoje (rev 5921). Já existe a diretiva de compilação lá, deve estar errada.
  12. Qual o erro, poste o log.
  13. Seria interessante fazer no FastReport e no Fortes, já que o QuickReport já tem.
  14. Utilize "Gerar e Enviar Lote", funciona!
  15. medreis, A tarja de homologação para NFS-e não seria viável porque no XML não há uma tag específica para isso, diferentemente do que ocorre na NF-e que tem a tag tpAmb sendo 1 ou 2. Se criarmos uma variável no componente como a "NFSeCancelada" corre o risco do ambiente estar marcado como produção e o XML ser de homologação ou vice-versa. Alguns provedores como o ISSNet utilizam o código da cidade do prestador como "999" para diferenciar os ambientes. Nem o Quick e nem o Fortes tem a tarja de homologação.
  16. Marcio, Eu testei esta situação que você passou e realmente aconteceu. Fui ver como estava no componente da NF-e para FastReport e está exatamente igual, ou seja, com o mesmo erro. Estou iniciando com o FastReport, não tenho conhecimento para arrumar isso.
  17. Atualmente, o label "qrlDataServ.Caption" não recebe nenhum valor. Por enquanto, pode alterar a unit ACBrNFSeDANFSeQRRetrato.pas e passar qrlDataServ.Caption := DFeUtil.FormatDateTime(DateTimeToStr(FNFSe.DataEmissao)); E não encontrei nenhum xml com "Data do serviço".
  18. Ítalo, Preciso que atualize a função de leitura do XML da NFS-e para este provedor. Vou anexar o XML que foi feito download do site da prefeitura que contém duas notas e a unit que alterei pnfsNFSeR.pas. Eventualmente em seu teste terá que alterar o LoadFromFile do ACBr que está neste post: Obrigado desde já.
  19. Você precisa primeiro instalar o certificado .pfx no computador. Depois de instalado confira se realmente instalou: Painel de Controle, Opções de internet, Aba conteúdo, botão certificados. Se o certificado aparecer nesta lista, também deve aparecer na lista de certificados do exemplo da NFSe.
  20. Boa tarde, No FastReport não tem a tarja da NFSe Cancelada. Fiz a alteração nos fontes que estão anexo nos arquivos: ACBrNFSeDANFSeFRDM.dfm, ACBrNFSeDANFSeFRDM.pas e DANFSE.fr3. Faça um backup dos seus fontes da pasta ACBrNFSe e copie estes para ela. No seu fonte, após carregar o xml com "LoadFromFile" você deve alimentar a variável NFSeCancelada: ACBrNFSe1.NotasFiscais.LoadFromFile('numero-nfse.xml'); if ACBrNFSe1.NotasFiscais.Items[i].NFSe.NfseCancelamento.DataHora <> 0 then DANFSe.NFSeCancelada := True;
  21. Bom dia, Procure a seguinte linha na sua unit ACBRProvedorPVH: ConfigSchema.NameSpaceXML := 'http://www.abrasf.org.br/ABRASF/arquivos/'; O endereço deve estar "http://www.abrasf.org.br/ABRASF/arquivos" e o correto deve ser o encontrado na primeira linha do webservice em "targetNamespace", ou seja: targetNamespace="http://nfse.abrasf.org.br"
  22. Fiz a função, analisa por favor. unit ACBrDFeUtil: class function LoadXML(CaminhoArquivo: string): TEncoding; class function DFeUtil.LoadXML(CaminhoArquivo: string): TEncoding; var ArquivoXML: TStringList; begin ArquivoXML := TStringList.Create; ArquivoXML.LoadFromFile(CaminhoArquivo, TEncoding.UTF8); if ArquivoXML.Text <> '' then Result := TEncoding.UTF8 else begin ArquivoXML.LoadFromFile(CaminhoArquivo ,TEncoding.ANSI); if ArquivoXML.Text <> '' then Result := TEncoding.ANSI else begin ArquivoXML.LoadFromFile(CaminhoArquivo, TEncoding.ASCII); if ArquivoXML.Text <> '' then Result := TEncoding.ASCII else begin ArquivoXML.LoadFromFile(CaminhoArquivo,TEncoding.Unicode); if ArquivoXML.Text <> '' then Result := TEncoding.Unicode else begin ArquivoXML.LoadFromFile(CaminhoArquivo ,TEncoding.UTF7); if ArquivoXML.Text <> '' then Result := TEncoding.UTF7 else Result := TEncoding.Default; end; end; end; end; ArquivoXML.Free; end; unit ACBrNFSeNotasFiscais: var Encoding : TEncoding; {$IFDEF DELPHI2009_UP} Encoding := DFeUtil.LoadXML(CaminhoArquivo); {$ENDIF} ArquivoXML := TStringList.Create; ArquivoXML.LoadFromFile(CaminhoArquivo {$IFDEF DELPHI2009_UP},Encoding{$ENDIF}); Result := True;
  23. Não seria isso: ACBrNFSe1.Configuracoes.WebServices.Visualizar := True;
  24. Olhe este post: Ao implementar o provedor de Porto Velho/RO talvez com este post lhe ajude.
×
×
  • 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.