Имя: Пароль:
1C
1С v8
СКД. Как реализовать особенное объединение
0 Adept
 
31.10.16
10:56
Есть два регистра, оба двигаются одними и теми же документами.
С почти идентичными структурами

1-й
Склад
Номенклатура
Количество

2-й
Партия
Склад
Номенклатура
Количество

В СКД предполагается сделать отчет со следующей структурой групп
Номенклатура->Склад->ДокументДвижения->Партия (Приход Расход Оборот - по  количеству)

Как соединить два запроса что бы на уровне партий в строках были только данные по количеству из регистра партий, а начиная с уровня Документа движения, добавлялись данные по складу
1 Лефмихалыч
 
31.10.16
10:59
и на кой хрен вообще нужен первый регистр в отчете?
2 Adept
 
31.10.16
11:04
(1) они не всегда совпадают, точнее иногда может быть движение по одному и не быть по другому
3 AceVi
 
31.10.16
11:16
(0) Особого соединения не надо. Тебе надо Объеденить 2 запроса по 2 регистрам. Просто в первом регистре вместо партии будет NULL. в Скд делаешь условие при выводе группировки по партиям не выводить есть партия = NULL. итого у тебя доступны все данные на уровне ДокументДвижения.
4 Adept
 
31.10.16
11:19
(3) Объединение на уровне СКД или запроса?
5 newbling
 
31.10.16
11:26
Я так понимаю, что может быть ситуация когда в 1 регистре документ оставил запись:

Склад1 Номенклатура1 5

А во 2-м регистре:
Склад1 Номенклатура1 3 Партия1
Склад1 Номенклатура1 2 Партия2
6 newbling
 
31.10.16
11:29
Тут тогда надо будет исхищриться и добавить промежуточную таблицу, которая будет сворачивать регистр с партиями по Складу, Номенклатуре, Количеству, таким образом высчитывая количество без учёта партий, потом объединять его с изначальными данными по регистру 2 чтобы получить:

Склад, Ном, Партия, Колво, КолвоБезУчетаПартии

И только потом объединять с первым и уже сравнивать по КолвуБезУчетаПартии
7 newbling
 
31.10.16
11:30
В зависимости от того, что надо в итоге получить, можно ещё индексы ввести всякие
8 AceVi
 
31.10.16
11:36
(6) Кстати да ТС. напиши какие колонки должны быть в конечном отчете. Что значит " добавлялись данные по складу"? Отдельная колонка где учитываются данные только по 1 регистру?
9 AceVi
 
31.10.16
11:41
(8) Тогда можно просто левым соединением Рег2 = Рег1 по складу и номерклатуре будет такое.
                                КолВоПо1Рег
Склад1 Номенклатура1 3 Партия1       5
Склад1 Номенклатура1 2 Партия2       5

Где в колонке КолВоПо1Рег общее кол-во без учета партии.
Затем в СКД где ресурсы считаешь делаешь 2 ресурса с одинаковым именем , 1 ресурс расчитываешь только по Партия и ДокументДвижения, в формуле ставишь макс(сумма)(сумма одна ита же в каждой строке партии все равно), 2 ресурс рассчитываешь по Номенклатура->Склад уже как Сумма(Сумма). и все на уровне документа движения у тебя будет 5, а выше по группировкам уже итоговая сумма.
10 Adept
 
31.10.16
12:29
(3) По ходу как надо отработало. Спасибо.