Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
03 авг 2021, 07:25

Запрос по регистру накопления

Автор jsg, 20 июл 2021, 15:07

0 Пользователей и 1 гость просматривают эту тему.

jsg

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

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


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

LexaK

по тексту похоже что не СКД, там вроде есть такая функция что-то вроде дополнения по периоду
вы не пишите какая у вас база, например в торговле можно использовать РС. ДанныеПроизводственногоКалендаря

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

ответ Понравился? (в смысле пригодился?)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск