Отбор по полю в ДС, которое заполняется постобработкой

1. pusal 03.12.24 15:19 Сейчас в теме
Добрый день! ERP 2.5
Есть типовая обработка по формированию списка документов закупки, и в нём есть поле "Статус оригинала первичного документа", которое заполняется уже после формирования запроса динамического списка.
Из запроса ДС видно, что первоначально поле инициализируется как NULL (см. картинку 1).

Затем происходит вызов процедуры общего модуля, где создаётся реквизит формы, поле списка и заполняется значениями:

	РеквизитСписокСостояние = Форма.Элементы.Вставить("СостояниеОригиналаПервичногоДокумента",Тип("ПолеФормы"),Список,Расположение);
	РеквизитСписокСостояние.Вид = ВидПоляФормы.ПолеНадписи;
	РеквизитСписокСостояние.ГиперссылкаЯчейки = Истина; 
	РеквизитСписокСостояние.Заголовок = НСтр("ru = 'Состояние оригинала';
											|en = 'Original state'");
	РеквизитСписокСостояние.ПутьКДанным = Список.Имя + ".СостояниеОригиналаПервичногоДокумента";
	
	Если Не ПраваНаИзменениеСостояния() Тогда
		РеквизитСписокСостояниеПолучен.Доступность = Ложь;
		РеквизитСписокСостояние.Доступность = Ложь;
		Возврат;
	КонецЕсли;
	
	// Создание списка
	Реквизиты = Новый Массив;
	Реквизиты.Добавить(Новый РеквизитФормы("СписокВыбораСостоянийОригинала", Новый ОписаниеТипов("СписокЗначений")));	
	Форма.ИзменитьРеквизиты(Реквизиты);
	
	СостоянияОригиналов = ИспользуемыеСостояния();
	
	Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
		ВывестиНаФормуКомандыСостоянияОригинала(Форма, Список, СостоянияОригиналов);
	КонецЕсли;

	ЗаполнитьСписокВыбораСостоянийОригинала(Форма, СостоянияОригиналов);
Показать


Мне необходимо реализовать отбор на форме динамического списка по статусу оригинала. Пробовал через реквизит формы "СостояниеОригиналаПервичногоДокумента" с типом значения СправочникСсылка.СостоянияОригиналовПервичногоДокумента (именно там хранятся статусы оригиналов) и вешал на него обработчик ПриИзменении со следующим кодом:
		ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
		СписокДокументыЗакупки,
		"СостояниеОригиналаПервичногоДокумента",
		СостояниеОригиналаПервичногоДокумента,
		ВидСравненияКомпоновкиДанных.Равно,
		,
		ЗначениеЗаполнено(СостояниеОригиналаПервичногоДокумента));

Показать


Получаю ошибку:
Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно. Не найдено поле отбора СостояниеОригиналаПервичногоДокумента
[ОшибкаНастроекКомпоновкиДанных]

Буду рад любой наводке на решение вопроса.
Спасибо заранее.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
7. Sashares 35 03.12.24 15:53 Сейчас в теме
(5) Вы можете добавить на форму документа реквизиты СостояниеДляОтбора и булевый ОтборПоСостояниюНужен и вывести в шапку.
И добавить отбор по ссылке на документы с выбранным статусом (как описано выше), если отбор включен и задан.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Sashares 35 03.12.24 15:36 Сейчас в теме
(1) Если поле заполняется в ПриПолученииДанныхНаСервере, то никак отбор по этому полю сделать не получится.

Только делать запрос к регистру, получать ссылки документов нужного вида с заданным статусом, а потом ставить отбор по ссылке в исходном ДС.
5. pusal 03.12.24 15:47 Сейчас в теме
(3)
ПриПолученииДанныхНаСервере

да, именно там.
Сделаю тогда дополнительную колонку для отбора.
Спасибо!
7. Sashares 35 03.12.24 15:53 Сейчас в теме
(5) Вы можете добавить на форму документа реквизиты СостояниеДляОтбора и булевый ОтборПоСостояниюНужен и вывести в шапку.
И добавить отбор по ссылке на документы с выбранным статусом (как описано выше), если отбор включен и задан.
2. user2116971 03.12.24 15:31 Сейчас в теме
А почему нельзя получить Состояние в тексте запроса?
Ведь что такое отбор СКД - это тупо исполнение запроса с новыми параметрами.
4. pusal 03.12.24 15:36 Сейчас в теме
(2)
А почему нельзя получить Состояние в тексте запроса?

здравствуйте. Полагаю, что в тексте запроса получить состояние можно.
Но в данном случае, в данном поле отображается не только состояние, но и возможность его изменить по нажатию (см. скрин)
Не хотелось менять текст запроса динамического списка.
Прикрепленные файлы:
6. Sashares 35 03.12.24 15:48 Сейчас в теме
(2) Состояние хранится в регистре, у регистра несколько измерений.
Будет плохо, если по одному документу соединение с регистром вернет несколько записей.
8. user2116971 03.12.24 15:55 Сейчас в теме
(6) Я просто в предметную область вопроса не вникал (в конкретную конфигурацию ТС), меня для начала концептуальные вопросы интересуют...
9. Sashares 35 03.12.24 16:07 Сейчас в теме
(8) Это БСП, подсистема УчетОригиналовПервичныхДокументов. Ну так, к слову.
10. user2116971 03.12.24 16:23 Сейчас в теме
(9) Ну теперь-то я уж пригляделся, спасибо ))
Оставьте свое сообщение

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