Параметр с указанным именем не найден

1. DarkDaemon 13.01.21 11:47 Сейчас в теме
Есть расширение конфигурации, которое добавляет в список номенклатуры остатки по складам. На версии УТ 11.4.5 все работало хорошо, обновил на 11.4.13.103 и при входе в номенклатуру стала появляться ошибка "Параметр с указанным именем не найден" на строке СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("Склад1", Справочники.Склады.НайтиПоНаименованию("Магазин")).

В модуле Номенклатура - Форма - Форма списка следующий код:
&НаСервере
&После("ПриСозданииНаСервере")
Процедура АП_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("Склад1", Справочники.Склады.НайтиПоНаименованию("Магазин"));
	СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("Склад2", Справочники.Склады.НайтиПоНаименованию("Инетмагазин"));
	СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("Склад3", Справочники.Склады.НайтиПоНаименованию("Оптовый склад"));
	СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Прайс-лист"));
	СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("КонПериода", ТекущаяДата());
КонецПроцедуры
Показать


СписокНоменклатура - динамический список, вот его код запроса
ВЫБРАТЬ
	СпрНоменклатура.Ссылка КАК Ссылка,
	СпрНоменклатура.Код КАК Код,
	СпрНоменклатура.Наименование КАК Наименование,
	СпрНоменклатура.Артикул КАК Артикул,
	СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
	СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
	СпрНоменклатура.Родитель КАК Родитель,
	ВЫБОР
		КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества
			ТОГДА 4 + ВЫБОР
					КОГДА СпрНоменклатура.ПометкаУдаления
						ТОГДА 1
					ИНАЧЕ 0
				КОНЕЦ + ВЫБОР
					КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
						ТОГДА 0
					ИНАЧЕ 2
				КОНЕЦ
		ИНАЧЕ ВЫБОР
				КОГДА СпрНоменклатура.ПометкаУдаления
					ТОГДА 1
				ИНАЧЕ 0
			КОНЕЦ + ВЫБОР
				КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
					ТОГДА 0
				ИНАЧЕ 2
			КОНЕЦ
	КОНЕЦ КАК ИндексКартинки,
	ТоварыНаСкладахОстатки1.ВНаличииОстаток КАК Магазин,
	ТоварыНаСкладахОстатки2.ВНаличииОстаток КАК Инетмагазин,
	ТоварыНаСкладахОстатки3.ВНаличииОстаток КАК Оптовый,
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
ИЗ
	Справочник.Номенклатура КАК СпрНоменклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&КонПериода, Склад = &Склад1) КАК ТоварыНаСкладахОстатки1
		ПО (ТоварыНаСкладахОстатки1.Номенклатура = СпрНоменклатура.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&КонПериода, Склад = &Склад2) КАК ТоварыНаСкладахОстатки2
		ПО (ТоварыНаСкладахОстатки2.Номенклатура = СпрНоменклатура.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&КонПериода, Склад = &Склад3) КАК ТоварыНаСкладахОстатки3
		ПО (ТоварыНаСкладахОстатки3.Номенклатура = СпрНоменклатура.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонПериода, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
		ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка)
ГДЕ
	НЕ СпрНоменклатура.ЭтоГруппа
{ГДЕ
	(СпрНоменклатура.Ссылка В
			(ВЫБРАТЬ
				Сегменты.Номенклатура
			ИЗ
				РегистрСведений.НоменклатураСегмента КАК Сегменты
			ГДЕ
				Сегменты.Сегмент = &СегментНоменклатуры))}
Показать


Такое чувство, что код не видит этот СписокНоменклатура. Отладчик пока не могу запустить, т.к. приложение серверное и требуется перезапуск с ключом debug.
По теме из базы знаний
Найденные решения
6. DarkDaemon 14.01.21 00:10 Сейчас в теме
Разобрался. Где-то в коде конфигурации менялся текст запроса, добавил в расширение конфигурации в начало процедуры АП_ПриСозданииНаСервере строку с запросом
СписокНоменклатура.ТекстЗапроса = "..."

И всё заработало
serverstar; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. M_A_D 184 13.01.21 12:45 Сейчас в теме
(1)
&НаСервере
Процедура MADКорзина_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	СкладОстатка = Справочники.Склады.НайтиПоНаименованию(" Основной склад г.Екатеринбург,ул.Малышева 122Н", ИСТИНА);
	ВидЦеныСписка = Справочники.ВидыЦен.НайтиПоНаименованию("Розничные Mедведя",ИСТИНА);
	СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("СкладОстатка", СкладОстатка);
	СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("ВидЦеныСписка", ВидЦеныСписка);
	
КонецПроцедуры
Показать


Все совпадает и работает.
Я бы предложил проверить галку "Безопастный режим..." и за одно "Активно"(хотя при отсутствии галки активно, расширение не отработает совсем).
4. DarkDaemon 13.01.21 19:17 Сейчас в теме
(2)
Галочка "Безопасный режим" отключена, галочка "Активно" включена.

У вас тоже реализовано через расширение конфигурации? Какая у вас версия?
3. vkozak 13.01.21 12:49 Сейчас в теме
Убедись что расширение запустилось, что нет препятствий для его применения. Возможно что то изменилось в справочнике тип переменной длина.
5. DarkDaemon 13.01.21 20:22 Сейчас в теме
(3) Расширение запустилось, без него ошибки бы не вылезло. Проверяю под админом со всеми правами. Может это даст какую-то наводку - команда

Сообщить(СписокНоменклатура.Параметры);


выводит что-то странное:

Не сопоставлено, Пустая характеристика, Сопоставление, Сопоставлено, Статусы найдено, Строка найдено, Строка найдены варианты, Строка сопоставить
6. DarkDaemon 14.01.21 00:10 Сейчас в теме
Разобрался. Где-то в коде конфигурации менялся текст запроса, добавил в расширение конфигурации в начало процедуры АП_ПриСозданииНаСервере строку с запросом
СписокНоменклатура.ТекстЗапроса = "..."

И всё заработало
serverstar; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот