Вот он красавчег:
CREATE TRIGGER INSTEAD_TRIGGER ON [dbo].[SC1804]
INSTEAD OF INSERT
AS
SET NOCOUNT ON
DECLARE @MAX_ID CHAR(9)
DECLARE @RBD_ID CHAR(3)
DECLARE @T CHAR(9)
DECLARE @P CHAR(9)
DECLARE @C1 NUMERIC(14,3), @C2 NUMERIC(14,3), @C3 NUMERIC(14,3)
-- получаем признак системы
SELECT @RBD_ID = DBSIGN FROM _1SSYSTEM
-- Открыаем курсор для прохода по таблице добавленных
DECLARE ins_curs CURSOR FOR SELECT SP1807, SP1808, SP1809, SP1810, SP1811 FROM INSERTED
OPEN ins_curs
FETCH NEXT FROM ins_curs INTO @P, @T, @C1, @C2, @C3
WHILE @@FETCH_STATUS = 0
BEGIN
-- Получаем максимальный идентификатор
EXEC _1sp_SC1804_MaxID @MAX_ID OUTPUT
SET @MAX_ID = DBO.CONVERT10TO36(DBO.CONVERT36TO10(LEFT(@MAX_ID,6)) + 1) + @RBD_ID
INSERT SC1804 (ID, ISMARK, VERSTAMP, SP1806, SP1807, SP1808, SP1809, SP1810, SP1811)
VALUES (@MAX_ID, 0, 0, GETDATE(), @P, @T, @C1, @C2, @C3)
FETCH NEXT FROM ins_curs INTO @P, @T, @C1, @C2, @C3
END
CLOSE ins_curs
DEALLOCATE ins_curs