Ускорение медленной отладочной базы. УТ 11.5

Мне поставили задачу доработать расширение, в котором был доработан подбор номенклатуры.

Когда я открыл УТ 11.5, обнаружил что подбор работает очень медленно — открывается по 3 минуты. Возможно, он работает нормально в SQL-версии 1С, но отладочная у меня была файловая.

Поэтому я решил уменьшить объем номенклатуры в динамическом списке.

Доработал модуль ПодборТоваровСервер:

&Вместо("ШаблонТекстаЗапросаСпискаНоменклатурыПоПараметрамСоглашенияСПокупателем")
Функция доп_ШаблонТекстаЗапросаСпискаНоменклатурыПоПараметрамСоглашенияСПокупателем(Форма)
	Результат = ПродолжитьВызов(Форма);
	
	Вставка = " 0 КАК ДопПоле, ";
	
	Если доп_Повт.ЭтоОтладочнаяМедленнаяБаза() Тогда
		Вставка = " ПЕРВЫЕ 10 " + Вставка;
	КонецЕсли;
	
	Результат = "ВЫБРАТЬ " + Вставка + Сред(Результат, 8); //Длина слова ВЫБРАТЬ +1, может не работать, если 1С напишет ВЫБРАТЬ РАЗРЕШЕННЫЕ
	
	Возврат Результат;
КонецФункции

Однако этот способ повлек за собой ошибку:

Тогда я заменил условие, чтобы выводились только товары, начинающиеся на букву А, в том же модуле:

&Вместо("ШаблонТекстаЗапросаСпискаНоменклатурыПоПараметрамСоглашенияСПокупателем")
Функция доп_ШаблонТекстаЗапросаСпискаНоменклатурыПоПараметрамСоглашенияСПокупателем(Форма)

	//Осипов - т.к. процедура огромная, будем меня по необходимости функционал
	Результат = ПродолжитьВызов(Форма);
	
	
	Вставка = " 0 КАК ВДоступе, ";
	
	Если доп_Повт.ЭтоОтладочнаяМедленнаяБаза() Тогда
		Маркер = "ГДЕ";
		Результат = СтрЗаменить(Результат, Маркер, Маркер + " СправочникНоменклатура.Наименование ПОДОБНО ""А%"" И " );
	КонецЕсли;
	
	Результат = "ВЫБРАТЬ " + Вставка + Сред(Результат, 8); //Длина слова ВЫБРАТЬ +1, может не работать, если 1С напишет ВЫБРАТЬ РАЗРЕШЕННЫЕ
	

	Возврат Результат;
КонецФункции

Вот как это выглядит в шаблоне:

А вот как уже в результате:

Но, увы. Все это не помогло. Подбор работал медленно.

Я перенес базу на SSD диск, стало открываться чуть быстрее, но для отладки неприемлимо долго.

Пришлось перенести на SQL-сервер, причем, чтобы SQL база была на SSD-диске. Стало открываться за 5 секунд. С такой скоростью уже можно работать.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован.