Antonio Gomes Postado 4 Abril Postado 4 Abril (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 4 Abril por Antonio Gomes
Consultores Italo Giurizzato Junior Postado 8 Abril Consultores Postado 8 Abril 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. Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Antonio Gomes Postado 9 Abril Autor Postado 9 Abril 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. 1
Antonio Gomes Postado Domingo as 21:11 Autor Postado Domingo as 21:11 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.
Antonio Gomes Postado Domingo as 22:18 Autor Postado Domingo as 22:18 (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). Repara ao repassar, o valor 0,41 é retenção, e precisa ir no campo valoriss, por isso inverto ele Editado Domingo as 22:23 por Antonio Gomes
Consultores Italo Giurizzato Junior Postado Segunda as 16:25 Consultores Postado Segunda as 16:25 Boa tarde @Antonio Gomes, Vou analisar essa questão. Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Antonio Gomes Postado Segunda as 21:33 Autor Postado Segunda as 21:33 5 horas atrás, Italo Giurizzato Junior disse: Boa tarde @Antonio Gomes, Vou analisar essa questão. Ah esqueci de mencionar, na nfe anterior, tinha essas gambi tambem:
Consultores Italo Giurizzato Junior Postado Terça as 13:37 Consultores Postado Terça as 13:37 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; Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Antonio Gomes Postado Terça as 14:29 Autor Postado Terça as 14:29 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 Italo Giurizzato Junior Postado Terça as 16:42 Consultores Postado Terça as 16:42 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; Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Antonio Gomes Postado Terça as 16:45 Autor Postado Terça as 16:45 Então, após ver sua mensagem, e de testar no cliente, mudei, como voce falou, e ficou assim: VersaTecnologia.GravarXml.pas
Antonio Gomes Postado Terça as 17:13 Autor Postado Terça as 17:13 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 :((
Consultores Italo Giurizzato Junior Postado Terça as 17:19 Consultores Postado Terça as 17:19 @Antonio Gomes, Já esta no SVN. Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Solution Antonio Gomes Postado Há 22 horas Autor Solution Postado Há 22 horas 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 Alexandre de Paula Postado Há 22 horas Consultores Postado Há 22 horas Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Alexandre de Paula Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Recommended Posts