Добры день. Для УТ 10.3 создал отчёт Сравнение продаж.
Вывел: Месяц, Продажи текущий, Продажи предыдущий, Разница.
Осталось отсортировать месяц, всё перепробовал, но месяц так и выводится хаотично.
Как отсортировать Месяц по возрастанию?
Вывел: Месяц, Продажи текущий, Продажи предыдущий, Разница.
Осталось отсортировать месяц, всё перепробовал, но месяц так и выводится хаотично.
Как отсортировать Месяц по возрастанию?
Прикрепленные файлы:
По теме из базы знаний
- Шаблон отчетов на СКД. Полностью заменяет Универсальный отчет и все связанные с ним заморочки. Минимум кода. Программисту 1С остается только корректно написать СКД. Подходит для ЛЮБОЙ конфигурации.
- СКД. Сортировка
- Запросы 1С СКД. Возможности и ограничения
- Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 1
- Как правильно писать запросы для СКД. Фундаментальное исследование
Найденные решения
(1) Во-первых, в отчете у Вас уже есть поле, приведенное к началу месяца - ПериодМесяц. Это же отлично, Вам нужно было всего лишь на закладке "Наборы данных" для данного поля в колонке оформления настроить формат:
ДФ='MMMM yyyy'.
И больше ничего дополнительно не требуется. Ни строить громоздкие конструкции в запросе для получения представления месяца в виде строки, ни потом героически пытаться победить сортировку по умолчанию.
Во-вторых, чтобы посчитать дельту в процентах, нужно использовать следующее выражение вычисляемого поля:
А для выражения ресурсов так:
Дополнительно стоит для вычисляемого выражения также настроить формат представления, чтобы не видеть в отчете длинные десятичные дроби.
ДФ='MMMM yyyy'.
И больше ничего дополнительно не требуется. Ни строить громоздкие конструкции в запросе для получения представления месяца в виде строки, ни потом героически пытаться победить сортировку по умолчанию.
Во-вторых, чтобы посчитать дельту в процентах, нужно использовать следующее выражение вычисляемого поля:
ВЫБОР
КОГДА ЗначениеЗаполнено(ПродажиТекущий)
ТОГДА ПродажиПрошлый / ПродажиТекущий * 100
ИНАЧЕ 0
КОНЕЦВЫБОР
КОГДА ЗначениеЗаполнено(Сумма(ПродажиТекущий))
ТОГДА Сумма(ПродажиПрошлый) / Сумма(ПродажиТекущий) * 100
ИНАЧЕ 0
КОНЕЦДополнительно стоит для вычисляемого выражения также настроить формат представления, чтобы не видеть в отчете длинные десятичные дроби.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Во-первых, в отчете у Вас уже есть поле, приведенное к началу месяца - ПериодМесяц. Это же отлично, Вам нужно было всего лишь на закладке "Наборы данных" для данного поля в колонке оформления настроить формат:
ДФ='MMMM yyyy'.
И больше ничего дополнительно не требуется. Ни строить громоздкие конструкции в запросе для получения представления месяца в виде строки, ни потом героически пытаться победить сортировку по умолчанию.
Во-вторых, чтобы посчитать дельту в процентах, нужно использовать следующее выражение вычисляемого поля:
А для выражения ресурсов так:
Дополнительно стоит для вычисляемого выражения также настроить формат представления, чтобы не видеть в отчете длинные десятичные дроби.
ДФ='MMMM yyyy'.
И больше ничего дополнительно не требуется. Ни строить громоздкие конструкции в запросе для получения представления месяца в виде строки, ни потом героически пытаться победить сортировку по умолчанию.
Во-вторых, чтобы посчитать дельту в процентах, нужно использовать следующее выражение вычисляемого поля:
ВЫБОР
КОГДА ЗначениеЗаполнено(ПродажиТекущий)
ТОГДА ПродажиПрошлый / ПродажиТекущий * 100
ИНАЧЕ 0
КОНЕЦВЫБОР
КОГДА ЗначениеЗаполнено(Сумма(ПродажиТекущий))
ТОГДА Сумма(ПродажиПрошлый) / Сумма(ПродажиТекущий) * 100
ИНАЧЕ 0
КОНЕЦДополнительно стоит для вычисляемого выражения также настроить формат представления, чтобы не видеть в отчете длинные десятичные дроби.
используйте
Функция Месяц
МЕСЯЦ(<Дата>)
МЕСЯЦ(<Дата>)
Принимает параметр типа ДАТА. Возвращает номер месяца даты (целочисленное значение от 1 до 12).
ВЫБРАТЬ МЕСЯЦ(ДАТАВРЕМЯ(2016, 6, 23))
ВЫБРАТЬ МЕСЯЦ(ДАТАВРЕМЯ(2016, 6, 23))
Запрос вернет – 6
Функция Месяц
МЕСЯЦ(<Дата>)
МЕСЯЦ(<Дата>)
Принимает параметр типа ДАТА. Возвращает номер месяца даты (целочисленное значение от 1 до 12).
ВЫБРАТЬ МЕСЯЦ(ДАТАВРЕМЯ(2016, 6, 23))
ВЫБРАТЬ МЕСЯЦ(ДАТАВРЕМЯ(2016, 6, 23))
Запрос вернет – 6
Вы можете выбрать в запросе просто поле периодмесяц, а в условном оформлении в настройках СКД указывать формат даты для поля ММММ. Рассчитывать в запросе месяц не надо
(6)Необходимо выводить поле ПериодМесяц, там хранится дата, а не номер. но если в условном оформлении установить формат даты ММММ, то пользователь увидит название месяца, а сортировка будет по дате.
Прикрепленные файлы:
Вопрос решён. Все выше перечисленные ответы верные, но решил по другому. Сделал вычисляемое моле НомерМесяца и с помощью процедуры
Выбор
Когда Месяц = "Январь" Тогда 1
Когда Месяц = "Февраль" Тогда 2
Конец
получил из строки число, далее, добавил ещё одну колонку в отчет № месяца и по ней отсортировал.
График тоже отсортировал по номеру месяца.
Выбор
Когда Месяц = "Январь" Тогда 1
Когда Месяц = "Февраль" Тогда 2
Конец
получил из строки число, далее, добавил ещё одну колонку в отчет № месяца и по ней отсортировал.
График тоже отсортировал по номеру месяца.
То есть сначала дату в строку через число, а потом строку в число?
Осталось только снова всё это в дату преобразовать, чтобы закольцевать так сказать.
Осталось только снова всё это в дату преобразовать, чтобы закольцевать так сказать.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
