Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2909 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Estava observando em uma leitura de RPS que alguns dados não vinham corretos. Pesquisando descobri que o provedor era identificado como sendo o local onde o serviço foi prestado e não onde foi gerado o lote RPS (Curitiba no caso). Pois bem, no código abaixo dá pra ver que realmente isso acontece. Primeiro tenta o orgão gerador, depois a tag SERVICO e por último a tag PRESTADOR DE SERVICO. No meu XML ocorre primeiro a tag servico e depois prestador de servico, isso gera um erro pois identifica o municipio do cliente como "emissor" da nota no que se refere ao provedor

function TNFSeR.LerNFSe: Boolean;
var
  ok: Boolean;
  CM: String;
  DataHorBR: String;
begin
  if FProvedor = proNenhum then
  begin
    if (Leitor.rExtrai(1, 'OrgaoGerador') <> '') then
    begin
      CM := Leitor.rCampo(tcStr, 'CodigoMunicipio');
      FProvedor := CodCidadeToProvedor(CM);
    end;

    if FProvedor = proNenhum then
    begin
      if (Leitor.rExtrai(1, 'Servico') <> '') then
      begin
        CM := Leitor.rCampo(tcStr, 'CodigoMunicipio');
        FProvedor := CodCidadeToProvedor(CM);
      end;
    end;

    if FProvedor = proNenhum then
    begin
      if (Leitor.rExtrai(1, 'PrestadorServico') <> '') then
      begin
        CM := OnlyNumber(Leitor.rCampo(tcStr, 'CodigoMunicipio'));
        if CM = '' then
          CM := Leitor.rCampo(tcStr, 'Cidade');
        FProvedor := CodCidadeToProvedor(CM);
      end
    end;

    if FProvedor = proNenhum then
      FProvedor := FProvedorConf;
  end;

 

 

 

  • Membros Pro
Postado

Eu posso passar a correção que fiz e funcionou 100% aqui mas minha dúvida é saber porque estava daquela forma, tinha algum motivo? Isso para não provocar outro erro, arrumar uma situação e estragar outra. De qualquer forma vou atualizar os fontes, enviar a correção e vocês podem avaliar.

  • 2 semanas depois ...
  • Este tópico foi criado há 2909 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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...