|
СКД. Как реализовать особенное объединение | ☑ | ||
---|---|---|---|---|
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) По ходу как надо отработало. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |