День добрый!
Подскажите, как в запросе взять максимальную дату за месяц, а для месяца датыОтчёта - не больше датыОтчёта.
Значения хранится в регистре накопления ОстаткиИОбороты.
Ном1 | 14.01.2018 | 1 рублей
Ном1 | 24.01.2018 | 2 рублей
Ном1 | 12.02.2018 | 3 рублей
Ном1 | 16.02.2018 | 4 рублей
Ном1 | 01.03.2018 | 5 рублей
Ном1 | 05.03.2018 | 6 рублей
_____________________________________
На датуОтчёта = 03.03.2018 результат должен выглядеть так:
Ном1 | 24.01.2018 | 2 рублей
Ном1 | 16.02.2018 | 4 рублей
Ном1 | 01.03.2018 | 5 рублей
Колдовал с МАКСИМУМ и Группировкой... КОНЕЦПЕРИОДА не подходит, вроде...
Нужно решить вопрос именно с получением данных, а не с тем, как вести регистр и где следует хранить такие данные.
Подскажите, кто знает. Заранее спасибо!
Подскажите, как в запросе взять максимальную дату за месяц, а для месяца датыОтчёта - не больше датыОтчёта.
Значения хранится в регистре накопления ОстаткиИОбороты.
Ном1 | 14.01.2018 | 1 рублей
Ном1 | 24.01.2018 | 2 рублей
Ном1 | 12.02.2018 | 3 рублей
Ном1 | 16.02.2018 | 4 рублей
Ном1 | 01.03.2018 | 5 рублей
Ном1 | 05.03.2018 | 6 рублей
_____________________________________
На датуОтчёта = 03.03.2018 результат должен выглядеть так:
Ном1 | 24.01.2018 | 2 рублей
Ном1 | 16.02.2018 | 4 рублей
Ном1 | 01.03.2018 | 5 рублей
Колдовал с МАКСИМУМ и Группировкой... КОНЕЦПЕРИОДА не подходит, вроде...
Нужно решить вопрос именно с получением данных, а не с тем, как вести регистр и где следует хранить такие данные.
Подскажите, кто знает. Заранее спасибо!
По теме из базы знаний
- Преобразование Строки в Дату (форматы W3C и GNU)
- Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3
- Создаем сайт ресторана на OneScript
- Опыт миграции из собственного датацентра в облако AWS
- Как я стал Экспертом по технологическим вопросам за 3 месяца. Часть 2 (обновлена)
Найденные решения
Ваши варианты тоже подходят, но пока ехал домой с работы придумал совместить два моих примера выше, и сработало:
Колонка МЕСЯЦ - для ориентира, колонка ДатаФормированияОтчета - то что надо.
Вторым запросом присоединяю номенклатуру и сумму.
Всем спасибо!
ВЫБРАТЬ
КОНЕЦПЕРИОДА(КМ_ВторичныеПродажиОбороты.ДатаФормированияОтчета, МЕСЯЦ) КАК Месяц,
МАКСИМУМ(КМ_ВторичныеПродажиОбороты.ДатаФормированияОтчета) КАК ДатаФормированияОтчета
ИЗ
РегистрНакопления.КМ_ВторичныеПродажи.Обороты(&ДатаНачалаВремён, &ДатаОтчета, , ) КАК КМ_ВторичныеПродажиОбороты
СГРУППИРОВАТЬ ПО
КОНЕЦПЕРИОДА(КМ_ВторичныеПродажиОбороты.ДатаФормированияОтчета, МЕСЯЦ)
Колонка МЕСЯЦ - для ориентира, колонка ДатаФормированияОтчета - то что надо.
Вторым запросом присоединяю номенклатуру и сумму.
Всем спасибо!
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
А покажи свой не работающий запрос, может прост напутал что?
По первым прикидкам с МАКСИМУМ и Группировкой должно работать.
По первым прикидкам с МАКСИМУМ и Группировкой должно работать.
Последняя строка:
Так последнии секунды месяцов, но это не подходит, ведь у меня записи не последними секундами месяца:
ВЫБРАТЬ
МАКСИМУМ(КМ_ВторичныеПродажиОбороты.ДатаФормированияОтчета) КАК ДатаФормированияОтчета
ИЗ
РегистрНакопления.КМ_ВторичныеПродажи.Обороты(&ДатаНачалаВремён, &ДатаОтчета, , ) КАК КМ_ВторичныеПродажиОбороты
Так последнии секунды месяцов, но это не подходит, ведь у меня записи не последними секундами месяца:
ВЫБРАТЬ
КОНЕЦПЕРИОДА(КМ_ВторичныеПродажиОбороты.ДатаФормированияОтчета, МЕСЯЦ) КАК ДатаФормированияОтчета
ИЗ
РегистрНакопления.КМ_ВторичныеПродажи.Обороты(&ДатаНачалаВремён, &ДатаОтчета, , ) КАК КМ_ВторичныеПродажиОбороты
СГРУППИРОВАТЬ ПО
КОНЕЦПЕРИОДА(КМ_ВторичныеПродажиОбороты.ДатаФормированияОтчета, МЕСЯЦ)
Выбрать
Номенклатура,
Максимум(Дата),
ВЫБОР КОГДА Дата <= &ДатаОтчета И КОНЕЦПЕРИОДА(Дата, Месяц) > &ДатаОтчета ТОГДА &ДатаОтчета ИНАЧЕ КОНЕЦПЕРИОДА(Дата, Месяц) КОНЕЦ КАК Месяц
Поместить промежуточная
ИЗ <<>>
ГДЕ Дата <= &ДатаОтчета
СГРУППИРОВАТЬ ПО Номенклатура, Месяц;
Выбрать Промежуточная.Номенклатура, Промежуточная.Дата, Цена ИЗ Промежуточная ВНУТРЕННЕЕ <<>> по Промежуточная.Номенклатура И Промежуточная.Дата
Показать
Под рукой только арендная база, так что на её примере быстро набросал запрос.
Можно было обойтись и без "ВТ_Обороты", но тогда был бы повторяющийся код
Можно было обойтись и без "ВТ_Обороты", но тогда был бы повторяющийся код
ВЫБРАТЬ
ОборотыПоАренде.УслугаАренды КАК Номенклатура,
ОборотыПоАренде.ПериодАренды КАК День,
ОборотыПоАренде.СуммаПриход КАК Сумма
ПОМЕСТИТЬ ВТ_Обороты
ИЗ
РегистрНакопления.АР_ВзаиморасчетыПоАренде.Обороты(&ДатаНачалаВремён, &ДатаОтчета, , ) КАК ОборотыПоАренде
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
МАКСИМУМ(ВТ_Обороты.День) КАК День,
КОНЕЦПЕРИОДА(ВТ_Обороты.День, МЕСЯЦ) КАК Месяц
ПОМЕСТИТЬ ВТ_Периоды
ИЗ
ВТ_Обороты КАК ВТ_Обороты
ГДЕ
ВТ_Обороты.День <= &ДатаОтчета
СГРУППИРОВАТЬ ПО
КОНЕЦПЕРИОДА(ВТ_Обороты.День, МЕСЯЦ)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Обороты.Номенклатура КАК Номенклатура,
ВТ_Периоды.День КАК День,
ВТ_Периоды.Месяц КАК Месяц,
ВТ_Обороты.Сумма КАК Сумма
ИЗ
ВТ_Периоды КАК ВТ_Периоды
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Обороты КАК ВТ_Обороты
ПО ВТ_Периоды.День = ВТ_Обороты.День
УПОРЯДОЧИТЬ ПО
День
Показать
Ваши варианты тоже подходят, но пока ехал домой с работы придумал совместить два моих примера выше, и сработало:
Колонка МЕСЯЦ - для ориентира, колонка ДатаФормированияОтчета - то что надо.
Вторым запросом присоединяю номенклатуру и сумму.
Всем спасибо!
ВЫБРАТЬ
КОНЕЦПЕРИОДА(КМ_ВторичныеПродажиОбороты.ДатаФормированияОтчета, МЕСЯЦ) КАК Месяц,
МАКСИМУМ(КМ_ВторичныеПродажиОбороты.ДатаФормированияОтчета) КАК ДатаФормированияОтчета
ИЗ
РегистрНакопления.КМ_ВторичныеПродажи.Обороты(&ДатаНачалаВремён, &ДатаОтчета, , ) КАК КМ_ВторичныеПродажиОбороты
СГРУППИРОВАТЬ ПО
КОНЕЦПЕРИОДА(КМ_ВторичныеПродажиОбороты.ДатаФормированияОтчета, МЕСЯЦ)
Колонка МЕСЯЦ - для ориентира, колонка ДатаФормированияОтчета - то что надо.
Вторым запросом присоединяю номенклатуру и сумму.
Всем спасибо!
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот