Имя: Пароль:
1C
1С v8
Как проверить - заблокирован ли РС на чтение ?
0 r1000
 
08.07.19
11:16
В определенные моменты рабочего дня, система не может выполнить запрос к таблице цен:

Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
Ошибка выполнения запроса
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 10.0: Превышено время ожидания запроса на блокировку.
HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=38, Severity=10, native=1222, line=1

Судя по описание ошибки РС чем то заблокирован, когда система пытается выполнить запрос. Есть ли возможность узнать, перед выполнением запроса, - заблокирован РС или нет ?
Пока не удается понять - чем именно блокируется регистр.
1 Жан Пердежон
 
08.07.19
11:24
установи блокировку сам перед запросом, а так - ТЖ
2 Жан Пердежон
 
08.07.19
11:28
херню сказал, блокировка не поможет, тебе сразу в тж / на скуль надо; кстати, почему уверен что РС?
3 r1000
 
08.07.19
11:33
потому что сам запрос выглядит так:
    Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
    |    ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
    |            &КонПериода,
    |            Цена = &Цена
    |                И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних";
4 ptiz
 
08.07.19
11:34
(0) Ну вот, ошибка запроса и говорит о блокировке. Или не нравится то, что он долго ждет?
5 r1000
 
08.07.19
11:36
Да. и ждет и ошибка у пользователей появляется... понятно что саму ошибку я обработаю, чтобы не падало, через попытку.
Но хотелось бы перед выполнением проверить - не заблокировано ли.
6 Жан Пердежон
 
08.07.19
11:46
вангую:
в РС первичка пишет,
а тут ты всю таблицу РС сканируешь...

Типов цен много?
7 r1000
 
08.07.19
11:52
нет. РС вручную, только документом.
ладно, пока в попытку завернул.