Получить запросом данные по продажам на стыке месяцев
1. Выбираю в запросе определенную Номенклатуру, а вместе с ней и Дату, и Количество, из тч.документа (к сожалению, у него нет регистров) за определенный период (данный документ делается раз в месяц). Дата документа всегда начало месяца!!!!
То есть, у меня при выборке за месяц получаются такие данные - 01.01.2021 Шапка 310 шт (01.02.2021 Шапка 125 шт, и т.д.)
2. За этот же период я получаю (см. картинку "Пример") все недели.
Что нужно сделать в запросе (подскажите, пожалуйста, как это сделать):
а) Разбить количество проданных номенклатур за месяц на количество дней месяца. Чтобы знать сколько в среднем за день мы продаем. (это сделал)
б) Связать в запросе недели (из одной временной таблицы) и Количество проданной номенклатуры за эту неделю (из другой временной таблицы) - из расчета того, что мы уже знаем сколько продаем номенклатуры (например, шапочка) за день
в) Если неделя календаря застряла между месяцами (стыковая), то рассчитывать так: количество дней предыдущего месяца в этой недели * на количество проданных шапочек в среднем за день в предыдущем месяце + количество дней текущего(следующего) месяца в этой недели* на количество проданных шапочек в среднем за день в текущем месяце
То есть, у меня при выборке за месяц получаются такие данные - 01.01.2021 Шапка 310 шт (01.02.2021 Шапка 125 шт, и т.д.)
2. За этот же период я получаю (см. картинку "Пример") все недели.
Что нужно сделать в запросе (подскажите, пожалуйста, как это сделать):
а) Разбить количество проданных номенклатур за месяц на количество дней месяца. Чтобы знать сколько в среднем за день мы продаем. (это сделал)
б) Связать в запросе недели (из одной временной таблицы) и Количество проданной номенклатуры за эту неделю (из другой временной таблицы) - из расчета того, что мы уже знаем сколько продаем номенклатуры (например, шапочка) за день
в) Если неделя календаря застряла между месяцами (стыковая), то рассчитывать так: количество дней предыдущего месяца в этой недели * на количество проданных шапочек в среднем за день в предыдущем месяце + количество дней текущего(следующего) месяца в этой недели* на количество проданных шапочек в среднем за день в текущем месяце
Прикрепленные файлы:
По теме из базы знаний
- "Процессы 3.0: CRM, Бизнес-процессы, Управление по целям". Универсальная система управления процессами и показателями для любой конфигурации 1С
- Концепция автоматизации многопрофильного Холдинга в системе АУБ на платформе 1С
- Как внедрить управление закупками с пользой для бизнеса. Практические инструменты и опыт бизнес-консультанта
- Работа с требованиями при автоматизации процессов планирования. Как не получить «лоскутное одеяло» и при этом удержать границы проекта
- Опыт перехода с УТ 10 на УТ 11
Найденные решения
1. Получаем временную таблицу со всеми днями за указанный период.
2.Соединяем с таблицей, где посчитаны продажи по конкретной номенклатуре в среднем за день. Каждому дню месяца присобачиваем количество проданной номенклатуры за день. Соединение - (НАЧАЛОПЕРИОДА(ПроизводственныйКалендарьДни.ДеньПланов, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Док.Период, МЕСЯЦ))
3. Выбираем поле - НАЧАЛОПЕРИОДА(ПроизводственныйКалендарьДни.ДеньПланов, НЕДЕЛЯ) КАК НачалоНедели из врем.таблицы по дням.
4. Группируем по данному полю, а по количеству суммируем.
И оно прекрасно суммирует данные за неделю. Даже если эта неделя на стыке 2 месяцев
2.Соединяем с таблицей, где посчитаны продажи по конкретной номенклатуре в среднем за день. Каждому дню месяца присобачиваем количество проданной номенклатуры за день. Соединение - (НАЧАЛОПЕРИОДА(ПроизводственныйКалендарьДни.ДеньПланов, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Док.Период, МЕСЯЦ))
3. Выбираем поле - НАЧАЛОПЕРИОДА(ПроизводственныйКалендарьДни.ДеньПланов, НЕДЕЛЯ) КАК НачалоНедели из врем.таблицы по дням.
4. Группируем по данному полю, а по количеству суммируем.
И оно прекрасно суммирует данные за неделю. Даже если эта неделя на стыке 2 месяцев
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Как идея, чтобы самому не придумывать ничего в расчетах, я бы:
1. Посчитал среднее число продаж за день в месяце, по производственному календарю построил втТаблицу на каждый день
2. Из втТаблицы для каждой записи помимо даты добавил НачалоПериода(Продажа.Дата, НЕДЕЛЯ) КАК ПериодНедлеля, НачалоПериода(Продажа.Дата, МЕСЯЦ) КАК ПериодМесяц и т.д., группировал в колонках по этим полям в зависимости от детализации.
В итоге не нужно самому никакие стыки рассчитывать, суммированием по периодам занималась бы уже СКД
1. Посчитал среднее число продаж за день в месяце, по производственному календарю построил втТаблицу на каждый день
2. Из втТаблицы для каждой записи помимо даты добавил НачалоПериода(Продажа.Дата, НЕДЕЛЯ) КАК ПериодНедлеля, НачалоПериода(Продажа.Дата, МЕСЯЦ) КАК ПериодМесяц и т.д., группировал в колонках по этим полям в зависимости от детализации.
В итоге не нужно самому никакие стыки рассчитывать, суммированием по периодам занималась бы уже СКД
1. Получаем временную таблицу со всеми днями за указанный период.
2.Соединяем с таблицей, где посчитаны продажи по конкретной номенклатуре в среднем за день. Каждому дню месяца присобачиваем количество проданной номенклатуры за день. Соединение - (НАЧАЛОПЕРИОДА(ПроизводственныйКалендарьДни.ДеньПланов, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Док.Период, МЕСЯЦ))
3. Выбираем поле - НАЧАЛОПЕРИОДА(ПроизводственныйКалендарьДни.ДеньПланов, НЕДЕЛЯ) КАК НачалоНедели из врем.таблицы по дням.
4. Группируем по данному полю, а по количеству суммируем.
И оно прекрасно суммирует данные за неделю. Даже если эта неделя на стыке 2 месяцев
2.Соединяем с таблицей, где посчитаны продажи по конкретной номенклатуре в среднем за день. Каждому дню месяца присобачиваем количество проданной номенклатуры за день. Соединение - (НАЧАЛОПЕРИОДА(ПроизводственныйКалендарьДни.ДеньПланов, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Док.Период, МЕСЯЦ))
3. Выбираем поле - НАЧАЛОПЕРИОДА(ПроизводственныйКалендарьДни.ДеньПланов, НЕДЕЛЯ) КАК НачалоНедели из врем.таблицы по дням.
4. Группируем по данному полю, а по количеству суммируем.
И оно прекрасно суммирует данные за неделю. Даже если эта неделя на стыке 2 месяцев
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот