Ззапрос с условием выбор когда... тогда

1. 21 14.01.22 10:32 Сейчас в теме
Добрый день.

Часть запроса-
ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ(&Строения) = ТИП(Справочник.ГруппыСтроений)
			ТОГДА  ГруппаСтроений = &Строения
		ИНАЧЕ Строение  В (&Строения)
КОНЕЦ


ошибка:
по причине:
Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ТОГДА ГруппаСтроений <<?>>= &Строения


Передается или справочник группа строений, или массив строений.
Почему ругается на указанную строчку не понятно. Не должно вообще туда заходить, если массив.

Подскажите, где бокопорю?
Вознаграждение за ответ
Показать полностью
Найденные решения
5. Jogeedae 38 14.01.22 10:46 Сейчас в теме +1 $m
К чему проверка на тип?
Вроде здесь достаточно условия :
ГруппаСтроений В (&Строения)
        ИЛИ Строение  В (&Строения)


Ошибка происходит потому что преобразователь запроса ожидает одинаковое обращение к параметру &Строение, а в вашем запросе вы к нему и как к коллекции обращаетесь и как к одиночному значению
user1619761; SlavaKron; +2 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user1619761 14.01.22 10:35 Сейчас в теме
(1)
ТИП(Справочник.ГруппыСтроений)
попробуйте добавить проверку на пустую ссылку.
3. VZyryanov 14.01.22 10:37 Сейчас в теме
 (&Строения ССЫЛКА Справочник.ГруппыСтроений И  ГруппаСтроений = &Строения)
ИЛИ Строение  В (&Строения))
4. SlavaKron 14.01.22 10:39 Сейчас в теме
ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(&Строения) = ТИП(Справочник.ГруппыСтроений)
            ТОГДА  ГруппаСтроений В (&Строения)
        ИНАЧЕ Строение  В (&Строения)
КОНЕЦ
5. Jogeedae 38 14.01.22 10:46 Сейчас в теме +1 $m
К чему проверка на тип?
Вроде здесь достаточно условия :
ГруппаСтроений В (&Строения)
        ИЛИ Строение  В (&Строения)


Ошибка происходит потому что преобразователь запроса ожидает одинаковое обращение к параметру &Строение, а в вашем запросе вы к нему и как к коллекции обращаетесь и как к одиночному значению
user1619761; SlavaKron; +2 Ответить
6. fugu 21 14.01.22 11:04 Сейчас в теме
(2) поясните, зачем проверка на пустую ссылку и куда добавить?

(3) Не корректное условие, по типу я определяю, если справочник - тогда сравнить по группе строений, если массив - значит все строения массива.

(4) Вы предлагает все добавить в массив, просто разные массивы, но как определять, какой тип массива?) Тогда не корректно условие по ТИПЗначение

(5) мне нужен отбор или по группе или по списку строений - это разные справочники.
10 строений может входить в группу, а в списке может быть 5 строений. и я определяю почем делать отбор.
9. VZyryanov 14.01.22 11:11 Сейчас в теме
(6)
&Строения ССЫЛКА Справочник.ГруппыСтроений

это тоже самое, что
ТИПЗНАЧЕНИЯ(&Строения) = ТИП(Справочник.ГруппыСтроений)

Только короче.
10. Jogeedae 38 14.01.22 11:18 Сейчас в теме
(6) У вас всё равно один параметр!
Если вы хотите усложнить условие, то расширьте логику на проверку 2х параметров:
&ГруппыСтроений и &Строения
7. Romeo_1c_programmer 21 14.01.22 11:05 Сейчас в теме
Типы в 1С 8.3 это классификация данных по их виду (число, строка, дата, документ, справочник и т.п.). Массив в данном случае не подойдет
8. Romeo_1c_programmer 21 14.01.22 11:09 Сейчас в теме
(7) будет работать как предложил (5)
11. coollerinc 150 14.01.22 11:22 Сейчас в теме
Просто напишите Строение В (&Строения) и это будет работать, если строение будет Массивом или Ссылкой
Jogeedae; +1 Ответить
12. Jogeedae 38 14.01.22 11:28 Сейчас в теме
(11) да, точно! В (5), забыл это упомянуть.

И ещё если нужно подгруппы шерстить, то условие должно быть "...В ИЕРАРХИИ ..."
13. fugu 21 14.01.22 11:30 Сейчас в теме
(9) ошибку выдает - Несовместимые типы "ССЫЛКА"
КОГДА &Строения <<?>>ССЫЛКА Справочник.ГруппыСтроений
14. VZyryanov 14.01.22 11:57 Сейчас в теме
(13) Был не прав, извините.
ССЫЛКА не работает не только, когда параметр слева массив, но и когда параметр элемент другого справочника.
15. fugu 21 14.01.22 12:42 Сейчас в теме
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Старший программист 1С
Новосибирск
зарплата от 100 000 руб. до 200 000 руб.
Полный день

Тестировщик 1С
Санкт-Петербург
зарплата от 60 000 руб. до 120 000 руб.
Полный день

Архитектор НСИ
Москва
зарплата от 250 000 руб. до 300 000 руб.
Полный день

1С Программист по 1С:Управление торговлей
Кострома
зарплата от 100 000 руб. до 110 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству