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

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

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


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


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

Подскажите, где бокопорю?
+
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
5. PlatonStepan 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 Сейчас в теме
ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(&Строения) = ТИП(Справочник.ГруппыСтроений)
            ТОГДА  ГруппаСтроений В (&Строения)
        ИНАЧЕ Строение  В (&Строения)
КОНЕЦ
AnryMc; +1
5. PlatonStepan 38 14.01.22 10:46 Сейчас в теме +1 $m
К чему проверка на тип?
Вроде здесь достаточно условия :
ГруппаСтроений В (&Строения)
        ИЛИ Строение  В (&Строения)


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

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

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

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

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

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

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

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