SET TERM ^ ; CREATE OR ALTER procedure XX_SET_VAT_20_RUS ( PARAMSTR varchar(250)) as declare variable id integer; declare variable code varchar(6); declare variable name varchar(50); declare variable counter integer; begin /* Процедура для изменения налога НДС 18% на налог НДС 20% */ counter = 0; for select id, code, name from tax where rate=18 and enabled=1 order by id into id, code, name do begin if (counter=0) then begin name = 'НДС 20% (бывш. НДС 18%)'; code = 'TAX20'; end else begin name = 'НДС 20% ('|| counter ||') (бывш. ' || substr(name,1, 20) || ')'; code = 'T20_' || counter; end update TAX set rate=20,name=:name, code=:code where id=:id; counter = counter + 1; end end ^ commit ^ CREATE OR ALTER trigger tr_xx_vat_20_rus_enabled for workshifts active after insert position 0 AS declare variable ss integer; begin --01.01.2019 if (new.id=43466) then begin execute procedure XX_SET_VAT_20_RUS(''); end end ^ commit ^ set term ; ^