Запрос

Renat11111

Well-Known Member
20.04.2008
123
0
#1
Просматриваю записи за мес. Получая записи по тем дням когда были движения в регистре Товары на складах. Или же когда происходило изменение цен в рег Цены номенклатуры.
А хотелось бы увидеть все даты указанные в период с НачМес по КонМес. Наверно обсуждалась поожая тема не нашел.... )))



ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура,
ВложенныйЗапрос.Период,
ВложенныйЗапрос.КоличествоКонечныйОстаток,
ВложенныйЗапрос.МаксПериод,
ВложенныйЗапрос.СерияНоменклатуры,
Цены.Цена
ИЗ
(ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Период КАК Период,
ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры КАК СерияНоменклатуры,
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК МаксПериод
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
&НачМес,
&КонМес,
День,
Движения,
Номенклатура В (&ВыбрНоменклатура)
И СерияНоменклатуры В (&ВыбрСерия)) КАК ТоварыНаСкладахОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ТоварыНаСкладахОстаткиИОбороты.Период >= ЦеныНоменклатуры.Период
И ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры = ЦеныНоменклатуры.СерияНоменклатуры
СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Период,
ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры) Как ВложенныйЗапрос
Левое соединение РегистрСведений.ЦеныНоменклатуры КАК Цены
ПО ВложенныйЗапрос.МаксПериод = Цены.Период
И ВложенныйЗапрос.Номенклатура = Цены.Номенклатура
И ВложенныйЗапрос.СерияНоменклатуры = Цены.СерияНоменклатуры
 

tanat

Well-Known Member
02.03.2007
265
0
#2
Вам нужно добавить сюда еще одну таблицу, состоящую из одной колонки, где будет содержаться переменная вида : Дата+24*60*60 до КонМес (Дата + количество Часов*количество минут* количество секунд). И в зависимости от ее расположения использовать левое или правое внешнее соединение.
 

unknown181538

НеГуру
28.12.2008
1 417
0
30
Москва
#4
Вам нужно добавить сюда еще одну таблицу, состоящую из одной колонки, где будет содержаться переменная вида : Дата+24*60*60 до КонМес (Дата + количество Часов*количество минут* количество секунд). И в зависимости от ее расположения использовать левое или правое внешнее соединение.
Я вот так и не придумал, как ее сформиравоать)
 

Renat11111

Well-Known Member
20.04.2008
123
0
#5
Вам нужно добавить сюда еще одну таблицу, состоящую из одной колонки, где будет содержаться переменная вида : Дата+24*60*60 до КонМес (Дата + количество Часов*количество минут* количество секунд). И в зависимости от ее расположения использовать левое или правое внешнее соединение.

Ну что мистер tanat показать на моем примере не получится? Ну придумал хорошо, вот токо не пойму фантазия ли это или же так действиельно можно )))
 

tanat

Well-Known Member
02.03.2007
265
0
#6
Зависит от того, где вы хотите получить результат данного запроса. В консоли запросов - проблемматично, в модуле - решабельно.
 

tanat

Well-Known Member
02.03.2007
265
0
#7
Хотя нет, проблем нет ни там ни там. Подскажу направление в котором искать: смотрите ИТОГИ по полю с типом "ДАТА". В синтаксис-помашнике найдите "Дополнение Дат"
 

Renat11111

Well-Known Member
20.04.2008
123
0
#8
Итоги По НЕ ПРИМЕНЯЮТСЯ ВО ВЛОЖЕННОМ ЗАПРОСЕ! А ПО ДРУГОМУ СМЫСЛА НЕТ ИХ ИСПОЛЬЗОВАТЬ ДЛЯ ДАННОЙ ЦЕЛИ.
 

tanat

Well-Known Member
02.03.2007
265
0
#9
В качестве поля во вложенном запросе укажите период и при выделении этого поля в конструкторе запросов (не во вложенном запросе, а на "верхнем" уровне) появятся необходимые поля настройки для работы с "ПЕРИОДАМИ".

П.С: Я же вас не заставляю идти этим путем. Я только предложил путь решения.