Ir para conteúdo
  • Cadastre-se

dev botao

tag RazaoSocial do prestador em branco - reabrindo o assunto


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

Recommended Posts

Boa noite.

Há algum tempo abri um tópico sobre a não impressão da razão social do prestador na rotina padrão do componente.
Fiz um debug, conforme orientado e descobri que no xml que é enviado para o servidor da prefeitura, mesmo que eu associe conforme abaixo

             PrestadorServico.Endereco.CodigoMunicipio := edtCodCidade.Text;
             PrestadorServico.RazaoSocial := varconsulta.fieldbyname('razaosocial').AsString;
             PrestadorServico.NomeFantasia := copy(varconsulta1.fieldbyname('unidadenegocio').AsString,1,20);
             PrestadorServico.IdentificacaoPrestador.Cnpj  := edtEmitCNPJ.Text;

a tag PrestadorServico.RazaoSocial := varconsulta.fieldbyname('razaosocial').AsString  não é incluida o xml, conforme arquivo que anexo aqui.

Com isso, quando é gerado a impressão ou pdf, a tag esta´vazia.

É preenchida somente a razao social do tomador do serviço.

Como geralmente, envio o link do site da prefeitura e a emissão acontece por lá, esta informação é preenchida automaticamente através do cadastro do cnpj.

Como poderia resolver isso ?
 

33029UNICA-nfse.xml 20190602105-env-lot.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Daniel,

A maioria dos provedores seguem a versão 1 ou 2 do layout da ABRASF.

Nesse layout o que devemos gerar e enviar é o XML do RPS e não da NFS-e, pois esta é gerada pelo o Webservice do provedor e retornado caso as informações do RPS estejam corretas.

No XML do RPS só é enviando o CNPJ e Inscrição Municipal do Prestador e no XML da NFS-e temos os dados completos do mesmo.

Esse provedor deve estar com algum problema, pois não esta gerando no XML da NFS-e a Razão Social do Prestador e sim o Nome Fantasia.

Favor entrar em contato com o mesmo e relatar o problema.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Obrigado pelo retorno e explicação Ítalo.
Avaliei o xml do rps, e realmente só é enviado o cnpj e inscrição municipal do prestador:

<Prestador>
<Cnpj>xxxxxxxxxxxxx</Cnpj>
<InscricaoMunicipal>xxxxxxxxxx</InscricaoMunicipal>
</Prestador>

E no xml gerado, retornar a razão social na tag <nomefantasia>

<PrestadorServico>
<IdentificacaoPrestador>
<Cnpj>xxxxxxxxxxxxxx</Cnpj>
<InscricaoMunicipal>xxxxxxxxx</InscricaoMunicipal>
</IdentificacaoPrestador>
<NomeFantasia>
AAAAA AAAAAAAAAAAA LTDA
</NomeFantasia>

Creio que seria o caso de alterar a rotina da impressão para capturar a tag <nomefantasia> para o lugar de <razaosocial>, não ?

Ou criar uma rotina própria de leitura do xml para visualização, impressão e pdf, o que seria desperdício de tempo, uma vez que já temos a rotina pronta.
Alguma dica de onde mexer nisso ?
Grato.
 
Link para o comentário
Compartilhar em outros sites

Ítalo, segue abaixo a alteração que fiz e consegui substituir a informação direto no fonte da rotina ACBrNFSeDANFSeRLRetrato, na linha 514.

 

        rllPrestNome.Caption          := IfThen( NomeFantasia <> ''        , NomeFantasia         , fpDANFSe.RazaoSocial);
//        rllPrestNome.Caption          := IfThen( RazaoSocial <> ''        , RazaoSocial         , fpDANFSe.RazaoSocial);

Não sei se seria esta a melhor opção, mas por ora me atendeu.

O único inconveniente, é que a cada atualização do componente terei que lembrar de fazer esta alteração. Ou se for alterado diretamente no componente com uma condicional para usar o <NomeFantasia>, caso a <Razaosocial> estiver vazia.

Obrigado a todos.
Creio que podemos fechar o post.

Daniel.

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Daniel,

Você concorda que isso gera um efeito colateral com os demais provedores?

Será que a melhor saída não seria:

rllPrestNome.Caption := IfThen(RazaoSocial <> '', RazaoSocial, fpDANFSe.RazaoSocial);

if rllPrestNome.Caption = '' then
  rllPrestNome.Caption := IfThen(NomeFantasia <> '', NomeFantasia, fpDANFSe.RazaoSocial);

Tente desta forma e anexe a unit alterada para que possamos analisar.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores

Bom dia Daniel,

Como você não deu retorno, fiz a alteração e enviei para o repositório.

  • Curtir 2
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1769 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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.