Всем привет. Только начинаю изучение 1С, создал макет отчёта с помощью основной СКД. Возникла проблема: необходимо реализовать определенную сортировку по полям. В полях содержатся коды, например, УК-1, УК-2, ОПК-3, ПК-1 и т.д. Нужно, чтобы они следовали в определённом порядке (сначала УК, потом ОПК и ПК), т.е. сортировка по алфавиту не подходит. Можно ли как-то задать свою последовательность для сортировки?
По теме из базы знаний
- Создание отчетов с помощью СКД - основные понятия и элементы
- СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ
- СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты
- Полезняшки по СКД и построителям. Просто код
- История одного админа в мире 1С. Как поиски причины тормозов 1С привели к созданию нового продукта
Найденные решения
(1) На закладке наборов данных у полей есть свойство "Выражение упорядочивания". С помощью него Вы можете определить какой-угодно порядок:
- можно сортировать в зависимости от других полей, при этом зависимость может быть от нескольких полей;
- можно указывать произвольное выражение, наподобие такого:
- можно сортировать в зависимости от других полей, при этом зависимость может быть от нескольких полей;
- можно указывать произвольное выражение, наподобие такого:
Выбор
Когда Код = "УК-1" Тогда 1
Когда Код = "УК-2" Тогда 2
Когда Код = "ОПК-3" Тогда 3
...
Иначе 999
Конец
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) На закладке наборов данных у полей есть свойство "Выражение упорядочивания". С помощью него Вы можете определить какой-угодно порядок:
- можно сортировать в зависимости от других полей, при этом зависимость может быть от нескольких полей;
- можно указывать произвольное выражение, наподобие такого:
- можно сортировать в зависимости от других полей, при этом зависимость может быть от нескольких полей;
- можно указывать произвольное выражение, наподобие такого:
Выбор
Когда Код = "УК-1" Тогда 1
Когда Код = "УК-2" Тогда 2
Когда Код = "ОПК-3" Тогда 3
...
Иначе 999
Конец
(3) А если заранее неизвестно, сколько кодов будет в выборке? Попытался использовать функции для работы со строками, чтобы сравнивать начало строки кода с буквами, но вылезает ошибка. Делал это в запросе, а в Выражении упорядочивания только такие опции
Прикрепленные файлы:
(5) Я же Вам написал простой пример. Мне не известно, как сортировать Ваши данные. Хотя бы потому, что и сами данные мне не известны.
В поле "Выражение" используется язык выражений системы компоновки данных. Тот, что используется, например, в выражениях вычисляемых полей. Для проверки начала строки используйте функцию "Подстрока":
В поле "Выражение" используется язык выражений системы компоновки данных. Тот, что используется, например, в выражениях вычисляемых полей. Для проверки начала строки используйте функцию "Подстрока":
Подстрока(Строка, Позиция, Длина)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот