Упорядочивать по возрастанию.
Полное описание, параметры и ограничения
НаправлениеСортировкиКомпоновкиДанных.Возр (DataCompositionSortDirection.Asc)
НаправлениеСортировкиКомпоновкиДанных (DataCompositionSortDirection)
Возр (Asc)
Доступен, начиная с версии 8.1.
Описание:
Упорядочивать по возрастанию.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Отсортировать собственные книги по количеству по возрастанию
Расширения возникают у таблиц по настоящему пути к данным. Их не создают вымышленным конструктором.
Где и как запускать
Своя общая управляемая форма: серверное создание и отдельные серверные процедуры.
Подготовка
В своей учебной конфигурации создайте Отчеты → УчебныеКнигиСКД. У отчёта откройте ОсновнаяСхемаКомпоновкиДанных и сохраните её макетом ОсновнаяСхемаКомпоновкиДанных.
В конструкторе СКД создайте источник Local и набор-запрос Книги. Вставьте приведённый запрос двух константных строк; это не чтение рабочих справочников. Доступные поля Наименование, Количество, Сумма заполните автоматически.
В настройках схемы создайте вариант Подробно: выбраны Наименование, Количество, Сумма; структура — группировка Детальные записи. Второй вариант Кратко: Наименование и Сумма, также Детальные записи. Первым оставьте Подробно; у обоих задайте понятное представление.
Для этой самостоятельной копии своей схемы замените запрос набора Книги приведённым запросом с &МинимумКоличества. Автоматически заполните три поля и параметр МинимумКоличества Число 10.0, значение по умолчанию 0. Первым вариантом оставьте Подробно с детальными записями.
Создайте собственную общую управляемую форму УчебныеРедакторыСКД. Не используйте основную форму отчёта: здесь обычная общая форма и НЕосновной реквизит Компоновщик типа КомпоновщикНастроекКомпоновкиДанных. Дополнительно Результат ТабличныйДокумент и связанное поле результата.
Перетащите из дерева реквизита Компоновщик на форму таблицы: ДоступныеПоля → Компоновщик.Настройки.Выбор.ДоступныеПоляВыбора; ПараметрыДанных → Компоновщик.Настройки.ПараметрыДанных; ОтборКниг → Компоновщик.Настройки.Отбор; ОформлениеКниг → Компоновщик.Настройки.УсловноеОформление; СтруктураКниг → Компоновщик.Настройки.Структура; ПользовательскиеНастройки → Компоновщик.ПользовательскиеНастройки. Автозаполнение колонок включено.
Основной блок назначьте ПриСозданииНаСервере именно этой формы. Дополнительные процедуры разместите отдельно в том же модуле. В каждой карточке свой самостоятельный основной обработчик; не создавайте несколько одноимённых обработчиков.
Ограничения редактора — удобство интерфейса, не ограничение прав пользователя и не защита запроса. Все примеры используют только две собственные константные строки, не рабочие справочники. BSL и формы при сборке справочника не запускались.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПодготовитьУчебныеРедакторы();
Компоновщик.Настройки.Порядок.Элементы.Очистить();
Порядок = Компоновщик.Настройки.Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
Порядок.Поле = Новый ПолеКомпоновкиДанных("Количество");
Порядок.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
Порядок.Использование = Истина;
ВывестиСвоиКнигиНаСервере();
Сообщить("Собственных группировок: " + Строка(Компоновщик.Настройки.Структура.Количество()));
КонецПроцедурыКонструктор своей СКД: запрос двух строк с настоящим параметром
ВЫБРАТЬ Книги.Наименование, Книги.Количество, Книги.Сумма
ИЗ
(ВЫБРАТЬ "Учебная книга" КАК Наименование, 3 КАК Количество, 750 КАК Сумма
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "Учебная тетрадь", 5, 200) КАК Книги
ГДЕ Книги.Количество >= &МинимумКоличестваТот же модуль: инициализировать реальный реквизит компоновщика
&НаСервере
Процедура ПодготовитьУчебныеРедакторы()
Схема = Отчеты.УчебныеКнигиСКД.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Источник = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема);
Компоновщик.Инициализировать(Источник);
Настройки = Схема.НастройкиПоУмолчанию;
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("МинимумКоличества", 0);
Настройки.Отбор.Элементы.Очистить();
Условие = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Условие.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Количество");
Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
Условие.ПравоеЗначение = 0;
Условие.Использование = Истина;
Условие.Представление = "Книги с положительным количеством";
Настройки.Отбор.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор;
Настройки.Отбор.ПредставлениеПользовательскойНастройки = "Отбор своих книг";
ДобавитьСвоеОформление(Настройки);
Компоновщик.ЗагрузитьНастройки(Настройки);
КонецПроцедурыТот же модуль: собственное именованное правило оформления
&НаСервере
Процедура ДобавитьСвоеОформление(Настройки)
Настройки.УсловноеОформление.Элементы.Очистить();
Правило = Настройки.УсловноеОформление.Элементы.Добавить();
Правило.Использование = Истина;
Правило.Представление = "Выделить собственные названия";
Поле = Правило.Поля.Элементы.Добавить();
Поле.Поле = Новый ПолеКомпоновкиДанных("Наименование");
Правило.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.СветлоЖелтый);
КонецПроцедурыТот же модуль: вывести настоящие настройки в поле результата
&НаСервере
Процедура ВывестиСвоиКнигиНаСервере()
Схема = Отчеты.УчебныеКнигиСКД.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = Компоновщик.ПолучитьНастройки();
ПостроительМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = ПостроительМакета.Выполнить(Схема, Настройки);
Процессор = Новый ПроцессорКомпоновкиДанных;
Процессор.Инициализировать(Макет);
Результат = Новый ТабличныйДокумент;
Вывод = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
Вывод.УстановитьДокумент(Результат);
Вывод.Вывести(Процессор);
КонецПроцедурыРазбор по шагам
Подготовьте собственную схему и точные связи таблиц.
Откройте свою общую форму с указанным обработчиком.
Сравните редактор и фактический результат компоновки.
Как проверить результат
Настройка порядка действительно передаётся следующему формированию: сначала книга с 3, затем тетрадь с 5. Это не сортировка заголовков редактора и не порядок строк исходного текста.
Локальное ограничение редактора не заменяет роли / RLS. Макет конфигурации и пользовательские настройки базы этим опытом не сохраняются.
Ожидаемый результат
Есть реальный компоновщик, непустые собственные настройки, редакторы и вывод двух строк.
На что обратить внимание
Не заменяйте путь таблицы похожим по имени реквизитом другого типа; от него зависит доступность расширения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.