Jump to content

Adelmo Junior

Membros
  • Posts

    36
  • Joined

  • Last visited

Posts posted by Adelmo Junior

  1. Em 18/06/2021 at 09:54, BigWings disse:

    Se sempre funcionou, o que mudou pra parar se funcionar?

    De qualquer forma CAPICOM não é recomendado. 

    Tente alterar para libWincrypt. 

    Resolvido!

    Depois que fiz essa alteração está baixando normal como era antes com capicom!

    Obrigado pela dica!

  2. 4 horas atrás, Italo Giurizzato Junior disse:

    Boa tarde Adelmo,

    Qual é o receio de usar os schemas que nós disponibilizamos?

    Nenhum receio, testei todos os schemas e nenhum funcionou

    3 horas atrás, BigWings disse:

    Não parece ser questão de schemas, mas sim de algo errado na assinatura ou no certificado.

    Como está a configuração das propriedades SSLLib?

    Essa é a configuração do certificado, que sempre funcionou dessa forma!

    ConfigCertificado.png

  3. 23 minutos atrás, Adelmo Junior disse:

         DesctoAcomulado:=0;
          ValorDescto:= 0.00;
          percdescto:= 0.00;
          TotalRealDescto:= 0.00;
          ValorDesctoProduto:=0;

          try

                   ValorDesctoProduto:= DataModule1.ClientMestreTOTAL_DESCTO.AsFloat/QtdeTotalItens;
                   Maiorvalor:= DataModule1.ClienteDetalheMaior.AsString;

                   DataModule1.ClienteDetalhe.DisableControls;
                   DataModule1.ClienteDetalhe.First;
                   while not DataModule1.ClienteDetalhe.eof do
                   begin
                         if DataModule1.ClienteDetalheCANCELADO.AsString ='N' then
                         begin
                           //    percdescto          := DataModule1.ClientMestrePERC_DESCTO.AsFloat;
                           //    ValorDescto     :=  (percdescto * Datamodule1.ClienteDetalheVALOR_TOTAL.AsFloat)/100;
                             try
                               DataModule1.ClienteDetalhe.Edit;
                               DataModule1.ClienteDetalheDESCTO.AsFloat:= percdescto;
                               if DataModule1.ClienteDetalheVALOR_TOTAL.AsFloat < ValorDesctoProduto   then
                                  DesctoAcomulado:= DesctoAcomulado + ValorDesctoProduto
                               else
                                  DataModule1.ClienteDetalheVALOR_DESCTO.AsFloat:= ValorDesctoProduto;

                               DataModule1.ClienteDetalhe.Post;
                               DataModule1.ClienteDetalhe.ApplyUpdates(-1);
                               TotalRealDescto:= TotalRealDescto +ValorDescto;
                             except

                             end;
                         end;

                         DataModule1.ClienteDetalhe.Next;
                   end;

                    vDifDescto := DataModule1.ClientMestreTOTAL_DESCTO.AsFloat - fsvDesc;

                    if vDifDescto < 0 then
                    vDifDescto := vDifDescto * -1;

                    Maiorvalor:= DataModule1.ClienteDetalheMaior.AsString;

                   DataModule1.ClienteDetalhe.Locate('VALOR_TOTAL',Maiorvalor,[loPartialKey]);
                   DataModule1.ClienteDetalhe.Edit;
                   DataModule1.ClienteDetalheVALOR_DESCTO.AsFloat :=DesctoAcomulado + DataModule1.ClienteDetalheVALOR_DESCTO.AsFloat;
                   DataModule1.ClienteDetalhe.Post;
                   DataModule1.ClienteDetalhe.ApplyUpdates(-1);

          finally

                 DataModule1.ClienteDetalhe.EnableControls;
          end;

     

    Já fiz de tudo não funciona, ão sei o que é exatamente

     

    1 hora atrás, Adelmo Junior disse:

    Não funcionou!

    Influencia nos tipos de variáveis com currency, extended e double?

    estava usando currency e extended vinha com casas decimais com 6 dígitos e agora mudei para double e ja mudou aqui, acredito que seja isso

  4. 33 minutos atrás, Adelmo Junior disse:

    Não funcionou!

         DesctoAcomulado:=0;
          ValorDescto:= 0.00;
          percdescto:= 0.00;
          TotalRealDescto:= 0.00;
          ValorDesctoProduto:=0;

          try

                   ValorDesctoProduto:= DataModule1.ClientMestreTOTAL_DESCTO.AsFloat/QtdeTotalItens;
                   Maiorvalor:= DataModule1.ClienteDetalheMaior.AsString;

                   DataModule1.ClienteDetalhe.DisableControls;
                   DataModule1.ClienteDetalhe.First;
                   while not DataModule1.ClienteDetalhe.eof do
                   begin
                         if DataModule1.ClienteDetalheCANCELADO.AsString ='N' then
                         begin
                           //    percdescto          := DataModule1.ClientMestrePERC_DESCTO.AsFloat;
                           //    ValorDescto     :=  (percdescto * Datamodule1.ClienteDetalheVALOR_TOTAL.AsFloat)/100;
                             try
                               DataModule1.ClienteDetalhe.Edit;
                               DataModule1.ClienteDetalheDESCTO.AsFloat:= percdescto;
                               if DataModule1.ClienteDetalheVALOR_TOTAL.AsFloat < ValorDesctoProduto   then
                                  DesctoAcomulado:= DesctoAcomulado + ValorDesctoProduto
                               else
                                  DataModule1.ClienteDetalheVALOR_DESCTO.AsFloat:= ValorDesctoProduto;

                               DataModule1.ClienteDetalhe.Post;
                               DataModule1.ClienteDetalhe.ApplyUpdates(-1);
                               TotalRealDescto:= TotalRealDescto +ValorDescto;
                             except

                             end;
                         end;

                         DataModule1.ClienteDetalhe.Next;
                   end;

                    vDifDescto := DataModule1.ClientMestreTOTAL_DESCTO.AsFloat - fsvDesc;

                    if vDifDescto < 0 then
                    vDifDescto := vDifDescto * -1;

                    Maiorvalor:= DataModule1.ClienteDetalheMaior.AsString;

                   DataModule1.ClienteDetalhe.Locate('VALOR_TOTAL',Maiorvalor,[loPartialKey]);
                   DataModule1.ClienteDetalhe.Edit;
                   DataModule1.ClienteDetalheVALOR_DESCTO.AsFloat :=DesctoAcomulado + DataModule1.ClienteDetalheVALOR_DESCTO.AsFloat;
                   DataModule1.ClienteDetalhe.Post;
                   DataModule1.ClienteDetalhe.ApplyUpdates(-1);

          finally

                 DataModule1.ClienteDetalhe.EnableControls;
          end;

     

    Já fiz de tudo não funciona, ão sei o que é exatamente

  5. 39 minutos atrás, BigWings disse:

    Você tem que guardar o resíduo do arredondamento em cada item. Somando os resíduos de arredondamento de cada item você vai ter um valor que deve ser somado ao desconto do item de maior valor.

    Ex:

    6,94 / 56,94 = 0,1218826835265191

    9,49 * 0,1218826835265191 = 1,156666666666667 => desc: 1,15 resíduo: 0,0066666666666667

    47,45 * 0,1218826835265191 = 5,783333333333333 => desc: 5,78 resíduo: 0,0033333333333333

    resíduo total: 0,0066666666666667 + 0,0033333333333333 = 0,01

    desc. total rateado = 6,93 + resíduo total => 6,93 + 0,01 = 6,94

    O resíduo total acrescenta no item de maior valor, no exemplo o segundo, ficando o desconto 5,78 + 0,01 = 5,79

     

    Vou verificar aqui, obrigado pela dica

  6. 4 minutos atrás, BigWings disse:

    No XML está correto?

    Se não estiver, provavelmente é algo na sua rotina.

    Acredito que seja no arredondamento, mas não sei como resolver;

    Tenho outro exemplo aqui:

    tenho uma venda de R$ 56,94 aplico o desconto em (R$) de R$ 6,94 então tenho R$ 50,00, faço o rateio que se não me engano em porcentagem é 12,188 arredondando fica 12,20

    e o valor do item sem o desconto é R$ 9,49 passando a ser R$ 8,33.

    Então o desconto de cada item é de R$ 1,16 que multiplicado por 6 que seria o total de itens na nota fica o total de desconto R$ 6,96

    Lembrando que o desconto que apliquei foi de R$ 6,94 na venda e depois faço o rateio!

    Como resolver isso?

    19 minutos atrás, Adelmo Junior disse:

    Justamente faço o rateio no é que é alterado esse valor

    Eu carrego do banco para alimentar o componente

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.