Ir para conteúdo
  • Cadastre-se

eraldocg

Membros
  • Total de ítens

    71
  • Registro em

  • Última visita

Tudo que eraldocg postou

  1. segue em anexo arquivo alterado e ja validado no envio da prefeitura citada caminho do arquivo nos fontes acbr ...\acbr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\SisPMJP.GravarXml.pas grato SisPMJP.GravarXml.pas
  2. RESOLVIDO, precisei alterar a unit SisPMJP.GravarXml pra incluir a empresa como RegimeEspecialTributacao in [retMicroempresaMunicipal]), sendo do simpples nacional, ficando assim: function TNFSeW_SisPMJP202.GerarXml: Boolean; begin if (NFSe.OptanteSimplesNacional = snNao) then begin if (NFSe.RegimeEspecialTributacao in [retMicroempresaMunicipal, retMicroempresarioEmpresaPP]) then NrOcorrValorIss := 1 else NrOcorrValorIss := -1; end else if (NFSe.RegimeEspecialTributacao in [retMicroempresaMunicipal]) then NrOcorrValorIss := 1 else NrOcorrValorIss := -1; { if (NFSe.OptanteSimplesNacional = snNao) then if (NFSe.RegimeEspecialTributacao in [retMicroempresaMunicipal, retMicroempresarioEmpresaPP]) then NrOcorrValorIss := 1 else NrOcorrValorIss := -1; } Result := inherited GerarXml; end; para gerar o valor da Servico.Valores.ValorISS, precisei usar esse arrendamento para abixo, (segundo o suporte da prefeitura: a prefeitura utiliza a regra round half) function TPrincipalForm.RoundTo5Down(Valor: Double; Casas: Integer): Double; var xValor, xDecimais: String; p, nCasas: Integer; nValor: Double; begin nValor := Valor; xValor := Trim(FloatToStr(Valor)); p := Pos(',', xValor); if Casas < 0 then nCasas := -Casas else nCasas := Casas; if p > 0 then begin xDecimais := Copy(xValor, p + 1, Length(xValor)); if Length(xDecimais) > nCasas then begin if xDecimais[nCasas + 1] >= '5' then begin // Se o próximo dígito após as casas decimais for maior ou igual a 5, // arredonda para baixo (round half down) if Valor < 0 then nValor := Int(nValor * Power(10, nCasas)) / Power(10, nCasas) else nValor := Int(nValor * Power(10, nCasas) + 0.5) / Power(10, nCasas); end else SetRoundMode(rmNearest); end; nValor := RoundTo(nValor, Casas); end; // Arredondando para o número especificado de casas decimais // Formatar o resultado com vírgula como separador decimal e duas casas decimais Result := StrToFloat(FormatFloat('#,##0.00', nValor)); end; Observacao do problema, passado pelo setor contabil: A empresa atingiu o sublimite do Simples Nacional sendo assim, começa a pagar ISS por fora, e não na guia do Simples. Isso se dá porque durante todo ano de 2023 o mesmo atingiu um faturamento anual(RBAA) de mais de R$ 3.600.000,00. A empresa continua sendo SIMPLES NACIONAL Resumo: foi necessario fazer os ajustes acima! deixo aqui como fontes praa ajudar outros b.os; e obrigado pela atencao
  3. ainda estou no aguardo de qual padrao o servido utiliza para "ValorIss" e quando deve ser informado ou nao no xml (quando tiver a resposta complemento aqui). porem, deixe comentada essa funcao TNFSeW_SisPMJP202.GerarXml, sempre retornado 1 (UM) e ja deu certo aqui, begin //if (NFSe.OptanteSimplesNacional = snNao) and // if (NFSe.RegimeEspecialTributacao in [retMicroempresaMunicipal, retMicroempresarioEmpresaPP]) then NrOcorrValorIss := 1 // else // NrOcorrValorIss := -1; POREM PRECISOU DE UM AJUSTE: email recebido do suporte com erro no valor informado na tag ValorIss da pref: ================================================== Valor correto do tributo são 45,47, o erro esta sendo ocasionado devido a regra de arredondamento, a prefeitura utiliza a regra round half down . <Valores> <ValorServicos>909.50</ValorServicos> <ValorIss>45.48</ValorIss> <Aliquota>5.00</Aliquota> </Valores> ================================================== rotina que usei calcular o valor ValorIss para baixo e nao para cima function RoundTo5Down(Valor: Double; Casas: Integer): Double; var xValor, xDecimais: String; p, nCasas: Integer; nValor: Double; begin nValor := Valor; xValor := Trim(FloatToStr(Valor)); p := Pos(',', xValor); if Casas < 0 then nCasas := -Casas else nCasas := Casas; if p > 0 then begin xDecimais := Copy(xValor, p + 1, Length(xValor)); if Length(xDecimais) > nCasas then begin if xDecimais[nCasas + 1] >= '5' then SetRoundMode(rmDown) // Setar para a regra round half down else SetRoundMode(rmNearest); end; nValor := RoundTo(Valor, Casas); end; // Arredondando para duas casas decimais Result := Trunc(nValor * 100) / 100; end;
  4. realmente essa tag colqiei depois pra ver se estava falando alimentar algo em relacao ao exemplo Ola boa tarde, grato pela atencao: mas entao o x da questao é esse: < if (NFSe.OptanteSimplesNacional = snNao ) > a empresa continua do Simples nacional: texto so setor contabil: atingiu o sublimite do Simples Nacional sendo assim, começa a pagar ISS por fora, e não na guia do Simples. se mantendo no simples... essa tague eu ha comentei a mesma Servico.Valores.tribMun.tribISSQN := tiOperacaoTributavel; <fio olhando o exemplo e pensei que falatav algo no meu codigo);
  5. Estou enviando um nfse para a cidade de Nome=Joao Pessoa UF=PB Provedor=SisPMJP Versao=2.02 e No xml nao aparece o aqui a resposta do suporte A partir do dia 11 de março os RPS's foram rejeitados por erro E340 ( Valor do ISSQN não informado. ); sefue em anexo o sml que enviei ao suporte dessa resposta resposta do contador deram a seguinte informacao que que a empresa mudou de tributacao de "nao incidencia" para "operacao tributavel" >> onde ja fiz o ajuste Servico.Valores.tribMun.tribISSQN := tiOperacaoTributavel; como tbm atingindo o sublimite de faturamente de simples, mas que pemanence no simples o emissor da nota fiscal e uma empresa do simples nacional, nao tem retencao de ISS e nao tem regime especial de tributacao. De certa forma nao estou conseguindo gerar o XML com o valorISS o qual informo na tag: Servico.Valores.ValorISS Obsevacao: na mesma cidade noutro cnpj, envio as notas sem precisa ter a tag: Servico.Valores.ValorISS entao se alguem puder dar um norte agradeco 1039229-lista-nfse-sinc.xml 2524032653765000016456000000001039229-rps.xml ESSA NOTA DE OUTRO CNPJ NA MESMA CIDADE DEU CERTO 2524034367071700015356000000001007054-nfse.xml
  6. resolivido esse numero de retorno que vem do banco pego da pocaio 3 ate a posicao 11, devolvo pra o NossoNumero e o acbr faz o calulo igualmente ao abnco inter pode fechar
  7. Saudações a todos! Agradeço imensamente se puderem oferecer sua ajuda. Estou concluindo a homologacação do banco inter, cnab 400, ja estou populando o banco de dados com o nosso numero vinto atraves do arquivo de retorno, preciso substuir processo de de imrpessao em vez de usar o convencional, NossoNumero := (SEQ_NOSSO_NUM.AsString); ACBrBoleto1.Banco.MontarCampoNossoNumero(Titulo); trocar pelo nosso numero que recebir do atraves do retorno, o qual ja esta gravado no banco por exemplo: 01200671089-4 ja tenho pronto, nao preciso mais calcular nao sei se fui claro mais... agradeco desde ja
  8. Ja resolvido, acredito que era problema de atualizacao do do sistema do banco inter, posteriormente parou de ocorrer.
  9. a rotina e a mesma para todos os banco (essas tags recebem valores padroes): TipoDesconto := tdValorFixoAteDataInformada DataDesconto := BoletosVENCIMENTO.AsDateTime; isso ja vinha fazendo e funcionando normalmente, veio dar esse problema com o banco inter o qual estou comecando a trabalhar...
  10. Erro A data para desconto deverá ser preenchida para o código do desconto escolhido. valor: VALORFIXODATAINFORMADA Valor de desconto deverá ser diferente de 0 (zero) para o código do desconto informado. valor: null A data para desconto deverá ser preenchida para o código do desconto escolhido. valor: VALORFIXODATAINFORMADA Alguem aquija encontrou esse erro? ao tentar enviar o remessa no banco Inter?
  11. RESOLVIDO! O problema só acontecia na fase de homologação. Quando enviei em modo de produção, tudo funcionou bem. Então, testei o evento de cancelamento para encerrar o teste. mesmo assim grato
  12. quando tempo em homologação o erro e o seguinte: Ambiente: 2 Cidade : Porto Alegre/RS Provedor: PadraoNacional Versão: 1.00 Método Executado: Gerar NFSe Parâmetros de Envio Numero do Lote: 1 Parâmetros de Retorno Data de Envio : 08/11/2023 Numero do Prot: Numero da Nota: Link : Código Verif. : Sucesso : False Erro(s): Código : E0206 Mensagem: O grupo de informações de endereço no exterior deve ser informado obrigatoriamente quando o tomador for identificado pelo NIF. Correção:
  13. Estou em processo de migração do componente antigo NFse para o NFseX, e estou enfrentando o erro mencionado a seguir. Este problema persiste tanto no exemplo/tutorial quanto na minha aplicação, mesmo após tentativas como a reinstalação do ACBr, exclusão e reinstalação do componente, e revisão da configuração por inúmeras vezes. Estou recorrendo a esta fonte em busca de orientação para resolver essa questão: ( detalhe: estou usando o PadraoNacional de porto alegre rs) Requisição Ambiente: 1 Cidade : Porto Alegre/RS Provedor: PadraoNacional Versão: 1.00 Método Executado: Gerar NFSe Parâmetros de Envio Numero do Lote: 1 Parâmetros de Retorno Data de Envio : 08/11/2023 Numero do Prot: Numero da Nota: Link : Código Verif. : Sucesso : False Erro(s): Código : E0206 Mensagem: CPF do tomador informado na DPS é inválido. Correção: --------- Código : X203 Mensagem: Não foi retornado nenhuma NFSe. Correção: --------- NFS-e Numero....: 1 Cod. Verificacao: Prestador.......: Tomador.........: INSCRICAO DE TESTE E TESTE
  14. Ola senhores estamos enfrentando o seguinte erro, ao tentar enviar várias nfce, apos enviar algumas nfse ocorre o seguinte ERRO: Os servidores da NFSe ja estao processando uma requisicao deste CNPJ, para demais requisicoes, aguarde alguns minutos e tente um novo acesso. Ja tentei suporte da empresa responsável , mas o suporte nao passa informações do erro. servidor de joao pessoa - pb
  15. De fato, estava ligado a parela, mas sempre enviei nesse campo o numero da parcela, ao definir um valor padrão o boleto foi registrado e e ja consigo pagar. case BancodeDados.ACBrBoleto1.Banco.Numero of 756 : begin TotalParcelas :=1; Parcela :=1; end else begin if RetornaNumeros(BoletosPARCELA.AsString)<>EmptyStr then TotalParcelas := StrToInt(RetornaNumeros(copy(BoletosPARCELA.AsString,3,3)) ); if RetornaNumeros(BancodeDados.BoletosPARCELA.AsString)<>EmptyStr then Parcela := StrToIntDef(RetornaNumeros(copy(BoletosPARCELA.AsString,1,2)),1); end; end; deixei assim como acima, mas vou entrar em contato com o banco para bsucar mais explicações. Obgado pela atencao
  16. Olá senhores, Gostaria de relatar um problema que temos enfrentado com a emissão de boletos nesta conta bancária do SICOOB que nosso cliente utiliza há cerca de 3 anos. Desde janeiro, temos observado que os boletos registrados através do remessa e impressos através do ACBR não estão sendo pagos devido a erros na leitura do código de barras ou da linha digitável. No entanto, quando os boletos são impressos através do sistema SICOOB, não há problemas. veja abaixo o mesmo boleto: codigo gerado atraves do acbr: 75691.30664 01083.681807 01083.280055 2 93460000126301 codigo gerado atraves do sicoob: 75691.30664 01083.681807 01083.280014 1 93460000126301 Agradecemos se puderem nos ajudar a solucionar esta questão.
  17. Resolvido! Apagando a pasta do ACBR e baixando e instalando novamente com o ACBrInstall_Trunk2.exe.
  18. vou rever, mas isso começou logo após atualização do acbr.
  19. o mesmo erro corre na aplicação e no Demo AcbrMonitor, nao tinha feito nenhuma alteração na instalação do fortes, depois da sua observação eu removir o fortes e o acbr umas 4x e o erro e o mesmo.
  20. Erro ao tentar imprimir usando o fortes
  21. Resolvido, realmente o problema era na minha aplicação - recentemente fiz uma alteração no TFDConnection (FetchOptions >> Items >> FiMeta = false), para melhorar o desempenho da minha aplicação e ocasionou um erro no resultado das procedures (FDStoredProc) que retornava nulo o resultado do nosso número. De qualquer forma, obrigado a atenção.
  22. A mesma rotina funciona certa para outros bancos, excerto p cef. mas de qualquer forma vou debugar os meus fontes e tb os fontes do acbr, e após isso publicarei aqui.
×
×
  • 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.