Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado (editado)

@Italo Giurizzato Juniorolá, ao enviar o rps, foi preciso ativar essas opções, é possível agregar aos fontes? Cidade 3169901, provedor versatecnologia.

VersaTecnologia.GravarXml.pas

Outra coisa Italo, sempre que tenho uma lista de rps para enviar, eu carrego uma por uma, e vou enviando e atualizando minha lista, e sempre no segundo rps, acontece isso

X800-Erro de Validação:  --> 1824 - Element '{http://nfe.uba.mg.gov.br/schema/nfse_v201.xsd}CodigoMunicipio': '' is not a valid value of the atomic type '{http://nfe.uba.mg.gov.br/schema/nfse_v201.xsd}tsCodigoMunicipioIbge'.

E pula pro próximo, e vai de boa, depois repete o erro. Suspeita de algo que pode ser? Se algum campo nao carregou:? Nota, so deu isso quando tem retenção, alias, a unit ali, foi devido a rps com retencao de issqn.

Editado por Antonio Gomes
  • Consultores
Postado

Boa tarde @Antonio Gomes,

A função que você GerarValores que você sobre escreveu na referida unit não poderia ser tratada diretamente na sua aplicação?

Na procedure Configuração você incluiu as linhas:

  NrOcorrRespRetencao := 0;
  NrOcorrValorDeducoes := 1;

Isso vai ser aplicado para todas as cidades atendidas por esse provedor na versão 2.01.

O Numero de ocorrências Responsável Retenção nem precisa dessa linha pois por padrão esse propriedade já vale zero.

Já a que se refere ao Valor das Deduções que vale zero e você mudou para 1 fazendo com que a tag seja gerada mesmo que o seu valor seja zero.

 

Quanto ao erro que você esta tendo o campo CodigoMunicipio é do tipo string e você esta atribuindo o conteúdo: ": " (dois ponto espaço).

Você vai ter que checar a montagem da lista ou a leitura da mesma para emissão das notas.

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

Postado
17 horas atrás, Italo Giurizzato Junior disse:

Boa tarde @Antonio Gomes,

A função que você GerarValores que você sobre escreveu na referida unit não poderia ser tratada diretamente na sua aplicação?

Na procedure Configuração você incluiu as linhas:

  NrOcorrRespRetencao := 0;
  NrOcorrValorDeducoes := 1;

Isso vai ser aplicado para todas as cidades atendidas por esse provedor na versão 2.01.

O Numero de ocorrências Responsável Retenção nem precisa dessa linha pois por padrão esse propriedade já vale zero.

Já a que se refere ao Valor das Deduções que vale zero e você mudou para 1 fazendo com que a tag seja gerada mesmo que o seu valor seja zero.

 

Quanto ao erro que você esta tendo o campo CodigoMunicipio é do tipo string e você esta atribuindo o conteúdo: ": " (dois ponto espaço).

Você vai ter que checar a montagem da lista ou a leitura da mesma para emissão das notas.

Vou testar, isso foi desespero, peguei com um parceiro, a solução dele, eu migrei do componente antigo, e não tive como testar em produção, o cliente que pegou o erro.

Irei testar a sua ideia, eu havia pensando, se pudesse ser pela cidade, mas aguarda, eu darei retorno aqui, se resolveu.

  • Curtir 1
  • 3 semanas depois ...
Postado

Então @Italo Giurizzato Junior

Essa parte não consigo colocar do meu lado do sistema, teria como fazer ?

 

//==============================================================================
// Essa unit tem por finalidade exclusiva gerar o XML do RPS do provedor:
//     VersaTecologia
//==============================================================================

{ TNFSeW_VersaTecnologia200 }
function TNFSeW_VersaTecnologia200.GerarValores: TACbrXmlNode;
begin
  // uba 3169901
  if (NFSe.Servico.Valores.ValorIss = 0) and (NFSe.Servico.Valores.ValorIssRetido > 0) then 
   NFSe.Servico.Valores.ValorIss := NFSe.Servico.Valores.ValorIssRetido;

   
  Result:= inherited;
end;

Isso é para tirar um erro de falha de valores de campo, ao transmitir uma RPS com retenção. Onde, o valorIss está indo zerado. Não sei pq nao criam campos separados, o provedor.

Postado (editado)
Em 08/04/2025 at 18:02, Italo Giurizzato Junior disse:

Boa tarde @Antonio Gomes,

A função que você GerarValores que você sobre escreveu na referida unit não poderia ser tratada diretamente na sua aplicação?

Na procedure Configuração você incluiu as linhas:

  NrOcorrRespRetencao := 0;
  NrOcorrValorDeducoes := 1;

Isso vai ser aplicado para todas as cidades atendidas por esse provedor na versão 2.01.

O Numero de ocorrências Responsável Retenção nem precisa dessa linha pois por padrão esse propriedade já vale zero.

Já a que se refere ao Valor das Deduções que vale zero e você mudou para 1 fazendo com que a tag seja gerada mesmo que o seu valor seja zero.

 

Quanto ao erro que você esta tendo o campo CodigoMunicipio é do tipo string e você esta atribuindo o conteúdo: ": " (dois ponto espaço).

Você vai ter que checar a montagem da lista ou a leitura da mesma para emissão das notas.

Sobre o valor do iss retido, do provedor versa, ele nao tem o campo de valorissretido, mas, vai a tag IssRetido = 1, e o valor retido, vai no campo valoriss, ao dar um load no arquivo, o acbr nao acata o valor da retencao, na tag valoriss, o valor retido, como poderia colocar isso, sem ser dentro daquela unit que mandei, detalhe, isso nao acata so a cidade de ubá, mas a versao toda do provedor versa 2.01.

olha meu fonte, é atribuido nos dois campos, mas, o provedor nao acata o segundo campo (ValorIssRetido).

