powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Как обойти блокировку таблицы _1SBKTTLC?
1 сообщений из 1, страница 1 из 1
Как обойти блокировку таблицы _1SBKTTLC?
    #36204976
langoliers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть:
1. 1С SQL 7.70.0.25.
2. Microsoft SQL Server 2000 - 8.00.2055 (Intel X86).
3. В процесе разработки собственного механизма блокировок возникла следующая проблемма. Необходимо при проведении документа который участвует в бух. учете (формирует бух. операции, проводки) разработать механизм исключающий взаимоблокировки.

При проведении документа, при вызове метода
Код: plaintext
Операция.Записать();
ыполняется одна из хран. процедур, а именно "_1sp__1SBKTTLC_ChangeTotal".
В тексте данной процедуры есть
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
Update _1SBKTTLC
set
OB1=OB1+@Ob1,
OB2=OB2+@Ob2,
OB3=OB3+@Ob3,
DTFLAGS=@DtFlags,
KTFLAGS=@KtFlags
where
DATE=@Date and KIND=@Kind and ACCKTID=@AccKtId and ACCDTID=@AccDtId and CURRID=@CurId
...
.
4. Вопрос(ы):
1. Почему при выполнении даной процедуры с параметрами
@Date = Дат1;
@Kind = Вид1;
@AccKtId = СчК1
@AccDtId = СчД1
@CurId = Вал1
следующим запросом
Код: plaintext
1.
2.
3.
4.
5.
SET LOCK_TIMEOUT  500 
DECLARE @РезБло smallint
SELECT @РезБло =  1 
FROM _1SBKTTLC AS ТабБло WITH (INDEX(PK__1SBKTTLC), ROWLOCK, XLOCK)
WHERE
(ТабБло.DATE = Дат1) AND (ТабБло.ACCDTID = СчД2) AND (ТабБло.ACCKTID = СчК2)
я не могу наложить необходимую блокировку? Следует понимать, что:
СчК1, СчД1 и СчД2, СчК2 это все разные значения (комбинация значений).
2. Как решить даную задачу?
Спасибо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Как обойти блокировку таблицы _1SBKTTLC?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]