Имя: Пароль:
1C
1С v8
Объединение 3 таблиц
,
0 Быдло замкадное
 
28.11.16
16:40
Помогите, туплю с простейшим отчетом.
Надо сделать полное соединение 3 регистров.
Например 3 одинаковых регистра:
Номенклатура / количество.

Надо вывести в отчет Номенклатура , КоличествоРегистр1, КоличествоРегистр2, КоличествоРегистр3.

Когда регистра 2, то можно обойтись полным соединением isnull(Регистр1.Номенклатура, Регистр2.Номенклатура) КАК Номенклатура

А когда их 3?
Попытался сделать пакетом запросов, потом объединением. У меня выводится сначала записи из 1 регистра, потом второго, потом третьего. Сгруппировать нельзя. Во вложенный запрос засунуть не могу, т.к. там нет пакетов.
Как решается эта стандартная задача?!
1 DrShad
 
28.11.16
16:41
ОБЪЕДИНИТЬ
2 Быдло замкадное
 
28.11.16
16:41
или банально сначала получить список номенклатуры объединив все 3 регистра, а потом к этому списку уже левым соединением все 3 регистра подцепить.
3 DrShad
 
28.11.16
16:42
ВСЕ
4 Быдло замкадное
 
28.11.16
16:43
(1) объединил, выводится:

Номенклатура1 33 0 0
Номенклатура1 0 15 0
Номенклатура1 0 0 10

А надо 1 строкой
Номенклатура1 33 15 10
5 Быдло замкадное
 
28.11.16
16:44
как их сгруппировать теперь
6 savaB
 
28.11.16
16:44
сгруппировать по номенклатура
7 Быдло замкадное
 
28.11.16
16:46
ааа быть может СКД меня спасет с ресурсами....

(6) при объединении запросов нельзя группировать их между собой, или я не вижу...
8 Живой Ископаемый
 
28.11.16
16:48
2(7) Ну так помести запрос с объединением в подзапрос, ну же!
9 Быдло замкадное
 
28.11.16
16:50
(8) при создании подзапроса нельзя использовать пакет запросов. В (0) написано.

Вобщем СКД меня спас, т.к. там можно группировки и тоги по ресурсам выводить.
Вопрос можно считать решенным, правда как такая задача решается в стандартном запросе  без СКД непонятно.
10 FIXXXL
 
28.11.16
16:57
(9) запрос объединения сделай на создание временной таблицы и следующим запросом уже группируй эту временную
11 Vladal
 
28.11.16
16:57
(9) > при создании подзапроса нельзя использовать пакет запросов.

Не используй. Выбери из таблиц, помести во временную. Потом выбери из временной и её уже сворачивай по номенклатуре.
Или объединения во вложенный запрос, который и свернешь по номенклатуре.
12 Vladal
 
28.11.16
17:00
выбрать Номенклатура , количество как КоличествоРегистр1, 0 как КоличествоРегистр2, 0 как КоличествоРегистр3 поместить втИсточники из Регистр1
объединить все
выбрать Номенклатура , 0, количество, 0 из Регистр2
объединить все
выбрать Номенклатура , 0, 0, количество из Регистр3
;
выбрать * из втИсточники сгруппировать по Номенклатура
13 Быдло замкадное
 
28.11.16
17:05
(12) спасибо.В самом последнем запросе получилось сделать временную таблицу со всеми данными. Думал там только из 1 регистра данные будут.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс