|
Как правильно перенести запрос с консоли в СКД? | ☑ | ||
---|---|---|---|---|
0
Casper21
18.11.15
✎
18:19
|
ВЫБРАТЬ
ЗаказПокупателяТовары.Номенклатура КАК Номенклатура, СУММА(ЗаказПокупателяТовары.Количество) КАК Количество, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.Период) КАК ДнейПродажи, СУММА(ЗаказПокупателяТовары.Количество) / КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.Период) КАК СерПрод, ВложенныйЗапрос.КоличествоДнейНаСкладе КАК КоличествоДнейНаСкладе, СУММА(ЗаказПокупателяТовары.Количество) / ВложенныйЗапрос.КоличествоДнейНаСкладе КАК СерПрод2, ВложенныйЗапрос.Склад КАК Склад, ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры ИЗ (ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад, СУММА(ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Период = НАЧАЛОПЕРИОДА(&КонПериода, ДЕНЬ) ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <= 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) ИНАЧЕ РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, &КонПериода, ДЕНЬ) + 1 КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток > 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.Период, &КонПериода, ДЕНЬ) + 1 ИНАЧЕ 0 КОНЕЦ КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) ИНАЧЕ 0 КОНЕЦ КОНЕЦ) КАК КоличествоДнейНаСкладе ИЗ (ВЫБРАТЬ ТаблицаПредыдущиеПериоды.Номенклатура КАК Номенклатура, ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТаблицаПредыдущиеПериоды.Склад КАК Склад, ТаблицаПредыдущиеПериоды.Период КАК Период, ТаблицаПредыдущиеПериоды.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТаблицаПредыдущиеПериоды.ПредыдущийПериод КАК ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстатокПредыдущий ИЗ (ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты1.Склад КАК Склад, ПартииТоваровНаСкладахОстаткиИОбороты1.Период КАК Период, ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, МАКСИМУМ(ПартииТоваровНаСкладахОстаткиИОбороты2.Период) КАК ПредыдущийПериод ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты2 ПО (ИСТИНА) И ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура = ПартииТоваровНаСкладахОстаткиИОбороты2.Номенклатура И ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОбороты2.ХарактеристикаНоменклатуры И ПартииТоваровНаСкладахОстаткиИОбороты1.Склад = ПартииТоваровНаСкладахОстаткиИОбороты2.Склад И ПартииТоваровНаСкладахОстаткиИОбороты1.Период > ПартииТоваровНаСкладахОстаткиИОбороты2.Период СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты1.Склад, ПартииТоваровНаСкладахОстаткиИОбороты1.Период, ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток) КАК ТаблицаПредыдущиеПериоды ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие ПО (ИСТИНА) И ТаблицаПредыдущиеПериоды.Номенклатура = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Номенклатура И ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.ХарактеристикаНоменклатуры И ТаблицаПредыдущиеПериоды.Склад = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Склад И ТаблицаПредыдущиеПериоды.ПредыдущийПериод = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Период ГДЕ ТаблицаПредыдущиеПериоды.КоличествоКонечныйОстаток >= 0 И ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.КоличествоКонечныйОстаток > 0) КАК ПартииТоваровНаСкладахОстаткиИОбороты СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Склад) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(НАЧАЛОПЕРИОДА(&НачПериода, МЕСЯЦ), КОНЕЦПЕРИОДА(&КонПериода, МЕСЯЦ), День, ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ПО (ЗаказПокупателяТовары.Номенклатура = ПродажиОбороты.Номенклатура) ПО (ЗаказПокупателяТовары.Номенклатура = ВложенныйЗапрос.Номенклатура) ГДЕ НЕ ЗаказПокупателяТовары.Номенклатура ЕСТЬ NULL СГРУППИРОВАТЬ ПО ЗаказПокупателяТовары.Номенклатура, ВложенныйЗапрос.КоличествоДнейНаСкладе, ВложенныйЗапрос.Склад, ВложенныйЗапрос.ХарактеристикаНоменклатуры УПОРЯДОЧИТЬ ПО ЗаказПокупателяТовары.Номенклатура.Наименование, Количество, ДнейПродажи, СерПрод, КоличествоДнейНаСкладе, СерПрод2, Склад, ХарактеристикаНоменклатуры Как правильно перенести запрос с консоли в СКД Не все данные выводит в отчете, некоторые номенклатуры не выводитС чем это может быть связано ?? |
|||
1
Горогуля
18.11.15
✎
18:20
|
с ДНК, однозначно
|
|||
2
singlych
18.11.15
✎
18:23
|
запрос не читал.
параметры периодов в виртуальных таблицах оберни в фигурные скобки |
|||
3
Nuobu
18.11.15
✎
18:25
|
(0) РегистрНакопления.Продажи.Обороты(НАЧАЛОПЕРИОДА(&НачПериода, МЕСЯЦ), КОНЕЦПЕРИОДА(&КонПериода, МЕСЯЦ), День, ) КАК ПродажиОбороты
Вот так должно быть РегистрНакопления.Продажи.Обороты({&СуперНачалоПериода}, {&СуперКонецПериода}, День, ) КАК ПродажиОбороты А в параметрах заполни эти значения. |
|||
4
singlych
18.11.15
✎
18:26
|
да можно и так вроде
{НАЧАЛОПЕРИОДА(&НачПериода, МЕСЯЦ)} |
|||
5
Nuobu
18.11.15
✎
18:27
|
(4) Дольше отрабатывает.
|
|||
6
VikingKosmo
18.11.15
✎
18:27
|
(4) разрешаю
|
|||
7
singlych
18.11.15
✎
18:28
|
(5) хм
|
|||
8
zak555
18.11.15
✎
18:28
|
Убрать нахер вложенные запросы6
|
|||
9
Casper21
18.11.15
✎
18:29
|
(8) и как тогда зделать?
|
|||
10
VikingKosmo
18.11.15
✎
18:30
|
разложи по ВТ
|
|||
11
Горогуля
18.11.15
✎
18:31
|
(9) значала сакончить школу
|
|||
12
Casper21
18.11.15
✎
18:33
|
(11) спасибо за совет, я учту
|
|||
13
zak555
18.11.15
✎
18:35
|
Что там делают документы в соединении с регистрами ?
|
|||
14
Casper21
18.11.15
✎
18:42
|
(13) номенклатуру беру с док заказы покупателя.
|
|||
15
Casper21
18.11.15
✎
18:43
|
и количество
|
|||
16
Nuobu
18.11.15
✎
18:46
|
(14) Тогда оставь {НАЧАЛОПЕРИОДА(&НачПериода, МЕСЯЦ)}
|
|||
17
Casper21
18.11.15
✎
18:51
|
(16) а тут как?
ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Период = (НАЧАЛОПЕРИОДА(&НачПериода, День) ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА ВЫБОР |
|||
18
Casper21
18.11.15
✎
18:53
|
а тут
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК на ето? ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({&НачПериода}, {&КонПериода}, День, , ) ??? |
|||
19
Casper21
18.11.15
✎
18:53
|
блин теперь еще больше данных чем в консоли
|
|||
20
Мимохожий Однако
18.11.15
✎
18:55
|
Тебе не угодишь
|
|||
21
Casper21
18.11.15
✎
20:18
|
(20) ну по идее данные в консоли и в СКД должны совпадать?))
|
|||
22
PLUT
18.11.15
✎
20:29
|
(21) плохая идея. мучай тогда уже консоль компоновки данных
|
|||
23
Casper21
19.11.15
✎
00:34
|
ВЫБРАТЬ
ЗаказПокупателяТовары.Номенклатура КАК Номенклатура, СУММА(ЗаказПокупателяТовары.Количество) КАК Количество, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.Период) КАК ДнейПродажи, СУММА(ЗаказПокупателяТовары.Количество) / КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.Период) КАК СерПрод, ВложенныйЗапрос.КоличествоДнейНаСкладе КАК КоличествоДнейНаСкладе, СУММА(ЗаказПокупателяТовары.Количество) / ВложенныйЗапрос.КоличествоДнейНаСкладе КАК СерПрод2, ВложенныйЗапрос.Склад КАК Склад, ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры ИЗ (ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад, СУММА(ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Период = НАЧАЛОПЕРИОДА(&КонПериода, ДЕНЬ) ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <= 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) ИНАЧЕ РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, &КонПериода, ДЕНЬ) + 1 КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток > 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.Период, &КонПериода, ДЕНЬ) + 1 ИНАЧЕ 0 КОНЕЦ КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) ИНАЧЕ 0 КОНЕЦ КОНЕЦ) КАК КоличествоДнейНаСкладе ИЗ (ВЫБРАТЬ ТаблицаПредыдущиеПериоды.Номенклатура КАК Номенклатура, ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТаблицаПредыдущиеПериоды.Склад КАК Склад, ТаблицаПредыдущиеПериоды.Период КАК Период, ТаблицаПредыдущиеПериоды.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТаблицаПредыдущиеПериоды.ПредыдущийПериод КАК ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстатокПредыдущий ИЗ (ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты1.Склад КАК Склад, ПартииТоваровНаСкладахОстаткиИОбороты1.Период КАК Период, ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, МАКСИМУМ(ПартииТоваровНаСкладахОстаткиИОбороты2.Период) КАК ПредыдущийПериод ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачПериода)}, {(&КонПериода)}, День, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачПериода)}, {(&КонПериода)}, День, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты2 ПО (ИСТИНА) И ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура = ПартииТоваровНаСкладахОстаткиИОбороты2.Номенклатура И ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОбороты2.ХарактеристикаНоменклатуры И ПартииТоваровНаСкладахОстаткиИОбороты1.Склад = ПартииТоваровНаСкладахОстаткиИОбороты2.Склад И ПартииТоваровНаСкладахОстаткиИОбороты1.Период > ПартииТоваровНаСкладахОстаткиИОбороты2.Период СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты1.Склад, ПартииТоваровНаСкладахОстаткиИОбороты1.Период, ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток) КАК ТаблицаПредыдущиеПериоды ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачПериода)}, {(&КонПериода)}, День, , ) КАК ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие ПО (ИСТИНА) И ТаблицаПредыдущиеПериоды.Номенклатура = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Номенклатура И ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.ХарактеристикаНоменклатуры И ТаблицаПредыдущиеПериоды.Склад = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Склад И ТаблицаПредыдущиеПериоды.ПредыдущийПериод = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Период ГДЕ ТаблицаПредыдущиеПериоды.КоличествоКонечныйОстаток >= 0 И ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.КоличествоКонечныйОстаток > 0) КАК ПартииТоваровНаСкладахОстаткиИОбороты СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Склад) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты({(НАЧАЛОПЕРИОДА(&НачПериода, МЕСЯЦ))}, {(КОНЕЦПЕРИОДА(&КонПериода, МЕСЯЦ))}, День, ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ПО (ЗаказПокупателяТовары.Номенклатура = ПродажиОбороты.Номенклатура) ПО (ЗаказПокупателяТовары.Номенклатура = ВложенныйЗапрос.Номенклатура) ГДЕ НЕ ЗаказПокупателяТовары.Номенклатура ЕСТЬ NULL СГРУППИРОВАТЬ ПО ЗаказПокупателяТовары.Номенклатура, ВложенныйЗапрос.КоличествоДнейНаСкладе, ВложенныйЗапрос.Склад, ВложенныйЗапрос.ХарактеристикаНоменклатуры УПОРЯДОЧИТЬ ПО ЗаказПокупателяТовары.Номенклатура.Наименование, Количество, ДнейПродажи, СерПрод, КоличествоДнейНаСкладе, СерПрод2, Склад, ХарактеристикаНоменклатуры Я везде поставил {} ??? верно ?? А теперь отбор по периоде пропал |
|||
24
Casper21
19.11.15
✎
14:59
|
А?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |