7.Переходим в 1с. В открытом документе нажимаем Ок Сохранить документ нажимаем Да. Далее происходит следущее 1с пытается сохранить документ выставили блокировку на _1SJOURN получили GetMaxID для IDDOC получает MaxID в _1SJOURN для нового документа формируем IDDOC = ' 2 ' вставляем в таблицу _1SJOURN запись о новом документе с IDDOC = ' 2 ' заносим информацию об insert в журнал транзакций узнаем row_id для добавленной записи ( в моем случае это 6 ) назначаем для _1SUIDCTL макс id = ' 2 ' заносим информацию об update _1SUIDCTL в журнал транзакций читаем из _1SJOURN запись с IDDOC = ' 2 ' начинаем делать insert в шапку документа счет ( dh12 ) ничего не получилось и идет откат транзакции Обновляется журнал транзакций.
set implicit_transactions on 1CV7 SP:StmtStarting -- _1sp__1SJOURN_TLockX select @i=1 from _1SJOURN(TABLOCKX HOLDLOCK) where 0=1 1CV7
-- _1sp__1SUIDCTL_GetMaxID select @id=MAXID from _1SUIDCTL(NOLOCK) where TYPEID=@tid exec _1sp__1SJOURN_MaxID @P1 output exec sp_executesql N'Insert into _1SJOURN values( @P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11)', N'@P1 int,@P2 varchar(9),@P3 int,@P4 smallint,@P5 varchar(23),@P6 varchar(18),@P7 varchar(5),@P8 tinyint,@P9 bit,@P10 int,@P11 int', 0, ' 2 ', 12, 0, '20090909B0I9GG 2 ', ' 12 ', ' 1212', 0, 0, 0, 0 exec _1sp__1SJOURN_MaxRowID @P1 output exec _1sp__1SUIDCTL_SetMaxID 0, ' 2 ' exec _1sp__1SJOURN_ByIDDOC ' 2 ' exec sp_executesql N'Insert into DH12 values( @P1,@P2)', N'@P1 varchar(9),@P2 varchar(10)', ' 2 ', '2131 ' SQL:BatchStarting IF @@TRANCOUNT > 0 ROLLBACK TRAN 1CV7
|