Ir para conteúdo
  • Cadastre-se

Metasis Sistemas

Membros
  • Total de ítens

    39
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Metasis Sistemas's Achievements

Contributor

Contributor (5/14)

  • Reacting Well Rare
  • One Year In
  • Collaborator Rare
  • First Post
  • Conversation Starter

Recent Badges

3

Reputação

5

Community Answers

  1. Efetuei os testes e funcionou corretamente. Obrigado
  2. IPM.Provider.pas linha 185
  3. Bom dia, Verificado que ao emitir NFSe na versão 100 da IPM, esta exigindo certificado digital, o qual não é necessário para o provedor. Precisei usar a mesma abordagem já utilizada nas versões 101 e 204, na procedure "Configuracao" adicionado a seguinte linha: ConfigGeral.UseCertificateHTTP := False; Não estou conseguindo fazer o upload do arquivo aqui no Tópico, mas somente adicionando a linha mencionada, resolveu o problema de emissão.
  4. Acredito que o pessoal possa não estar usando, pois como mencionei acima, não faz sentido calcular um percentual se o valor devolvido é em R$, vejo que seria interessante deixarmos a função calculando corretamente, para quem for utilizar tal recurso.
  5. Sim a mensagem é gerada através da função do ACBR GerarMensagemPadraoDesconto, onde considera 3 parâmetros: "ATipoDesconto" que esta preenchido com "tdPercentualAteDataInformada" "AValorDesconto" que esta preenchido com "10" "ADataDesconto" que é usada para montar a mensagem case ATipoDesconto of tdPercentualAteDataInformada, tdPercentualSobreValorNominalDiaCorrido, tdPercentualSobreValorNominalDiaUtil : begin ValorDesconto := CalcularPercentualValor(AValorDesconto, ATitulo.ValorDocumento); end; else ValorDesconto := AValorDesconto; end; a função deveria calcular o valor correspondente ao percentual, porem após a modificação da função este calculo não faz sentido. Fiz o mesmo teste para o boleto Sicredi para verificar se poderia ser alguma particularidade, e apresenta o mesmo problema cai nas mesmas funções para gerar a mensagem. o calculo que esta sendo utilizado acredito que seja para calcular quando o valor "AValorDesconto" corresponde em percentual sobre o valor "ATitulo.ValorDocumento", porem o calculo não condiz com o escopo da função que esta sendo usado onde ele deveria calcular o valor correspondente ao percentual e não o percentual correspondente ao valor sendo que todo o retorno da função se da em valor "R$" function TACBrBoleto.GerarMensagemPadraoDesconto(const ATipoDesconto : TACBrTipoDesconto; AValorDesconto : Double; ATitulo : TACBrTitulo; ADataDesconto : TDateTime = 0): String; var ValorDesconto : Double; begin case ATipoDesconto of tdPercentualAteDataInformada, tdPercentualSobreValorNominalDiaCorrido, tdPercentualSobreValorNominalDiaUtil : begin ValorDesconto := CalcularPercentualValor(AValorDesconto, ATitulo.ValorDocumento); end; else ValorDesconto := AValorDesconto; end; case ATipoDesconto of tdValorFixoAteDataInformada, tdPercentualAteDataInformada : begin if ADataDesconto > 0 then Result := ACBrStr('Conceder desconto de ' + FormatFloatBr(ValorDesconto, 'R$ #,##0.00') + ' para pagamento até ' + FormatDateTime('dd/mm/yyyy',ADataDesconto) ); end; tdValorAntecipacaoDiaCorrido, tdPercentualSobreValorNominalDiaCorrido : begin Result := ACBrStr('Conceder desconto de ' + FormatFloatBr(ValorDesconto, 'R$ #,##0.00') + ' por dia de antecipaçao corrido.' ); end; tdValorAntecipacaoDiaUtil, tdPercentualSobreValorNominalDiaUtil : begin Result := ACBrStr('Conceder desconto de ' + FormatFloatBr(ValorDesconto, 'R$ #,##0.00') + ' por dia de antecipaçao útil.' ); end; tdNaoConcederDesconto : begin // depreciado... retrocompatibilidade com a implementação antiga // utilizar os enumeradores corretos quando houver descontos a exibir. if ADataDesconto > 0 then Result := ACBrStr('Conceder desconto de ' + FormatFloatBr(ValorDesconto, 'R$ #,##0.00') + ' para pagamento até ' + FormatDateTime('dd/mm/yyyy',ADataDesconto) ) else if ValorDesconto > 0 then Result := ACBrStr('Conceder desconto de ' + FormatFloatBr(ValorDesconto, 'R$ #,##0.00') + ' por dia de antecipaçao corrido.' ); end; end; end;
  6. Problema ao gerar mensagem padrão boleto na função TACBrBoleto.CalcularPercentualValor em um teste efetuado passando a variável AValorPercentual = 10 e a AValorDocumento = 5, o valor de desconto ate o vencimento deveria ser: 5 * 10% = 0,5; a função antes da ultima alteração calculava da seguinte forma: Result := (AValorPercentual / 100) * AValorDocumento; (10/100) *5 = 0,5; Resultado correto. a nova alteração esta calculando da seguinte forma: Result := (AValorPercentual / AValorDocumento) * 100 ; (10/5) * 100 = 200; Resultado incorreto. Ouve alguma alteração na forma de preencher o componente? o exemplo esta sendo preenchido com: Titulo.ValorDesconto := 10; Titulo.TipoDesconto := tdPercentualAteDataInformada;
  7. ok irei seguir esta abordagem. obrigado
  8. a principio não esta caindo na função citada, esta seguindo o seguinte caminho: A principio realmente não faço todo o preenchimento do titulo novamente, preencho somente as informações necessárias para efetuar a baixa do mesmo: neste caso teria que fazer todo o preenchimento de todas as informações do titulo ao invés de informar diretamente o NossoNumero?
  9. o mesmo ocorre na baixa devido a linha if ATitulo <> nil then LId := DefinirNossoNumero;
  10. Bom dia, Em testes na API de boletos do banco Sicredi v2, verifiquei o seguinte problema na unit "ACBrBoletoW_Sicredi_APIV2" ACBrBoleto_Sicredi_APIV2", ao fazer a consulta detalhe, informo o “NossoNumero” a ser consultado, porem ao passar pela função “DefinirParametrosDetalhe” a mesma está chamando "DefinirNossoNumero" o que está calculando e gerando um nosso número diferente do informado. efetuei a seguinte alteração para corrigir o problema: Na função "DefinirParametrosDetalhe" ao invés de usar "DefinirNossoNumero" utilizei "ATitulo.NossoNumero" que se refere ao número informado ao preencher o componente, desta forma a consulta funcionou corretamente. ACBrBoletoW_Sicredi_APIV2.pas
  11. Bom dia o município de Iomere-SC passou a utilizar o provedor Betha. Adicionar no arquivo ACBrNFSeXServicos.ini. [4207577] Nome=Iomere UF=SC Provedor=Betha Obrigado
  12. poderia utilizar a seguinte abordagem então para resolvermos o except: if (aJson.Values['resultado'].ValueType = jvArray) then begin aJsonViolacoes := aJson.Values['resultado'].AsArray; end else begin aJsonViolacoes := TJsonArray.Create; end; neste caso verifico se se o tipo é um Array senão crio o objeto vazio para continuar a execução sem causar erros.
  13. Boa Tarde Encontrei um problema ao consultar o boleto na API do Sicoob. no arquivo ACBrBoletoRet_Bancoob.pas linha 130 esta disparando uma exceção devido ao retorno da consulta não ser do tipo array conforme documentação da api: então fiz a seguinte alteração para continuar preenchendo o componente, não sei se é a melhor forma, mas precisar ser ajustado senão a consulta não alimenta o componente mesma retornando os dados corretamente. alterei a linha aJsonViolacoes := aJson.Values['resultado'].AsArray; para: try aJsonViolacoes := aJson.Values['resultado'].AsArray; except aJsonViolacoes := TJsonArray.Create; end; segue o arquivo em anexo. ACBrBoletoRet_Bancoob.pas
  14. Bom dia Verifiquei que estava preenchendo de forma incorreta o ArquivoKEY. obrigado pela informação.
  15. no banco o scope esta liberado tanto a da consulta quanto a da baixa conforme imagem em anexo e na requisição eles também são mencionados scope=cobranca_boletos_consultar cobranca_boletos_incluir cobranca_boletos_pagador cobranca_boletos_segunda_via cobranca_boletos_descontos cobranca_boletos_abatimentos cobranca_boletos_valor_nominal cobranca_boletos_seu_numero cobranca_boletos_especie_documento cobranca_boletos_baixa cobranca_boletos_rateio_credito cobranca_pagadores cobranca_boletos_negativacoes_incluir cobranca_boletos_negativacoes_alterar cobranca_boletos_negativacoes_baixar cobranca_boletos_protestos_incluir cobranca_boletos_protestos_alterar cobranca_boletos_protestos_desistir cobranca_boletos_solicitacao_movimentacao_incluir cobranca_boletos_solicitacao_movimentacao_consultar cobranca_boletos_solicitacao_movimentacao_download cobranca_boletos_prorrogacoes_data_vencimento cobranca_boletos_prorrogacoes_data_limite_pagamento cobranca_boletos_encargos_multas cobranca_boletos_encargos_juros_mora cobranca_boletos_pix cobranca_boletos_faixa_nn_disponiveis&grant_type=client_credentials
×
×
  • 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.