|
Запрос с условием НЕ | ☑ | ||
---|---|---|---|---|
0
antihacker
12.10.16
✎
07:49
|
Всем привет !
Запрос должен вытаксивать количество дней присутствия товара. Запрос1.Текст =" |ВЫБРАТЬ |ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, |ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, |ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад, |СУММА( | ВЫБОР | КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Период = НАЧАЛОПЕРИОДА(&КонПериода, День) ТОГДА | ВЫБОР | КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА | ВЫБОР | КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <= 0 ТОГДА | РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) | ИНАЧЕ | РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, &КонПериода, ДЕНЬ) + 1 | КОНЕЦ | ИНАЧЕ | ВЫБОР | КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток > 0 ТОГДА | РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.Период, &КонПериода, ДЕНЬ) + 1 | ИНАЧЕ | 0 | КОНЕЦ | КОНЕЦ | ИНАЧЕ | ВЫБОР | КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА | РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) | ИНАЧЕ | 0 | КОНЕЦ | КОНЕЦ) КАК КоличествоДнейНаСкладе |ИЗ | (ВЫБРАТЬ | ТаблицаПредыдущиеПериоды.Номенклатура КАК Номенклатура, | ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТаблицаПредыдущиеПериоды.Склад КАК Склад, | ТаблицаПредыдущиеПериоды.Период КАК Период, | ТаблицаПредыдущиеПериоды.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, | ТаблицаПредыдущиеПериоды.ПредыдущийПериод КАК ПредыдущийПериод, | ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстатокПредыдущий | ИЗ | ( ВЫБРАТЬ | ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура КАК Номенклатура, | ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ПартииТоваровНаСкладахОстаткиИОбороты1.Склад КАК Склад, | ПартииТоваровНаСкладахОстаткиИОбороты1.Период КАК Период, | ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, | МАКСИМУМ(ПартииТоваровНаСкладахОстаткиИОбороты2.Период) КАК ПредыдущийПериод | ИЗ | РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, ,Склад В(&СкладыСЗ) И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОбороты1 ГДЕ НЕ (ПартииТоваровНаСкладахОстаткиИОбороты1.Период В (&СписокДАТ)) | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, ,Склад В(&СкладыСЗ) И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОбороты2 ГДЕ НЕ (ПартииТоваровНаСкладахОстаткиИОбороты2.Период В (&СписокДАТ)) | ПО (ИСТИНА) | И ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура = ПартииТоваровНаСкладахОстаткиИОбороты2.Номенклатура | И ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОбороты2.ХарактеристикаНоменклатуры | И ПартииТоваровНаСкладахОстаткиИОбороты1.Склад = ПартииТоваровНаСкладахОстаткиИОбороты2.Склад | И ПартииТоваровНаСкладахОстаткиИОбороты1.Период > ПартииТоваровНаСкладахОстаткиИОбороты2.Период | | СГРУППИРОВАТЬ ПО | ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура, | ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры, | ПартииТоваровНаСкладахОстаткиИОбороты1.Склад, | ПартииТоваровНаСкладахОстаткиИОбороты1.Период, | ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток | ) КАК ТаблицаПредыдущиеПериоды | | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, ,Склад В(&СкладыСЗ) И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие | | ПО ИСТИНА | И ТаблицаПредыдущиеПериоды.Номенклатура = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Номенклатура | И ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.ХарактеристикаНоменклатуры | И ТаблицаПредыдущиеПериоды.Склад = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Склад | И ТаблицаПредыдущиеПериоды.ПредыдущийПериод = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Период | ) КАК ПартииТоваровНаСкладахОстаткиИОбороты | |СГРУППИРОВАТЬ ПО | ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, | ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, | ПартииТоваровНаСкладахОстаткиИОбороты.Склад | |АВТОУПОРЯДОЧИВАНИЕ"; Ругаеться РезЗапрос = Запрос1.Выполнить().Выбрать(); по причине: {(52, 13)}: Ожидается псевдоним запроса <<?>>ЛЕВОЕ СОЕДИНЕНИЕ Если из этих строчек | РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, ,Склад В(&СкладыСЗ) И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОбороты1 ГДЕ НЕ (ПартииТоваровНаСкладахОстаткиИОбороты1.Период В (&СписокДАТ)) | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, ,Склад В(&СкладыСЗ) И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОбороты2 ГДЕ НЕ (ПартииТоваровНаСкладахОстаткиИОбороты2.Период В (&СписокДАТ)) Убрать условия ГДЕ НЕ (ПартииТоваровНаСкладахОстаткиИОбороты1.Период В (&СписокДАТ)) И еще это условие ГДЕ НЕ (ПартииТоваровНаСкладахОстаткиИОбороты2.Период В (&СписокДАТ)) То все работает. Но он тогда он не убирает количество выходных дней. |
|||
1
Defender aka LINN
12.10.16
✎
07:56
|
по причине:
{(52, 13)}: Ожидается псевдоним запроса Вроде все буквы же русские |
|||
2
В тылу врага
12.10.16
✎
08:02
|
а как это ты так написал?
КАК ПартииТоваровНаСкладахОстаткиИОбороты1 ГДЕ НЕ (ПартииТоваровНаСкладахОстаткиИОбороты1.Период В (&СписокДАТ)) ЛЕВОЕ СОЕДИНЕНИЕ |
|||
3
antihacker
12.10.16
✎
08:03
|
Нужно было как то исключить выходные дни из общего количества. Вот и написал ))
Как исключить выходные дни ? |
|||
4
Митяйский
12.10.16
✎
08:07
|
(3) Переделай пакетом запросов, исключи там все, что тебе не надо, заодно увидишь, что у тебя в запросе было не так.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |