hola,
tengo una tabla de líneas de documentos en la cual tengo un desencadenador
que me calcula la línea. Pues bién, el desencadenador es como:
CREATE TRIGGER Control_stock_linea ON dbo.T_LiniesDocument
FOR INSERT, UPDATE
AS
declare @basei_net Imports, @basei_brut Imports, @unitats quantitats ...
select @descompte=descompte, @unitats=unitats,
@basei_brut=(unitats*preu_unitari_brut),
@w_preuunitari_brut=preu_unitari_brut from inserted
update T_liniesDocument
set preu_unitari_net=@w_preuunitari_net, -- preus unitaris
preu_unitari_brut=@w_preuunitari_brut,
descompte_unitari = @w_preuunitari_brut-@w_preuunitari_net,
total_descompte= @basei_brut - @basei_net, -- imports descompte
stock=inserted.unitats*@r_stock,
total_bi_brut = @basei_brut, total_bi_net = @basei_net,
impost1 = @r_impost1 , impost2=@r_impost2 , --impostos
total_linea = @basei_net+@r_impost1+@r_impost2,
cost_unitari = @w_pmpc,
marge_unitari = @w_preuunitari_net-@w_pmpc, -- marges unitaris
cost_total = @w_pmpc*@unitats,
marge_total = @basei_net - (@w_pmpc*@unitats) -- marges totals
from T_liniesDocument inner join inserted on
inserted.id_linea=T_liniesDocument.id_linea
(he pegado una parte del código, la parte q falta son definición de
variables y cálculos)
Pues bien, cuando inserto manualmente líneas todo se calcula, pero al
insertarlas a través de un select me ejecuta el trigger, pero en el select
donde tomo los datos, me lo toma como si el registro estuviera
totalmente en blanco, porqué?????????????????
alguien me sabe decir porqué
gracias
Leer las respuestas