Ir para conteúdo
  • Cadastre-se

Jefferson Quinelatto

Membros
  • Total de ítens

    10
  • Registro em

  • Última visita

Posts postados por Jefferson Quinelatto

  1. Bom dia, sei o que o tópico é antigo, mas estou com problemas na comunicação da balança toledo de 300kg modelo 2099 - 9098. Utilizando a configuração P03, 8bits, sem paridade Bounds 9600, ao ativar, me da um erro "list index out of bounds (1)". Ao mudar para a P05 com as mesmas configuração, não tenho o erro, a balança ativa com sucesso, porém, não captura o peso. (Obs: utilizando o programa hyperterminal, na P03 ele comunica normalmente e obtém o peso perfeitamente, mas ao mudar para a P05 não obtém o peso também).

    A balança é a versão sem bateria e, aqui tem o manual que consegui dela.

    https://www.toledobrasil.com/blob/manuals/38_pt_manual_1574104953.pdf

    • Curtir 1
  2. Bom dia pessoal

    Estou realizando uma requisição do tipo GET com um json no body da requisição e uma autenticação do tipo Bearer token, utilizo dos componentes RESTClient e ao executar a requisição tenho o seguinte retorno:

    {
        "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
        "title": "One or more validation errors occurred.",
        "status": 400,
        "traceId": "00-72e4db5db7264d6196a797c49217c493-f560f2072295e5f6-00",
        "errors": {
            "$": ["The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. Path: $ | LineNumber: 0 | BytePositionInLine: 0."]
        }
    }

    Observação: a requisição funciona normalmente no Postman, Insomnia e inclusive no RESTDebugger do delphi, nas versões que é possível marcar [DoNotEncode] ao criar um header. Porém ao copiar os componentes prontos do RESTDebugger funcionando e jogar no formulário, obtenho o retorno json acima. Se alguém já passou por algo parecido e puder compartilhar do conhecimento. (Versões testadas do Delphi: Berlim e Rio).

  3. Bom dia, nas instruções do boleto para o sicredi cnab400, está a seguinte mensagem "Cobrar juros de xValor% ao mês...", porém seria ao dia e não ao mês, analisando o código, notei que há uma propriedade CodigoMoraJuros, porém ao passar cjTaxaDiaria, continua com a mesma mensagem.

    Fiz a implementação de uma função validada somente para o Banco Sicredi. Segue em anexo para análise, desde já obrigado!

    ACBrBoleto.pas

  4. Em 10/12/2020 at 20:39, Giquieu disse:

    Olá,

    Estou realizando a homologação com Uniprime.

    Tive a mesma critica do Digito X na impressão do Boleto. Usando Lazarus.

    Utilizando o Fortes pra impressão existe um tratamento para imprimir X quando o digito do banco for maior ou igual a 10. Como mostra a imagem:

    image.png.3a67064ceff3aa90caca4840d739ff6f.png

     

    Fiz um teste com o demo  forçando um o valor 10 no digito do banco, conforme sugerido. 

    Porém o boleto ainda está sendo impresso com o digito 4, que é atribuído ao informar o tipo Uniprime.

    
       ACBrBoleto1.Banco.Digito := 10;
       ACBrBoleto1.Imprimir;

     

    Fui olhar a property e a mesma tem um Setter "fake" , usado apenas pra mostrar o ObjectInspector:

    image.png.7ff52f9436d75f9c73c9a24085b86537.png

    Então indiferente do que informar no Digito do Banco o Fortes não vai considerar.

    Sugiro implementarmos um Set pra property e no Get tratar se existe algo nela, caso contrario podemos retornar o Digito que está na propria classe do Banco.

    
    TACBrBanco = class(TComponent)
    private 
      fDigitoManual: Integer;
    
    ....
    
    procedure TACBrBanco.SetDigito(const AValue: Integer);
    begin
      fDigitoManual := AValue;
    end;
    
    function TACBrBanco.GetDigito: Integer;
    begin
      Result := fBancoClass.Digito;
       if (fDigitoManual > 0) then
         Result := fDigitoManual;
    end;

     

    Boa tarde, estou passando pela mesma situação no momento, e ao colocar o Digito 12, entrou na condição normalmente, e gerou o boleto 099-X.

  5. 19 minutos atrás, Juliana Tamizou disse:

    Boa tarde.

    Acredito ter compreendido seu problema, pelo que observei no manual o % de juros também tratado como valor diário e não mensal, neste caso de fato cabe uma revisão no código, provavelmente na classe do sicredi de forma a não gerar efeitos colaterais nos demais bancos.

    Att.

     

    Exatamente Juliana, agradeço a atenção! Irei estar fazendo esse ajuste aqui, para liberar o Cliente. Obrigado!

    • Curtir 1
  6. 26 minutos atrás, Juliana Tamizou disse:

    Boa tarde.

    Você deverá passar ao componente as propriedades CodigoMora e ValorMoraJuros conforme decidir trabalhar com o banco.

    Veja no trecho de código a seguir que é gerado na remessa conforme preenchimento do componente.

    
    if (CodigoMora <> 'A') and (CodigoMora <> 'B') then
           CodigoMora := 'A';
    
    ...  
    
    with ACBrBoleto do
       begin
             ...
    
            trim(CodigoMora)  
            ...

    Att.

    Boa tarde,  segue o código abaixo onde informo esse código.

    if Trim(Copy(CBanco.Text,1,3)) = '748' then //Sicred
    CodigoMora      := 'A';//Valor
    ValorMoraJuros  := EValorJuros.Value;
    end
    else if CJuros.ItemIndex = 2 then
    begin
    if Trim(Copy(CBanco.Text,1,3)) = '748' then //Sicred
    CodigoMora      := 'B';//Percentual
    ValorMoraJuros  := (nValorBoleto * EValorJuros.Value)/100;
     end;

    Segue em anexo, como fica a instrução no boleto, no caso deveria ser "Cobrar juros de 0,25% ao dia de atraso para pagamento a partir de 30/06/2020..."

    boletoSicredi.png

  7. Bom dia,

    Estou com a seguinte dúvida no código abaixo. Ao gerar boleto do Sicredi CNBAB-400, onde informo o tipo de Juros, valor monetário ou Percentual, para ambos é cobrado ao Dia e não ao Mês.

    Porém nas instruções do boleto sai " ao mês ". Teria alguma forma de alterar essa instrução conforme o layout do Sicredi? (Obs: Conforme manual do Sicredi isso é somente para o layout CNAB400, para 240 utiliza-se ao mês).

    if ValorMoraJuros <> 0 then
          begin
             if DataMoraJuros <> 0 then
                AStringList.Add(ACBrStr('Cobrar juros de '                        +
                                ifthen(((CodigoMora = '2') or (CodigoMora = 'B')), FloatToStr(ValorMoraJuros) + '% ao mês',
                                       FormatCurr('R$ #,##0.00 por dia',ValorMoraJuros))         +
                                 ' de atraso para pagamento '+
                                 ifthen(Vencimento = DataMoraJuros, 'após o vencimento.',
                                        'a partir de '+FormatDateTime('dd/mm/yyyy',DataMoraJuros))))
             else
                AStringList.Add(ACBrStr('Cobrar juros de '                +
                                        ifthen(((CodigoMora = '2') or (CodigoMora = 'B')), FloatToStr(ValorMoraJuros) + '% ao mês',
                                               FormatCurr('R$ #,##0.00 por dia',ValorMoraJuros))         +
                                 ' de atraso'));
          end;

×
×
  • 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.