|
Помогить объединить таблицы в запросе | ☑ | ||
---|---|---|---|---|
0
St-Anger
13.03.19
✎
17:56
|
Есть акционные расходные накладные, а есть основные (которые стали основанием для начисления акционных). Привязка сделана через регистр сведений.
Необходимо написать отчет, в котором бы отображались акционные накладные, напротив них основные (может быть одна или больше), а так же своя номенклатура под каждой накладной и количество. Не могу понять как в запросе все это объединить/соединить. Как хотелось бы сделать: https://cdn1.savepice.ru/uploads/2019/3/13/079e9f581ba2c322330dd763a11b3eb5-full.jpg |
|||
1
formista2000
13.03.19
✎
18:01
|
СОЕДИНЕНИЕ
|
|||
2
Вафель
13.03.19
✎
18:06
|
соединение по документу-основанию и номеру строки
|
|||
3
St-Anger
13.03.19
✎
18:07
|
Количество позиций может быть везде разным. Если по номеру строки - не все записи будут попадать
|
|||
4
Rovan
гуру
13.03.19
✎
18:12
|
(0) по описанию напоминает отчет "Расчетный листок" в ЗУП - слева начисления, справа удержания
|
|||
5
Greeen
13.03.19
✎
18:16
|
Аукционные, к ним полное соединение же по Основанию и номеру строки
|
|||
6
Вафель
13.03.19
✎
18:24
|
(4) но лучше не смотреть как строится расчетный листок. больше нервов сбережешь
|
|||
7
St-Anger
13.03.19
✎
18:30
|
(6) Уже посмотрел и с дрожью закрыл
Вот мой запрос ВЫБРАТЬ ВложенныйЗапрос.АкционныйДокумент, РеализацияТоваровУслугТовары.Номенклатура КАК АкционныйНоменклатура, РеализацияТоваровУслугТовары.Количество КАК АкционныйКоличество, РеализацияТоваровУслугТовары.НомерСтроки ПОМЕСТИТЬ Акция ИЗ (ВЫБРАТЬ впПривязкаАкционныхДокументов.АкционныйДокумент.Ссылка КАК АкционныйДокумент ИЗ РегистрСведений.впПривязкаАкционныхДокументов КАК впПривязкаАкционныхДокументов ГДЕ впПривязкаАкционныхДокументов.АкционныйДокумент.Проведен СГРУППИРОВАТЬ ПО впПривязкаАкционныхДокументов.АкционныйДокумент.Ссылка) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ПО ВложенныйЗапрос.АкционныйДокумент = РеализацияТоваровУслугТовары.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ впПривязкаАкционныхДокументов.АкционныйДокумент, РеализацияТоваровУслугТовары.Ссылка КАК ОсновнойДокумент, РеализацияТоваровУслугТовары.Номенклатура КАК ОсновнойНоменклатура, РеализацияТоваровУслугТовары.Количество КАК ОсновнойКоличество, РеализацияТоваровУслугТовары.НомерСтроки ПОМЕСТИТЬ Основной ИЗ РегистрСведений.впПривязкаАкционныхДокументов КАК впПривязкаАкционныхДокументов ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ПО впПривязкаАкционныхДокументов.ОсновнойДокумент = РеализацияТоваровУслугТовары.Ссылка ГДЕ РеализацияТоваровУслугТовары.Ссылка.Проведен ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Акция.АкционныйДокумент, Акция.АкционныйНоменклатура, Акция.АкционныйКоличество, Основной.ОсновнойДокумент, Основной.ОсновнойНоменклатура, Основной.ОсновнойКоличество ИЗ Акция КАК Акция ПОЛНОЕ СОЕДИНЕНИЕ Основной КАК Основной ПО Акция.АкционныйДокумент = Основной.АкционныйДокумент И Акция.НомерСтроки = Основной.НомерСтроки |
|||
8
Вафель
13.03.19
✎
18:31
|
зачем ссылки группировать по ссылке?
|
|||
9
St-Anger
13.03.19
✎
18:32
|
(8) да это я забыл убрать
|
|||
10
Вафель
13.03.19
✎
18:33
|
но конечно же г-но полнейший
|
|||
11
St-Anger
13.03.19
✎
18:33
|
(8) пробовал разные варианты, и забыл убрать. На результат все равно не влияет
|
|||
12
Вафель
13.03.19
✎
18:35
|
а количество основных накладных не известно?
|
|||
13
St-Anger
13.03.19
✎
18:36
|
(12) нет, чаще всего будет одна но может и больше
|
|||
14
St-Anger
13.03.19
✎
18:39
|
Вот в таком варианте запроса, если больше одной основной накладной, то акционные задваиваются + еще если соединять по номеру строки то теряются записи ( основной или акционной номенклатуры,смотря где больше).
|
|||
15
breezee
13.03.19
✎
18:57
|
(14) 1)Перепишите на временных таблицах. Так читать сложно, на вложенных запросах (да, иногда это не оптимально, но в моем опыте в 100% работает быстрее с временными таблицами)
2)Задваиваются, наверное, потому что у вас 2 реализации по одному документу или еще почему, при левом соединении это нормально. Переделайте на временные таблицы и выложите сюда, если проблема осталась, так быстрее помогут |
|||
16
Sapiens_bru
13.03.19
✎
20:12
|
(0) Готовим таблицу товаров акционных (А) и основных (О) документов, затем объединяем их и полученное объединение сортируем.
Из таблицы (А) брать: 1) Момент времени акционного документа 2) Пустую дату 3) Номер строки товара 4) Представление акционного документа 5) Представление товара Из таблицы (О) брать: 1) Момент времени связанного акционного документа 2) Момент времени основного документа 3) Номер строки товара 4) Представление основного документа 5) Представление товара Полученный результат сортировать по полям 1, 2, 3 В результате будет таблица в которой блоками будет расположены сначала строки первого акционного документа, затем первого связанного с ним основного, затем второго связанного с ним основного, затем второго акционного итд. То есть нужная таблица но в развороте. Остаётся свернуть ее в табличный документ последовательно читая и Выводя/Присоединяя секции. |
|||
17
St-Anger
14.03.19
✎
11:26
|
(16) Смысел понятен. Буду пробовать. Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |