В определенные моменты рабочего дня, система не может выполнить запрос к таблице цен:
Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
Ошибка выполнения запроса
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 10.0: Превышено время ожидания запроса на блокировку.
HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=38, Severity=10, native=1222, line=1
Судя по описание ошибки РС чем то заблокирован, когда система пытается выполнить запрос. Есть ли возможность узнать, перед выполнением запроса, - заблокирован РС или нет ?
Пока не удается понять - чем именно блокируется регистр.
потому что сам запрос выглядит так:
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
| &КонПериода,
| Цена = &Цена
| И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних";
Да. и ждет и ошибка у пользователей появляется... понятно что саму ошибку я обработаю, чтобы не падало, через попытку.
Но хотелось бы перед выполнением проверить - не заблокировано ли.
нет. РС вручную, только документом.
ладно, пока в попытку завернул.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший