Ir para conteúdo
  • Cadastre-se

dev botao

Impressão da CIDADE na NFSEX - Jacareí


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 137 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia a todos, eu consegui imprimir a nota, porém a cidade EMITENTE e TOMADOR não imprime.

O que preciso fazer? Na nota de SJC imprime normalmente o campo, mesmo que o XML da nota venha preenchido somente o campo: <CodigoMunicipio>352440</CodigoMunicipio>

Em Jacareí é o mesmo campo que preenche, mas não imprime.

 

verifiquei que quando eu carrego o XML no componente em SJC aparece:

ShowMessage(DMAcbr.ACBrNFSeX1.NotasFiscais.Items[0].NFSe.Tomador.Endereco.CodigoMunicipio+'-'+DMAcbr.ACBrNFSeX1.NotasFiscais.Items[0].NFSe.Tomador.Endereco.xMunicipio);

Aparece CODMUNICIPIO e CIDADE

e a o mesmo quando faço Jacareí aparece SOMENTE o CODMUNICIPIO.. sem a cidade

 

Alguém pode me ajudar

 

 

Link para o comentário
Compartilhar em outros sites

Pessoal, verifiquei que quando eu CONSULTO a nota fiscal na prefeitura de Jacareí, o CODMUNICIPIO vem faltando 1 numero

Correto seria: 3524402

Está vindo: <CodigoMunicipio>352440</CodigoMunicipio>

isso quando clico em CONSULTAR para baixar o XML...Será alguma configuração no Componente???

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde @SISBLU Software,

Não é configuração, o código IBGE de todos os municípios brasileiros tem 7 dígitos sendo o ultimo um digito verificador e o webservice do provedor não esta gerando o código por completo, ou seja, com o digito verificador.

Favor entrar em contato com o provedor e expor o problema.

  • Curtir 1
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

Link para o comentário
Compartilhar em outros sites

Bom dia Italo, eles disseram que retornam somente com 6 digitos... e não tem conversa, faz 2 semanas ja.

Então o que decidi: consegui uma função que gera o digito verificador que falta, e deu certo.

Porém como faço agora para que eu possa imprimir o xml? tenho que salvar um NOVO xml?

A função que estou fazendo:

 

    DMAcbr.ACBrNFSeX1.NotasFiscais.Clear;
    DMAcbr.ACBrNFSeX1.NotasFiscais.LoadFromStream(DANFEStream);

    PrestadorXML:=DMAcbr.ACBrNFSeX1.NotasFiscais.Items[0].NFSe.Prestador.Endereco.CodigoMunicipio;
    TomadorXML:=DMAcbr.ACBrNFSeX1.NotasFiscais.Items[0].NFSe.Tomador.Endereco.CodigoMunicipio;
   

   tentei gravar no componente o codMunicipio, mas não deu certo

    DMAcbr.ACBrNFSeX1.NotasFiscais.Items[0].NFSe.Prestador.Endereco.CodigoMunicipio:=UniMainModule.DigitoCidade(PrestadorXML);
    DMAcbr.ACBrNFSeX1.NotasFiscais.Items[0].NFSe.Tomador.Endereco.CodigoMunicipio:=UniMainModule.DigitoCidade(TomadorXML);
 

  Deu certo, tanto que se eu faço um SHOWMESSAGE ele retorna com 7 digitos.... porém na hora da impressão da NOTA, ele não pega 

 

  O que posso fazer?

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @SISBLU Software,

Por favor anexe a função que calcula o DV para que possamos avaliar e se possível implementar no próprio componente.

Desde já muito obrigado pela colaboração.

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

Link para o comentário
Compartilhar em outros sites

function TUniMainModule.DigitoCidade( Codigo : String ) : String;
var
  i, Valor, Soma: integer;
  Digito: string;
const
  PESO = '1212120';
  NAO_VALIDAR = '|2201919|2202251|2201988|2611533|3117836|3152131|4305871|5203939|5203962|';
begin
  if Length(Codigo) < 6 then
   begin
     Result := 'Tamanho Inválido';
     exit;
   end;
  if pos('|' + copy(Codigo, 1, 6), NAO_VALIDAR) > 0 then
  begin
    Result := copy(NAO_VALIDAR,pos('|' + Codigo, NAO_VALIDAR)+1,7);
    exit;
  end;
  soma := 0;
  for i := 1 to 6 do
  begin
    valor := StrToInt(copy(Codigo, i, 1)) * StrToInt(copy(PESO, i, 1));
    if valor > 9 then
      soma := soma + StrToInt(copy(IntToStr(valor), 1, 1)) + StrToInt(copy(IntToStr(valor), 2, 1))
    else
      soma := soma + valor;
  end;
  digito := IntToStr((10 - (soma mod 10)));
  if ((soma mod 10) = 0) then
    digito := '0';
  Result := copy(codigo,1,6) + Digito;
end;
 

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde @SISBLU Software,

Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça novos 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

Link para o comentário
Compartilhar em outros sites

Vou fazer isso...

Italo, para o envio de JACAREI para outra CIDADE está ok

de JACAREI PARA JACAREI está dando esse erro: O código de serviço prestado não permite retenção de ISSQN

Porém no XML que é Autorizado pelo site da prefeitura tem o iss retido etc...

XML Autorizado:

image.thumb.png.95bc13c29d465b784ca04ed165041952.png

 

Meu RPS

 

image.png.d6e696e7763cfe42fc46dff8aa8f57df.png

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde @SISBLU Software,

Neste caso não vejo outra alternativa entrar em contato com o provedor e questionar o motivo de funcionar via site e não funcionar via webservice.

 

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

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 137 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.