Ir para conteúdo
  • Cadastre-se

dev botao

Impressão DANFSe - Cariacica - ES (provedor SmarAPD)


Ver Solução Respondido por Italo Giurizzato Junior,

Recommended Posts

Postado (editado)

Bom dia.

Por solicitação de um cliente tornou-se necessário a impressão do município de prestação do serviço no DANFSe. Alterei as units ACBrNFSeXDANFSeRLRetrato (linha 404) e SmarAPD.Provider (linha 751) pois não identifiquei outra forma de forçar a impressão do campo.

Como não sei se isso pode trazer problemas para outros municípios e/ou provedores submito as mesmas para avaliação.

ACBrNFSeXDANFSeRLRetrato.pas SmarAPD.Provider.pas

Editado por pcbonetti
Postado

  NFSe.Configuracoes.Geral.Emitente.CNPJ      := DMPrincipal.cdsEmpresasCNPJ.AsString;
  NFSe.Configuracoes.Geral.Emitente.InscMun   := DMPrincipal.cdsEmpresasINSCRICAO_MUNICIPAL.AsString;
  NFSe.Configuracoes.Geral.Emitente.RazSocial := DMPrincipal.cdsEmpresasRAZAO_SOCIAL.AsString;
  NFSe.Configuracoes.Geral.Emitente.WSSenha   := DMPrincipal.cdsEmpresasSENHA_NFSE.AsString;
  NFSe.Configuracoes.Geral.Emitente.WSUser    := DMPrincipal.cdsEmpresasUSUARIO_NFSE.AsString;
 

Preencho esses dados. Pesquisando nas propriedades do emitente não localizei nada a respeito do município de prestação.

Postado
2 horas atrás, Juliomar Marchetti disse:

Chegou a usar a parte do componente de impressão pra informar os dados do emitente?

Me desculpe Juliomar, havia esquecido de te citar na resposta anterior

Postado
18 horas atrás, Juliomar Marchetti disse:

segue é o no componente de impressão

image.png

Ahhh!!! Você se refere ao DANFSe, né? Sim olhei aí também, mas no meu modo de entender esse é o município onde está localizado o prestador e não o "municpio de prestação do serviço".

  • Consultores
  • Solution
Postado

Boa tarde @pcbonetti,

Algumas considerações sobre a sua contribuição:

Na unit ACBrNFSeXLerXml temos o seguinte:

procedure TNFSeRClass.Configuracao;
begin
  FpQuebradeLinha := FpAOwner.ConfigGeral.QuebradeLinha;

  FpAOwner.ConfigGeral.ImprimirLocalPrestServ := not FpAOwner.ConfigGeral.Params.TemParametro('NaoImprimirLocalPrestServ');
end;

Ao ler o XML de uma NFSe é verificado se no arquivo ACBrNFSeXServicos.ini na seção da referida cidade contem o Params=NaoImprimirLocalPrestServ:.

Se tiver, o Local de Prestação de Serviço não vai ser impresso, caso contrario vai ser impresso.

No caso da cidade de Cariacica/ES não contem o campo Params, logo o local da prestação vai ser impresso.

Sendo assim a sua alteração na unit SmarAPD.Provider não se faz necessária.

 

A cidade de Cariacica/ES é atendida pelo provedor SmarAPD que se utiliza da versão 2.03 do layout da ABRASF, a unit ACBrNFSeXLerXml_ABRASFv2 é responsável pela leitura do XML da nota e temos o seguinte fragmento de código:

      CodigoMunicipio := ObterConteudo(AuxNode.Childrens.FindAnyNs('CodigoMunicipio'), tcStr);

      if CodigoMunicipio = '' then
        CodigoMunicipio := ObterConteudo(AuxNode.Childrens.FindAnyNs('MunicipioPrestacaoServico'), tcStr);

      MunicipioPrestacaoServico := '';

      if CodigoMunicipio <> '' then
      begin
        MunicipioPrestacaoServico := ObterNomeMunicipioUF(StrToIntDef(CodigoMunicipio, 0), xUF);
        MunicipioPrestacaoServico := MunicipioPrestacaoServico + '/' + xUF;
      end;

Como você pode ver que no final o campo MunicipioPrestacaoServico contem tanto o nome da cidade quanto a UF.

A alteração que você fez na unit: ACBrNFSeXDANFSeRLRetrato não faz muito sentido por dois motivos, primeiro que o campo UFPrestacao (usado pelo provedor Governa) não existe no layout da ABRASF logo ele sempre vai ser vazio, segundo, se existisse a impressão ficaria errada (Cariacica/ES - ES).

    rllMunicipioPrestacaoServico.Caption := ACBrStr(Servico.MunicipioPrestacaoServico) + ' - ' + ACBrStr(Servico.UFPrestacao);

 

Por fim:

Você tem fontes do ACBr com alterações locais?
Verifica se não tem nenhuma unit do ACBr com uma bolinha vermelha em seu ícone, caso afirmativo delete a unit.
Atualize todos os fontes de todas as pastas.
Reinstale o ACBr com a opção de apagar arquivos antigos marcada.
Compile a aplicação com a opção Build.
Por fim repita os testes.
 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 2 semanas depois ...
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.