Имя: Пароль:
1C
1С v8
Получение не совпадающих данных в СКД
,
0 Дожа
 
16.12.15
17:06
Здравствуйте.
Подскажите пожалуйста как в СКД вывести только те данные, которые отсутствуют в одной из двух таблиц?

Таблица №1:
товар1 товар2 товар3

Таблица №2:
товар1 товар2

Должен получить товар3

Перепробовал кучу способов, ни в какую.
Оч нужна помощь...
1 Fragster
 
гуру
16.12.15
17:07
именно в СКД?
2 itlikbez
 
16.12.15
17:07
(0) Используй полное соединение.
3 Дожа
 
16.12.15
17:07
(1) Да, это отчет.
4 Дожа
 
16.12.15
17:08
(2) Поясни пожалуйста, как поможет полное соединение?
5 Fragster
 
гуру
16.12.15
17:09
(3) и это отчет в СКД более чем с 1 набором данных?
6 Дожа
 
16.12.15
17:12
(5) Был бы 1 набор, разве я мог бы задать такой вопрос?
7 itlikbez
 
16.12.15
17:12
(4) Делаешь полное соединение и выбираешь записи имеющие NULL на той или другой стороне.
8 itlikbez
 
16.12.15
17:15
ВЫБРАТЬ Таб1.Товар,Таб2.Товар
из Таб1
ПОЛНОЕ СОЕДИНЕНИЕ
Таб2
ПО Таб1.Товар=Таб2.Товар
ГДЕ Таб1.Товар ЕСТЬ NULL
ИЛИ Таб2.Товар ЕСТЬ NULL
9 alxxsssar
 
16.12.15
17:17
(7) тут левого достаточно
10 alxxsssar
 
16.12.15
17:18
(9) а нет, недостаточно
11 Fragster
 
гуру
16.12.15
17:18
(6) да
12 Fragster
 
гуру
16.12.15
17:28
делаешь в одном наборе поле "ПрисутствуетВНнаборе1" со значением 1, во втором - "ПрисутствуетВНнаборе2". Делаешь объединение этих наборов. в настройках СКД в отборе добавляешь группу ИЛИ и в ней условия: "ПрисутствуетВНаборе1 не заполнено" и "ПрисутствуетВНаборе2 не заполнено"
13 Дожа
 
17.12.15
12:24
Всем спасибо.
Сделал через полное соединение.
Почему то если делать отбор по null то не работало.
Как заменил все null на 0 и сделал отбор по 0, всё заработало.
14 Fragster
 
гуру
17.12.15
16:54
(13) т.е. в итоге набор данных в СКД был один
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший