1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

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

Тема в разделе "Базы данных и администрирование", создана пользователем Allexei, 1 июл 2011.

  1. Allexei

    Allexei Well-Known Member

    Репутация:
    0
    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    1
    Платформа 8.2
    Здравствуйте! Подскажите пжста как можно запросом выбрать по дням остатки товаров(регист накопления "Остатки товаров") с учетом дней когда движений не было. Запрос в СКД передаваться не будет. Сейчас выводятся остатки только по дням когда было движение. Надо же по всем дням.
     
  2. Allexei

    Allexei Well-Known Member

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

    puh14 Well-Known Member

    Репутация:
    0
    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Так что - получил что хотелось?
     
  4. Allexei

    Allexei Well-Known Member

    Репутация:
    0
    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    1
    Ага :lool:
    Конфа УТ 11
     
Загрузка...

Поделиться этой страницей