13.1.08

Alterando uma nota fiscal com lançamentos no Fluxus e no Saldus

Eu uso este script:

DECLARE @iIDMOV INT;
DECLARE @fVALOR FLOAT;
DECLARE @iCODFILIAL INT;
DECLARE @iALIQUOTA FLOAT;
DECLARE @dDATAEMISSAO DATETIME;
DECLARE @iPRECOUNITARIO FLOAT;

SET @fVALOR = 580.3900
SET @iCODFILIAL = 17;
SET @dDATAEMISSAO = '05/18/2007'
SET @iIDMOV = (select IDMOV from TMOV where numeromov = '027856' and codfilial = @iCODFILIAL and codtmv = '2.1.16');
SET @iALIQUOTA = 2;
SET @iPRECOUNITARIO = 22.2568;

update TMOV set VALORBRUTO = @fVALOR, VALORLIQUIDO = @fVALOR, VALOROUTROS = @fVALOR, VALORBRUTOINTERNO = @fVALOR where codfilial = @iCODFILIAL and idmov = @iIDMOV
update TMOV set CAMPOLIVRE1 = substring(campolivre1, 1, 13) + substring(replace(convert(varchar(10), @iALIQUOTA), '.', ','), 1, 4) + '%' + substring(campolivre1, 17, 20) where IDMOV = @iIDMOV and campolivre1 like '%ISS%'
update TTRBMOV set BASEDECALCULO = @fVALOR, BASEDECALCULOCALCULADA = @fVALOR, ALIQUOTA = @iALIQUOTA, VALOR = (@fVALOR * (ALIQUOTA / 100)) where IDMOV = @iIDMOV
update TITMMOV set VALORTOTALITEM = @fVALOR, PRECOUNITARIO = @iPRECOUNITARIO where IDMOV = @iIDMOV AND NSEQITMMOV = 1
update TMOVRATDEP set VALOR = @fVALOR where CODFILIAL = @iCODFILIAL and IDMOV = @iIDMOV
update TMOVRESUMOTRBIT set VALOR = @fVALOR WHERE IDMOV = @iIDMOV
update FLAN set VALORORIGINAL = @fVALOR, VALORCHEQUE = @fVALOR, VALOROP3 = (@fVALOR * (ALIQUOTA / 100)) where IDMOV = @iIDMOV
update FLAN set VALOROP2 = (@fVALOR * .055) Where IDMOV = @iIDMOV
update FLANCONT set VALOR = @fVALOR where IDLAN in (Select IDLAN from FLAN where IDMOV = @iIDMOV)
update FLANRATCCU set VALOR = @fVALOR where IDLAN in (Select 7DLAN from FLAN where IDMOV = @iIDMOV)
update FLANRATDEP set VALOR = @fVALOR where IDLAN in (Select IDLAN from FLAN where IDMOV = @iIDMOV)
update CLCTLOTE set VALOR = @fVALOR WHERE LCTREF IN (SELECT LCTREF FROM TMOVCONT WHERE IDMOV = @iIDMOV)

Nota: Para alterar um valor de um ítem de uma nota com vários itens, modifique a sentença do Update Titmmov.

Nenhum comentário: