|
Вопрос по соединению таблиц в СКД 🠗 (Волшебник 16.08.2018 10:43) | ☑ | ||
---|---|---|---|---|
0
maxim-sychov
15.08.18
✎
17:58
|
Всем привет!
Стараюсь до последнего додумать сам, прежде чем писать.... но как вы поняли - не хватило ума) Есть 2е Временные таблицы: 1.Оплаты 2.Заказы покупателей Нужно связать их по заказу так что бы понимать какие заказы были оплачены за выбранный период. Вроде ничего сложного... условие по периоду устанавливаю на таблицу оплат, т.к. к примеру в августе могли оплатить заказ за июнь. Таблицу заказов делаю для того что бы можно было вывести содержимое самого заказа. Так вот собственно вопрос: При соединении (левом) к ТБОплат Цепляю ТБ Заказов И на выходе у меня получаются только те оплаты, в которых заказ находится между указанным периодом! Хотя парматры периода в виртуальной таблице ставлю только на оплаты.... По моим ожиданиям должно было выбрать все оплаты за указанный период и подцепить все заказы(с содержимым) из ТБ заказов независимо от того в какой период этот заказ был.... а нет((( |
|||
1
Cool_Profi
15.08.18
✎
18:00
|
Запрос мы должны телепатнуть?
|
|||
2
maxim-sychov
15.08.18
✎
18:01
|
ВЫБРАТЬ
ВзаиморасчетыСКонтрагентамиОбороты.Сделка КАК Заказ, СУММА(ВзаиморасчетыСКонтрагентамиОбороты.СуммаУпрПриход) КАК СуммаУпрПриход, СУММА(ВзаиморасчетыСКонтрагентамиОбороты.СуммаУпрРасход) КАК СуммаУпрРасход, ВзаиморасчетыСКонтрагентамиОбороты.Регистратор ПОМЕСТИТЬ Взаиморасчеты ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ВзаиморасчетыСКонтрагентамиОбороты ГДЕ ВзаиморасчетыСКонтрагентамиОбороты.Сделка ССЫЛКА Документ.ЗаказПокупателя И ВзаиморасчетыСКонтрагентамиОбороты.СуммаУпрРасход > 0 СГРУППИРОВАТЬ ПО ВзаиморасчетыСКонтрагентамиОбороты.Сделка, ВзаиморасчетыСКонтрагентамиОбороты.Регистратор ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗаказыПокупателейОбороты.ЗаказПокупателя, ЗаказыПокупателейОбороты.Номенклатура, ЗаказыПокупателейОбороты.Цена КАК Цена, ЗаказыПокупателейОбороты.ЕдиницаИзмерения, СУММА(ЗаказыПокупателейОбороты.КоличествоОборот) КАК КоличествоОборот, СУММА(ЗаказыПокупателейОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ЗаказыПокупателейОбороты.КоличествоРасход) КАК КоличествоРасход, СУММА(ЗаказыПокупателейОбороты.СуммаВзаиморасчетовОборот) КАК СуммаВзаиморасчетовОборот, СУММА(ЗаказыПокупателейОбороты.СуммаВзаиморасчетовПриход) КАК СуммаВзаиморасчетовПриход, СУММА(ЗаказыПокупателейОбороты.СуммаВзаиморасчетовРасход) КАК СуммаВзаиморасчетовРасход, СУММА(ЗаказыПокупателейОбороты.СуммаУпрОборот) КАК СуммаУпрОборот, СУММА(ЗаказыПокупателейОбороты.СуммаУпрПриход) КАК СуммаУпрПриход, СУММА(ЗаказыПокупателейОбороты.СуммаУпрРасход) КАК СуммаУпрРасход, ЗаказыПокупателейОбороты.ЗаказПокупателя.Подразделение КАК Подразделение, ЗаказыПокупателейОбороты.ЗаказПокупателя.Ответственный КАК Ответственный ПОМЕСТИТЬ Заказы ИЗ РегистрНакопления.ЗаказыПокупателей.Обороты(, , Период, ) КАК ЗаказыПокупателейОбороты СГРУППИРОВАТЬ ПО ЗаказыПокупателейОбороты.ЗаказПокупателя, ЗаказыПокупателейОбороты.Номенклатура, ЗаказыПокупателейОбороты.ЕдиницаИзмерения, ЗаказыПокупателейОбороты.ЗаказПокупателя.Подразделение, ЗаказыПокупателейОбороты.ЗаказПокупателя.Ответственный, ЗаказыПокупателейОбороты.Цена ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МАКСИМУМ(Взаиморасчеты.СуммаУпрПриход) КАК СуммаУпрПриход, МАКСИМУМ(Взаиморасчеты.СуммаУпрРасход) КАК ПоступилоДенег, Заказы.Номенклатура, Заказы.Цена, Заказы.ЕдиницаИзмерения, Заказы.КоличествоПриход КАК Количество, Заказы.СуммаУпрПриход КАК Сумма, Заказы.ЗаказПокупателя.Контрагент КАК Контрагент, Заказы.Подразделение, Заказы.Ответственный, Заказы.ЗаказПокупателя, Взаиморасчеты.Регистратор ИЗ Взаиморасчеты КАК Взаиморасчеты ЛЕВОЕ СОЕДИНЕНИЕ Заказы КАК Заказы ПО Взаиморасчеты.Заказ.Ссылка = Заказы.ЗаказПокупателя.Ссылка СГРУППИРОВАТЬ ПО Заказы.Номенклатура, Заказы.Цена, Заказы.ЕдиницаИзмерения, Заказы.КоличествоПриход, Заказы.СуммаУпрПриход, Заказы.ЗаказПокупателя.Контрагент, Заказы.Подразделение, Заказы.Ответственный, Заказы.ЗаказПокупателя, Взаиморасчеты.Регистратор, Взаиморасчеты.Заказ |
|||
3
maxim-sychov
15.08.18
✎
18:02
|
запрос содержит много лишних данных, т.к. уже сто раз крутил/перделывал и надоело отсеивать одно и тоже...
|
|||
4
MCh
15.08.18
✎
18:04
|
Там где нужно за весь период ставь параметры от 01.01.0001 до 01.01.3999 но это неправильно.
|
|||
5
Cool_Profi
15.08.18
✎
18:04
|
Выбирай из заказов не по вирттаблице, а по физической...
Скд, ска, умная... |
|||
6
МихаилМ
15.08.18
✎
18:05
|
(0)причем тут скд ?
|
|||
7
youalex
15.08.18
✎
18:05
|
задай разные параметры (имена чтобы различались) для вирт. таблиц (если это они)
|
|||
8
maxim-sychov
15.08.18
✎
18:06
|
(4) даже если и так, я запрос в консоли запускаю - смотрю две временные ТБ на содержимое - все содержимое есть!
А вот когда при связи пытаюсь вывести - то отсеивается. |
|||
9
maxim-sychov
15.08.18
✎
18:07
|
(6) отчет пишется с помощью СКД...
Это сильно изменило постановку вопроса? |
|||
10
youalex
15.08.18
✎
18:08
|
вангую, что у тебя параметры НачалоПериода и КонецПериода, созданные автоматом (при включенном автозаполнении полей) - действуют на обе таблицы оборотов. Тебе нужно их разделить..
|
|||
11
maxim-sychov
15.08.18
✎
18:10
|
(10) тоже думал об этом, но почему тогда этот же запрос запускаю в консоли и вижу все заказы, которые и должны быть?
Обе Временные таблицы содержат те данные, на которые я рассчитываю. А вот после связи.... |
|||
12
maxim-sychov
15.08.18
✎
20:12
|
Подскажите направление....куда копать?
|
|||
13
Chameleon1980
15.08.18
✎
21:15
|
отборы используются потом перед формированием?
может соединение превратилось во внутреннее? |
|||
14
hhhh
16.08.18
✎
08:18
|
(12) направление в (10), скд ставит свои даты в начало и конец периода. Если уж не верите, как фома неверующий, то остается только головой о стенку тогда биться. Вдруг это поможет.
походу надо в фигуроные скобки ИЗ РегистрНакопления.ЗаказыПокупателей.Обороты({ДатаНачЗаказы},{ДатаКонЗаказы} , Период, ) КАК ЗаказыПокупателейОбороты |
|||
15
Deon
16.08.18
✎
08:53
|
(14) Перед битвой со стеной лучше посмотреть в консоли системы компоновки данных, какой запрос сгенерировался СКД
|
|||
16
maxim-sychov
16.08.18
✎
10:42
|
(14) Работает! Спасибо огромнейшое!
Странно конечно но я пробовал указать не другие параметры в этом месте а ДобавитьКДате(&НачалоПериода,год,-1) и ДобавитьКДате(&НачалоПериода,год,1) и это не прокатило. |
|||
17
maxim-sychov
16.08.18
✎
10:42
|
Всем еще раз спасибо. Тему можно закрыть.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |