Имя: Пароль:
1C
1С v8
Соединить реквизиты из двух справочников
0 dubolom
 
21.07.21
16:19
Есть два справочника, условно говоря, первый:
Иванов 3
Васильев 8
Петрова 8

Второй:
Иванов Красный
Васильев Синий
Васильев Жёлтый

Требуется получить все возможные сочетания чисел и цветов для каждой фамилии, в данном случае:

Иванов 3 Красный
Васильев 8 Синий
Васильев 8 Жёлтый

Не подскажете, как это реализовать? Всю голову уже сломал.
1 ДенисЧ
 
21.07.21
16:21
выбрать спр1.поле1, спр1.Поле2, спр2.поле2
из справочник.СПравочник1 как спр1
левое соединение Справочник.Справочник как спр2
по спр1.Поле1 = спр2.поле1
2 ДядяМитяй
 
21.07.21
16:24
(1) Этак у тебя Петрова туда попадет. А Петрову ТС не любит. Скорее Внутренне соединение.
3 ДенисЧ
 
21.07.21
16:26
(2) гед спр1.Поле <> Петрова.
4 ДядяМитяй
 
21.07.21
16:26
В примере ненакрашеная Петрова не достойна быть в результате запроса
5 Жан Пердежон
 
21.07.21
16:31
(0) звучит как вопрос собеседования для джуна с нулевым опытом (проверить, что хоть что-то знает)
6 Said_We
 
21.07.21
16:32
(5) Неа - это как раз троллинг.
Он только сегодня на подобные вопросы и сложнее сам отвечал в ветках.

(0) Так зачем активизировать активность на форуме?
7 ДядяМитяй
 
21.07.21
16:32
(5) если на собеседовании так мутно сформулируют задание - уходить без комментариев
8 Said_We
 
21.07.21
16:35
(1) Можно без соединения.
Примерно как тут:
Запрос по характеристикам
9 Said_We
 
21.07.21
16:38
(8) Не... тут полное соединение - бывают повторения у таблиц:
...
Васильев Синий
Васильев Жёлтый
...
10 ДядяМитяй
 
21.07.21
16:41
А если бы это был заказчик - я бы заставил его не только написать на бумаге что делать с Петровой - но и что делать с зеленым Козодоевым без нумера. Самому догадываться - это обязательно кончится "но это же очевидно - с номером не надо, а с цветом надо".
И КРОВЬЮ расписаться
11 Smallrat
 
21.07.21
16:53
(0)
ВЫБРАТЬ "Иванов" КАК Фамилия, 3 КАК Число ПОМЕСТИТЬ Спр1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Васильев", 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Петрова", 8
;
ВЫБРАТЬ "Иванов" КАК Фамилия, "Красный" КАК Цвет ПОМЕСТИТЬ Спр2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Васильев", "Синий" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Васильев", "Желтый"
;
ВЫБРАТЬ Спр1.Фамилия ПОМЕСТИТЬ ВТ ИЗ Спр1 КАК Спр1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Спр2 КАК Спр2 ПО Спр1.Фамилия = Спр2.Фамилия
;
ВЫБРАТЬ РАЗЛИЧНЫЕ ВТ.Фамилия, Спр1.Число, Спр2.Цвет ИЗ ВТ КАК ВТ ЛЕВОЕ СОЕДИНЕНИЕ Спр1 КАК Спр1 ПО ВТ.Фамилия = Спр1.Фамилия ЛЕВОЕ СОЕДИНЕНИЕ Спр2 КАК Спр2 ПО ВТ.Фамилия = Спр2.Фамилия
12 Smallrat
 
21.07.21
16:56
+(11) РАЗЛИЧНЫЕ надо в 3ий запрос, а не последний