Пытаюсь сделать запрос: остаток номенклатуры на каждый день(в том числе дни в которых движений не было), У меня УПП есть Производственный календарь из него я получаю список дат, Блин но как его объединить чтоб был еще и остаток на эти даты?
Вот мой текст из консоли:

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

УПОРЯДОЧИТЬ ПО
 Номенклатура

Как же сделать колонку с остатком на каждый день?
---
Натали ага получилось, ток я вроде как слышал что использовать вложенные запросы сейчас не рекомендуют, там типа памяти больше есть. вот мой образец.

ВЫБРАТЬ
 РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
ПОМЕСТИТЬ Календарь
ИЗ
 РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
 РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПриода
;

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

СГРУППИРОВАТЬ ПО
 ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
 Календарь.ДатаКалендаря,
 ТоварыНаСкладахОстаткиИОбороты.Склад
;

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

СГРУППИРОВАТЬ ПО
 таблица.Номенклатура,
 таблица.ДатаКалендаря,
 таблица.Склад,
 ТоварыНаСкладахОстаткиИОбороты.Период

УПОРЯДОЧИТЬ ПО
 Период
---
А где связь между ПартииТоваровНаСкладахОстатки и РегламентированныйПроизводственныйКалендарь
---
странный запрос, параметр пытаешься связать с полем
---
Может как вариант выбрать начальный остаток и обороты за каждый день с дополнением "ДЕНЬ" и соединить левым соединением с производственным календарем по дате, остаток считать при обходе результата запроса путем суммирования оборота... не идеально, но пока мыслей больше не возникло чтобы обойтись только запросом в СКД
---
как в (4) не подойдет так как это часть другого запроса, все должно быть в запросе
---
Или использовать виртуальную таблицу ОстаткиИОбороты вместо Остатки может
---
На самом деле я пытался уже как в (5) но у меня ничего не получилось,пробовал с дополнением день получились остатки только когда были движения, Я понимаю что запрос не крут, я пробовал его объединить с остаткиИобороты, Это мои первые потуги
---
ВЫБРАТЬ
 ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
 ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
 ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура КАК Номенклатура,
 ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период
ИЗ
 РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&НП, &КП, День, , ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты

было похожее, делал таким запросом, только мне дни без движения не нужны были
---
ИльяИльич, Я тоже изначально сделал так, но у меня средний будет потом считаться будет большое отклонение
---
когда то писал что то похожее, вечерком поищу отпищусь
---
Текст запрос может быть примерно таким, как приведено в конце. Возможно в вашей задаче в списке выборки не нужны представления, измерения в списке выборки и соотвественно в группировке и в условиях соединения следует указать только те,
которые нужны по задаче.

Суть: во вложенном запросе на каждую дату производственного календаря определяем какая соотвествует дата остатков для интересующего нас набора измерений, ну а затем зная дату остатков соединяемся с виртуальной таблицей остатков и получаем количество

Примечание: Запрос "тяжелый", на большом объеме данных будет долго работать, поэтому нужно постараться максимально огарничить объем данных параметрами выборки (период, группа номенклатуры и т.п.)

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

 СГРУППИРОВАТЬ ПО
  РегламентированныйПроизводственныйКалендарь.ДатаКалендаря,
  ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
  ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ХарактеристикаНоменклатуры,
  ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СерияНоменклатуры,
  ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
  ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Организация,
  ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СчетУчета,
  ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Качество) КАК ДатыОстатковНоменклатурыНаКалендарнуюДату
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&НачПериода, &КонПериода, День, Движения, Номенклатура В ИЕРАРХИИ (&ГруппаНоменклатуры)) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты
  ПО ДатыОстатковНоменклатурыНаКалендарнуюДату.Период = ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период
   И ДатыОстатковНоменклатурыНаКалендарнуюДату.Организация = ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Организация
   И ДатыОстатковНоменклатурыНаКалендарнуюДату.Номенклатура = ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура
   И ДатыОстатковНоменклатурыНаКалендарнуюДату.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ХарактеристикаНоменклатуры
   И ДатыОстатковНоменклатурыНаКалендарнуюДату.СерияНоменклатуры = ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СерияНоменклатуры
   И ДатыОстатковНоменклатурыНаКалендарнуюДату.СчетУчета = ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СчетУчета
   И ДатыОстатковНоменклатурыНаКалендарнуюДату.Качество = ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Качество
---
вот статейка по вашей теме http://www.kb.mista.ru/article.php?id=92)
---
не совсем актуально если там не используют курсы валют, или загружают не своевременно. надо использовать регламентированный календарь, но и его необходимо заполнить если ранее не использовали.
---
dimon_tb, Регламентированный календарь у меня заполнен, запрос который я привел показывает Номенклатуру и периоды, как мне в нем получить еще колонку остаток либо использовать его как временную таблицу для объединения с запросом по остаткам, мне даже не критично время выполнения
---
, курс валют вообще тут ни при чем. В статье на одном конкретном примере рассматривается общий случай получения данных из регистра на список дат. Первый случай по смыслу такой же как описала Natally_, а второй - с использованием СКД.
---
supermen, вставьте текст запроса, который я вам прислала, в консоль отчетов и заполните параметры. Разве это не то, что нужно? Если есть вопросы, пишите.
---
Natally_, Попробовал в консоли только с регистром партии товаров, выпадает одно движение, возможно я что то делаю не так(...26, 26, 26, 465, 465....), а по остаткам (...26, 26, 20, 20, 465, 465....)
---
supermen, какая дата у выпавшего движения? Вероятно, конец или начало месяца?
Тогда нужно использовать другой способ дополнения движений виртуальной таблицы (параметр виртуальной таблицы в консоли) вместо: "Движения" использовать "ДвиженияИГраницыПериода".

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

СГРУППИРОВАТЬ ПО
 ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
 ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоНачальныйОстаток,
 ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период

УПОРЯДОЧИТЬ ПО
 Период"
---
Натали ага получилось, ток я вроде как слышал что использовать вложенные запросы сейчас не рекомендуют, там типа памяти больше есть. вот мой образец.

ВЫБРАТЬ
 РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
ПОМЕСТИТЬ Календарь
ИЗ
 РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
 РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПриода
;

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

СГРУППИРОВАТЬ ПО
 ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
 Календарь.ДатаКалендаря,
 ТоварыНаСкладахОстаткиИОбороты.Склад
;

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

СГРУППИРОВАТЬ ПО
 таблица.Номенклатура,
 таблица.ДатаКалендаря,
 таблица.Склад,
 ТоварыНаСкладахОстаткиИОбороты.Период

УПОРЯДОЧИТЬ ПО
 Период
---
dimon_tb, мега спасибо