Ir para conteúdo
  • Cadastre-se

Wesley Lamb

Membros
  • Total de ítens

    6
  • Registro em

  • Última visita

Posts postados por Wesley Lamb

  1. Bom dia pessoal.

    Fui fazer uma consulta de rotina referente a transmissão de alguns clientes que já emitiam desde o mês passado, e do nada apareceram outros 4 clientes (3 ativos e 1 não-usuário do nosso sistema) na listagem de clientes com pendência de transmissão.

    O curioso é que todos os novos clientes constavam 1 pendência de transmissão apenas, mas consultando o CNAE dos mesmos através do Sintegra, os mesmos possuem um dos CNAEs de setembro ainda, resultando em mais de 20 pendências se levar em consideração as reduções Z emitidas.

     

    Mais alguém identificou novos clientes no S@T referente ao Bloco X?

    • Curtir 1
  2. Olá pessoal,

    Eu consegui sanar o problema de rateio do Bloco X ajustando na extração dos dados. o SQL me retorna exatamente o valor rateado.

    O cálculo para calcular o ValorDesconto é: Item.valordesc + ((Venda.totalbruto - Venda.totalliquido) * (Item.totalliquido / Venda.totalbruto)) 

    Para calcular o ValorTotalLiquido: Item.totalliquido - (Venda.totalbruto - Venda.totalliquido) * (Item.totalliquido / Venda.totalbruto)

    Montei uma tabela explicando todo o procedimento

    Rateio desconto acresc.ods

    • Curtir 3
  3. Encontrei uma maneira de contornar o problema.
    Criei um ClientDataSet e alimentei com todos os campos e valores que eu tinha, depois só apontei ao relatório o DataSource.
    Segue o código caso alguém quiser seguir meus passos:
     

       cdsTeste.Close;
       cdsTeste.FieldDefs.Clear;
       for I := 0 to Pred(ADQGeradorRelatorio.FieldCount) do
       begin
          case ADQGeradorRelatorio.Fields[I].DataType of
             ftBCD, ftFloat, ftCurrency, ftSingle, ftFMTBcd, ftExtended:
             begin
                cdsTeste.FieldDefs.Add(ADQGeradorRelatorio.Fields[I].FieldName, ftBCD, 0, false);
             end;
             else
             begin
                cdsTeste.FieldDefs.Add(ADQGeradorRelatorio.Fields[I].FieldName,
                                       ADQGeradorRelatorio.Fields[I].DataType,
                                       ADQGeradorRelatorio.Fields[I].Size, false);
             end;
          end;
       end;
       cdsTeste.CreateDataSet;

    Basicamente, o que ele vai fazer é tornar ftBCD todos os campos do tipo decimal. Como trabalho com apenas 4 casas decimais não tive problemas com perda de dados.

  4. Estou criando um relatório em tempo de execução que irá verificar o DataType de um column de um grid e, caso seja um equivalente a ponto flutuante (ftFloat, ftExtended, ftBCD, ftCurrency, ftFMTBcd e ftSingle) irá gerar um RLDBResult com este campo.
    O problema é que campos no tipo (ftFMTBcd e ftSingle) o RLDBResult não calcula os valores, permanece valor 0, vide print: http://prntscr.com/o3vkjr.

    Alguém por ventura teria enfrentado este problema e conseguiu uma solução?

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