УТП 1.2.49.1
Предыстория.
Где-то полгода назад обновил платформу с 8.2.19.130 на 8.3.8.2442. Сразу же на следующий день во многих пользователей и очень часто посыпались ошибки на превышение времени ожидания блокировки. Тогда я причину не выявил, т.к. не особо располагал временем, а пользователи очень сильно жаловались. Я даже здесь тему создавал, но и это не помогло. В общем, откатил платформу обратно на 8.2 и проблема исчезла.
Теперь же опять обновил платформу, но уже на 8.3.10.2650 и проблема опять возникла.
Что я выяснил.
В 4 утра запускается регламентное задание, которое запускает обработку, которая формирует и проводит в цыкле документы "Отчет о розничных продажах". Документов всегда должно быть 37 (равно количеству складов), строк в документе в среднем 250. После перехода на 8.3 регламентное задание стало зависать, а точнее после проведения нескольких документов следующий зависает. Это мог быть по счету 5 или 7 или 10 - какой-то закономерности не выявил. Если потом запустить его проведение - проводится без проблем. При выполнении этого регламентного задания ни пользователи ни другие регламентные задания в базе не работают.
Еще точнее выяснил, что зависает выполнение запроса к регистру сведений. Запрос базовый. Вот код:
Функция СформироватьЗапросПоПродажнымЦенам(ДатаЦен, СписокСкладов, СписокНоменклатуры) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Дата", ДатаЦен);
Запрос.УстановитьПараметр("СписокСкладов", СписокСкладов);
Запрос.УстановитьПараметр("СписокНоменклатуры", СписокНоменклатуры);
ТекстЗапроса = "
|ВЫБРАТЬ
| ЦеныПродажные.Склад КАК Склад,
| ЦеныПродажные.Номенклатура КАК Номенклатура,
| ЦеныПродажные.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ЦеныПродажные.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(&Дата, Склад В (&СписокСкладов)
| И Номенклатура В (&СписокНоменклатуры)) КАК ЦеныПродажные
|";
Запрос.Текст = ТекстЗапроса;
Возврат Запрос.Выполнить();
КонецФункции // СформироватьЗапросПоПродажнымЦенам()
Vidocq05 @ 08.02.19, 16:20
,
По-разному отрабатывает преобразование запроса из текста запроса на 1С. Надо смотреть в профайлере и план запроса.
П.С. Помню MySQL в молодые годы тормозил при встрече с конструкцией "IN", но MSSQL нормально отрабатывал. Странное что-то.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua