• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

помогите с запросом

  • Автор темы Allexei
  • Дата начала
A

Allexei

Платформа 8.2
Здравствуйте! Подскажите пжста как можно запросом выбрать по дням остатки товаров(регист накопления "Остатки товаров") с учетом дней когда движений не было. Запрос в СКД передаваться не будет. Сейчас выводятся остатки только по дням когда было движение. Надо же по всем дням.
 
A

Allexei

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(ОборотПоДням.Период, МЕСЯЦ) КАК Поле1,
СУММА(ОборотПоДням.ВНаличииЕсть) КАК ВНаличииЕсть,
СУММА(ОборотПоДням.ВНаличииНет) КАК ВНаличииНет
ИЗ
ОборотПоДням КАК ОборотПоДням

СГРУППИРОВАТЬ ПО
НАЧАЛОПЕРИОДА(ОборотПоДням.Период, МЕСЯЦ)
Результат примерно следующий
Месяц - 1; В наличии дней-5; Отсутсвовал - 25;
Месяц - 2; В наличии дней-6; Отсутсвовал - 25;
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!