Ir para conteúdo
  • Cadastre-se

VersaTecnologia Ubá, 3169901, XML Write


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

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.

image.png

Alexandre de Paula
Gerente de Projetos
Ajude o Projeto ACBr crescer - Assine o Clube PRO                    

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

 

 

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...