Не устанавливется параметр динамического списка

1. ksen 08.01.20 17:36 Сейчас в теме
Добрый вечер, пытаюсь передать параметр динамического списка в расширение, кусок запроса
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонПер, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
		ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&КонПер, ) КАК СвободныеОстаткиОстатки
		ПО СпрНоменклатура.Ссылка = СвободныеОстаткиОстатки.Номенклатура.Ссылка

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

КонецПроцедуры
Показать

Что я делаю не так? Аналогичный параметр спокойно зашел в ЦеныИОстатки
Найденные решения
12. TimurD 6 09.01.20 10:01 Сейчас в теме
Часто в типовых конфигурациях, запрос динамического списка формируется "динамически" во всяких общих модулях. К примеру, список номенклатуры (и форм подбора номенклатуры). В зависимости от настроек и входящих параметрах (актуально для форм подбора), звезд на небе, запросы могут кардинально отличаться. Что радует, основные таблицы (справочник номенклатура и пр.) всегда присутствуют, причем с определенным псевдонимом.
Скорее всего у Вас такая ситуация. Как решение допилить запрос, после его формирования в ПриСозданииНаСервере (тупо вставкой текста, или с помощью объекта СхемаЗапроса). Можно конечно залезть в дебри общих модулей, но эт только для саморазвития, если есть время.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ksen 08.01.20 18:19 Сейчас в теме
Может ли повлиять то что в самой базе есть такой же динамический список? я просто не представляю куда еще можно копать.
3. ksen 08.01.20 19:13 Сейчас в теме
Вся разница между  ЦеныИОстатки.Параметры.УстановитьЗначениеПараметра("КонПериода", ТекущаяДата());

и
СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("КонПер", ТекущаяДата());

в том что первого не было в форме списка самой базы, а второе было изначально с другим запросом без этих параметров
Такое ощущение что параметр уходит в дефолтную форму, а не в расширение.
4. independ 1527 08.01.20 19:21 Сейчас в теме
(3) если используется текущая дата (время) от параметра
КонПер 
можно отказаться
5. ksen 08.01.20 19:25 Сейчас в теме
(4)Вид цены тоже используется, от так же падает. Хочу не костыль найти, а причину.
6. independ 1527 08.01.20 19:31 Сейчас в теме
(5) в отладчике перед установкой параметра нужно просмотреть текст запроса
7. ksen 08.01.20 19:39 Сейчас в теме
(6)Не подскажите как это сделать? Текст запроса зашит в форме(настройка списка)
8. independ 1527 08.01.20 19:51 Сейчас в теме
(7)
Прикрепленные файлы:
9. ksen 08.01.20 19:55 Сейчас в теме
(8)Там действительно лежит не тот запрос что задумывался, вообще не понимаю что за запрос и откуда он взялся, пойду искать.
10. ksen 08.01.20 20:01 Сейчас в теме
(8)Пока я не полез в недра кода платформы, есть простой способ передать параметр именно в запрос с динамического списка формы расширения?
11. independ 1527 08.01.20 20:07 Сейчас в теме
(10) можно переопределить ТекстЗапроса, а потом задать параметры

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

КонецПроцедуры

&НаСервере
Функция ПолучитьТекстЗапроса()
      Возврат "Выбрать ....
      | 
      |
      | И т.д."; 
КонецФункции
Показать
user988448; deathogre; +2 Ответить
16. deathogre 22.02.22 08:48 Сейчас в теме
(11) так и есть, параметры надо задавать после переопределения запроса динамического списка
12. TimurD 6 09.01.20 10:01 Сейчас в теме
Часто в типовых конфигурациях, запрос динамического списка формируется "динамически" во всяких общих модулях. К примеру, список номенклатуры (и форм подбора номенклатуры). В зависимости от настроек и входящих параметрах (актуально для форм подбора), звезд на небе, запросы могут кардинально отличаться. Что радует, основные таблицы (справочник номенклатура и пр.) всегда присутствуют, причем с определенным псевдонимом.
Скорее всего у Вас такая ситуация. Как решение допилить запрос, после его формирования в ПриСозданииНаСервере (тупо вставкой текста, или с помощью объекта СхемаЗапроса). Можно конечно залезть в дебри общих модулей, но эт только для саморазвития, если есть время.
13. ksen 09.01.20 14:28 Сейчас в теме
(12)Еще вчера сделал, нашел все это в общем модуле, но решил просто вбросить свой запрос во совету (11), все заработало.


(11)Спасибо огромное вам, очень долго пытался сам разобраться, но не смотрел в запрос по неопытности.
14. TimurD 6 09.01.20 16:31 Сейчас в теме
(13) Запрос просто заменяешь, или дописываешь? Если просто заменяешь, то в будущем могут быть проблемы. Да такие, что без 0.7 л. не разберешься, что этот желтый круг от тебя хочет.
15. ksen 10.01.20 07:40 Сейчас в теме
(14)заменяю, но мне он там и по логике измененный нужен.
Оставьте свое сообщение

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