Calculos de Salarios

Firebird

29/11/2003

Olá pessoal!

Eu gostaria de saber como eu posso montar uma stored procedures para calcular para mim os seguintes valores T_BRUTO, T_DESCONT, T_LIQ, com base nos dados informados no lançamento dos eventos, tipo VANTAGENS (SLR_BASE, GRATIFICACAO, ADC_NOTURNO, CRED_REF_PENSAO) e descontos(INSS, FALTAS, DESC_REF_ADIANTAMENTO, CTR_SIND, IRRF).

Não estou conseguindo montar isso no IB pois esta tabela era no Paradox, se alguem puder me ajudar, e sem querer abusar, poderiam me informar como faço para executar a procedure?

Obrigado. :?: :oops: :cry:


Martins

Martins

Curtidas 0

Respostas

Marcos Fernando

Marcos Fernando

29/11/2003

Isso é sopa, basta ter um pouco de paciencia, vou te passar duas demos onde uma taleba calcula a outra....

[b:cead97e4df]Aqui minha tabela calcula o saldo e o valor da bomba com base no que for informado na talela ABASTECIMENTO_AVULSO[/b:cead97e4df]
CREATE TRIGGER ABASTECIMENTO_AVULSO_DELETE FOR ABASTECIMENTO_AVULSO
ACTIVE BEFORE DELETE POSITION 0
AS

begin
UPDATE BOMBAS SET
BOMBAS.saldo=BOMBAS.saldo + (OLD.QUANTIDADE),
BOMBAS.vlr_estoque=BOMBAS.vlr_estoque + (OLD.VLR_TOTAL)
WHERE INDICE = abastecimento_avulso.cod_bomba;
end

[b:cead97e4df]Aqui ele recalcula quando usuario efetuar alguma alteração na tabela
ABASTECIMENTO_AVULSO[/b:cead97e4df]
CREATE TRIGGER ABASTECIMENTO_AVULSO_UPDATE FOR ABASTECIMENTO_AVULSO
ACTIVE AFTER UPDATE POSITION 0
AS

begin
UPDATE BOMBAS SET
BOMBAS.saldo=BOMBAS.saldo - (NEW.QUANTIDADE - OLD.QUANTIDADE),
BOMBAS.vlr_estoque=BOMBAS.vlr_estoque - (new.VLR_TOTAL - OLD.VLR_TOTAL)
WHERE INDICE = abastecimento_avulso.cod_bomba;
end



Viu como é molesa, veja bem c vc precisa realmente criar um Sp ou uma TRIGGER como eu fiz......


GOSTEI 0
POSTAR