image.thumb.png.286856257f7d39cb5eea7708b2b1c300.png

Repara ao repassar, o valor 0,41 é retenção, e precisa ir no campo valoriss, por isso inverto ele

image.thumb.png.9f14bb49efaf5d27423d399111582d80.png

Editado por Antonio Gomes
  • Consultores
Postado

Bom dia @Antonio Gomes,

Porque não tem como você colocar na sua aplicação o código abaixo?

  // uba 3169901
  if (NFSe.Servico.Valores.ValorIss = 0) and (NFSe.Servico.Valores.ValorIssRetido > 0) then 
   NFSe.Servico.Valores.ValorIss := NFSe.Servico.Valores.ValorIssRetido;

Outra coisa, segundo consta no arquivo ACBrNFSeXServicos.ini a referida cidade usa a versão 2.01 e não a 2.00, logo esse código teria que estar em outro lugar.

{ TNFSeW_VersaTecnologia201 }

function TNFSeW_VersaTecnologia201.GerarValores: TACbrXmlNode;
begin
  // uba 3169901
  if (NFSe.Servico.Valores.ValorIss = 0) and (NFSe.Servico.Valores.ValorIssRetido > 0) then 
   NFSe.Servico.Valores.ValorIss := NFSe.Servico.Valores.ValorIssRetido;
   
  Result:= inherited;
end;

 

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

Postado
49 minutos atrás, Italo Giurizzato Junior disse:

Bom dia @Antonio Gomes,

Porque não tem como você colocar na sua aplicação o código abaixo?

  // uba 3169901
  if (NFSe.Servico.Valores.ValorIss = 0) and (NFSe.Servico.Valores.ValorIssRetido > 0) then 
   NFSe.Servico.Valores.ValorIss := NFSe.Servico.Valores.ValorIssRetido;

Outra coisa, segundo consta no arquivo ACBrNFSeXServicos.ini a referida cidade usa a versão 2.01 e não a 2.00, logo esse código teria que estar em outro lugar.

{ TNFSeW_VersaTecnologia201 }

function TNFSeW_VersaTecnologia201.GerarValores: TACbrXmlNode;
begin
  // uba 3169901
  if (NFSe.Servico.Valores.ValorIss = 0) and (NFSe.Servico.Valores.ValorIssRetido > 0) then 
   NFSe.Servico.Valores.ValorIss := NFSe.Servico.Valores.ValorIssRetido;
   
  Result:= inherited;
end;

 

Cara eu ate tentei manipular essa variavel antes de enviar, mas nao achei como, pode me dar o caminho ?

E aquela outra, como acesso ela sem ser pelo fonte? 

Essas variaveis: NrOcorrRespRetencao e NrOcorrValorDeducoes

Esse codigo da 200 eu peguei com um colega de profissao, mas é preciso sim ser dentro da derivação 201

Mas se eu conseguir mexer nela, eu preencho antes de emitir, igual era da antiga nfse

 
  • Consultores
Postado

Boa tarde @Antonio Gomes,

As variáveis: NrOcorrRespRetencao e NrOcorrValorDeducoes, você só consegue alterar os seus valores na unit GravarXml do referido provedor.

Veja que para a versão 2.00 temos:

procedure TNFSeW_VersaTecnologia200.Configuracao;
begin
  inherited Configuracao;

  DivAliq100 := True;

  if FpAOwner.ConfigGeral.Params.TemParametro('NaoDividir100') then
    DivAliq100 := False;

  NrOcorrValorPis := 1;
  NrOcorrValorCofins := 1;
  NrOcorrValorInss := 1;
  NrOcorrValorIr := 1;
  NrOcorrValorCsll := 1;
  NrOcorrValorIss := 1;
  NrOcorrOutrasRet := 1;
  NrOcorrDescIncond := 1;
  NrOcorrDescCond := 1;
  NrOcorrRespRetencao := 1;
  NrOcorrCodigoPaisServico := 1;
  NrOcorrRazaoSocialInterm := 1;
end;

 

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

Postado
30 minutos atrás, Italo Giurizzato Junior disse:

Boa tarde @Antonio Gomes,

As variáveis: NrOcorrRespRetencao e NrOcorrValorDeducoes, você só consegue alterar os seus valores na unit GravarXml do referido provedor.

Veja que para a versão 2.00 temos:

procedure TNFSeW_VersaTecnologia200.Configuracao;
begin
  inherited Configuracao;

  DivAliq100 := True;

  if FpAOwner.ConfigGeral.Params.TemParametro('NaoDividir100') then
    DivAliq100 := False;

  NrOcorrValorPis := 1;
  NrOcorrValorCofins := 1;
  NrOcorrValorInss := 1;
  NrOcorrValorIr := 1;
  NrOcorrValorCsll := 1;
  NrOcorrValorIss := 1;
  NrOcorrOutrasRet := 1;
  NrOcorrDescIncond := 1;
  NrOcorrDescCond := 1;
  NrOcorrRespRetencao := 1;
  NrOcorrCodigoPaisServico := 1;
  NrOcorrRazaoSocialInterm := 1;
end;

 

mas sua ideia inicial, era eu ter acesso dentro do sistema, foi  ai que abri essa thred, pq nao achei como chegar nessas variaveis :((

  • Solution
Postado
18 horas atrás, Italo Giurizzato Junior disse:

@Antonio Gomes,

Já esta no SVN.

Grato: A proposito, pessoas que vejo usar isso aqui na cidade, e que perguntei, uma delas, havia feito essa alteração internamente  também, já outro, nem sabia do erro, já que nao emite nfse com retenção, logo, vai sanar o problema para esse outro colega de profissão.

Havendo mais problemas, eu volto a lhe falar.

  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

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.