Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Соединение двух наборов данных

Соединение двух наборов данных
Я
   Cumpuciy
 
08.09.16 - 16:41
Есть 2 набора данных.
Если бы это были вложенные запросы, то соединение имело бы вид:
ВлЗапрос1.ОсновнойЗаказНаПроизводство = ВлЗапрос2.НоменклатураВыпуска.ЗаказНаПроизводство
    ИЛИ ВлЗапрос1.ОсновнойЗаказНаПроизводство = ВлЗапрос2.НоменклатураВыпуска.ЗаказНаПроизводство.ОсновнойЗаказНаПроизводство

Можно как-то реализовать подобное в СКД?
 
 
   Лефмихалыч
 
1 - 08.09.16 - 16:47
соединение по ИЛИ - плохая идея, хоть с компоновкой, хоть без.

А что мешает вот это вот условие и написать в условиях соединения наборов?
   ViSo76
 
2 - 08.09.16 - 16:51
(1) Не вижу ничего плохова в ИЛИ, я вижу только точки за которые нужно наказывать в данном конкретном случае
   Cumpuciy
 
3 - 08.09.16 - 16:54
(2) по точкам понятно, перед продкашеном вынесу в отдельные поля запроса.
(1) не совсем понял. условие связи это условие, при котором связь будет выполняться.
Если я задам связь источника и приемника как ВлЗапрос1.ОсновнойЗаказНаПроизводство = ВлЗапрос2.НоменклатураВыпуска.ЗаказНаПроизводство, то какие бы условия не ставил у меня не попадут записи с ВлЗапрос1.ОсновнойЗаказНаПроизводство = ВлЗапрос2.НоменклатураВыпуска.ЗаказНаПроизводство.ОсновнойЗаказНаПроизводство
   Лефмихалыч
 
4 - 08.09.16 - 16:56
   Лефмихалыч
 
5 - 08.09.16 - 16:59
   Cumpuciy
 
6 - 08.09.16 - 17:04
(4)(5) Спасибо!
   ViSo76
 
7 - 08.09.16 - 17:55
(4) На сколько я понял ты адепт методичек от 1С? И "Это может привести к замедлению производительности" применяется для всех вариантов? Могу тебя разочаровать, в каждом конкретном случае нужно включать мозги.
   Лефмихалыч
 
8 - 08.09.16 - 17:58
(7) нет, я просто видел глазами, как это бывает, когда "привести к замедлению производительности" в таких случаях.
В каждом конкретном включать - согласен.
   Cumpuciy
 
9 - 09.09.16 - 13:03
(5) Кстати, не взлетело.
Если указать только набор источник связи и условие, то он соединит все поля, игнорируя любое условие.
Если связать по номенклатуре и в условии поставить:
ОсновнойЗаказНаПроизводство = ЗаказНаПроизводство ИЛИ ОсновнойЗаказНаПроизводство = ЗаказНаПроизводствоОсновнойЗаказНаПроизводство
то при компоновке выдает ошибку "поле не найдено ЗаказНаПроизводство", если первую часть перед ИЛИ, то Поле не найдено "ЗаказНаПроизводствоОсновнойЗаказНаПроизводство"
Соответственно, в условие нельзя добавить поля ПРИЕМНИКА.
   Cumpuciy
 
10 - 09.09.16 - 13:40
Решил через объединение 2х наборов данных.
В первом поле ЗаказНаПроизводство КАК ЗаказНаПроизводство 
во втором ЗаказНаПроизводство.ОсновнойЗаказНаПроизводство КАК ЗаказНаПроизводство 
А затем к первому набору присоединяю это объединение.
Вроде по фэн шую.
 
 Рекламное место пустует
   Cumpuciy
 
11 - 09.09.16 - 13:43
(11) не очень понятно выразился.Малоли, вдруг кто столкнётся.
1 набор
2 набор - объединение 3 и 4
3 набор где ЗаказНаПроизводство КАК ЗаказНаПроизводство 
4 набор где ЗаказНаПроизводство.ОсновнойЗаказНаПроизводство КАК ЗаказНаПроизводство
и затем к 1 присоединяем 2.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует