Нужна помощь! Отборы на форме списка регистра сведений

1. Drivingblind 233 15.11.19 13:40 Сейчас в теме
Здравствуйте. Столкнулся со следующий затруднением.
Необходимо сделать отбор на форме регистра сведений по полю с типом значения Уникальный идентификатор. Вид сравнения - в списке.
Ругается система на строчку:
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;

"Ошибка при установке значения атрибута контекста (ВидСравнения) по причине: Недопустимый тип сравнения"

Подскажите, пожалуйста, как разрешить данный вопрос.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Lenten 25 15.11.19 13:46 Сейчас в теме
в отладчике посмотрите ЭлементОтбора.ВидСравнения какой тип?
Drivingblind; +1 Ответить
4. Drivingblind 233 16.11.19 12:46 Сейчас в теме
(2) в отладчике тип данных ВидСравненияКомпоновкиДанных. Если мы сравниваем с другими типами (ссылочными или простыми) код отрабатывает корректно. На уникальные идентификаторы ругается
3. VmvLer 15.11.19 13:49 Сейчас в теме
поля с типом с типом значения Уникальный идентификатор в платформах 8.3.12+(вроде) вроде можно использовать в условиях запросов с "В", например
условие
ГДЕ ТаблицаРегистра.УИД В (&мУИды)

в обычном запросе должно работать

станет ли СКД из отбора генерить подобные условия - проверьте и расскажите
станет ли запрос динамического списка работать - проверьте и расскажите

а по вашей ошибке - наверняка "суете" в отбор строку какую-нить.
Drivingblind; +1 Ответить
5. Drivingblind 233 16.11.19 12:49 Сейчас в теме
(3) платформа 8.3.13. Запрос, действительно, отрабатывает, а отбор — нет. В отбор «сую» массив идентификаторов. Выдаёт вышеописанную ошибку
6. Drivingblind 233 17.11.19 09:23 Сейчас в теме
Кусок кода, который отвечает за отбор на форме. Обычные формы.
				
Форма = РегистрыСведений.СпецификацииСоСложнымУсловием.ПолучитьФормуСписка();
Форма.РежимВыбора = Истина;
					
Список = Новый СписокЗначений;
ОтборИзделие = Форма.Отбор.Найти("УникальныйИдентификатор");
ОтборИзделие.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;

//Здесь можно поставить "ВидСравнения.ВСписке" вместо "ВидСравненияКомпоновкиДанных.ВСписке"
//всё равно, будет ошибка
ОтборИзделие.Значение = Список.ЗагрузитьЗначения(ТЗ.ВыгрузитьКолонку("УникальныйИдентификатор"));
ОтборИзделие.Использование = Истина;
Показать
9. Drivingblind 233 20.11.19 07:08 Сейчас в теме
(8) на обычных формах будет работать?
7. Lenten 25 18.11.19 09:49 Сейчас в теме
как вариант перегнать колонку с уникальными идентификаторами в строку и по ним отбираться (может отдельную сделать и заполнять ее). Или уникальные идентификаторы в ссылки и по ним отбираться (тоже может в отдельной колонке)
Drivingblind; +1 Ответить
10. Drivingblind 233 20.11.19 07:11 Сейчас в теме +0.1 $m
(7) Вопрос "решил" следующим образом: создал общую форму с Таблицей значений и выгружаю информацию в неё, а не делаю отборы по форме списка регистра.
Оставьте свое сообщение

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