[firebase-br] Calculo de reajuste de valores

Valdir Marcos valdir.marcos em ig.com.br
Qui Out 30 19:15:52 -03 2008


Boa tarde.

Simples:
1. Migre para o FB 2.1.1.
2. Refaça o controle transacional da sua aplicação.

Um abraço,

Valdir



Em 30/10/08, Alex Ricardo Parolin <arparolin em gmail.com> escreveu:
>
> Senhores,
>
> Tenho um BD Firebird (1.5) rodando em um cliente. O BD possui uma tabela de
> negociações e uma tabela de reajustes, com a estrutura a seguir:
>
> NEGOCIOS
> ID (PK)
> DataNegocio Date
> Empresa
> Quantidade
> Valor Minimo
> Valor Medio
> ValorMaximo
>
> REAJUSTE
> ID
> Data
> Empresa
> TipoReajuste
> Data do Reajuste
> Valor do Reajuste.
>
> O problema é o seguinte: o sistema é dividido em dois módulos. O modulo
> cliente lê os dados do BD eo modulo Admin calcula os valores e os insere no
> BD. Quando acontece um reajuste, o admin lança o reajuste na tabela
> correspondente e sai recalculando os valores da tabela de negócio. Com isso
> o cliente pode ver sempre os valores corretos, conforme os reajustes forem
> sendo lançados.
>
> Exemplo prático: sai um reajuste que divide os valores de uma empresa por
> dois. Ele é lançado na tabela de reajuste e o Admin sai dividindo todos os
> valores por dois e a tabela de negocio fica reajustada. Como podem ver, os
> reajustes são cumulativos.
>
> Agora preciso fazer o processo inverso, ou seja, descalcular o reajuste. O
> processo de "descalculo" é o seguinte: pego a data do reajuste e aplico a
> operação inversa nos valores de negócio cuja data seja igual ou menor a
> data
> do reajuste e vou fazendo isso progressivamente, da ultima data até a
> primeira data, para todos os reajustes e negócios. O usuário pode escolher
> "descalcular" somente um determinado tipo de reajuste ou vários ao mesmo
> tempo.
>
> A pergunta de um milhão de dólares: COMO FAZER ISSO SEM QUE O SOFTWARE
> FIQUE
> LENTO? Via aplicação? Via BD? Parte do processo em cada um?  Só pra terem
> uma idéia, uma empresa pode possuir mais de 100 reajustes (raro), mas
> possui
> negócios diários desde 1999.
>
> Atenciosamente,
>
> Alex
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista