ЭлементУправленияПорядком.Имя

Свойства · Name

Тип: Строка. Содержит имя элемента управления элементом порядка. Совпадает с именем свойства в коллекции элементов управления порядком.

Полное описание, параметры и ограничения

ЭлементУправленияПорядком.Имя (OrderingItemControl.Name)

ЭлементУправленияПорядком (OrderingItemControl)

Имя (Name)

Доступен, начиная с версии 8.0.

Использование:
Только чтение.
Описание:
Тип: Строка.
Содержит имя элемента управления элементом порядка. Совпадает с именем свойства в коллекции элементов управления порядком.
Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Отделить доступность сортировки от порядка отчёта

Создаём и меняем коллекцию правил: Наименование доступно для редактирования, Сумма сначала недоступна. Отчёт всё время остаётся отсортирован по сумме убыванию.

Где и как запускать

Полный серверный общий модуль собственной учебной базы; интерфейс обычного табличного поля не открывается.

Подготовка

  1. Собственная учебная база 8.5.1.1343, серверный общий модуль УчебнаяДоступностьСортировки. Вставьте полный модуль и вызовите ВыполнитьПример() своей серверной командой.

  2. Три товара создаются только в памяти: Книга 750, Ручка 50, Коробка 60. ПостроительОтчета используется для проверки настоящего порядка результата, не для обращения к базе.

  3. НастройкаПорядка — коллекция разрешений интерактивного изменения, не список сортировки. В этом упражнении она самостоятельная и к элементу управления не подключена.

  4. Для настоящего обычного табличного поля используется его собственное свойство НастройкаПорядка; видимость/блокировка диалога интерфейса данным серверным уроком не проверяется.

Процедура ВыполнитьПример() Экспорт
    Данные = Новый ТаблицаЗначений;
    Данные.Колонки.Добавить("Категория", Новый ОписаниеТипов("Строка"));
    Данные.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
    Данные.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
    Данные.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));
    Данные.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
    Образцы = Новый Массив;
    Образцы.Добавить(Новый Структура("Категория,Наименование,Количество,Цена", "Канцелярия", "Книга", 3, 250));
    Образцы.Добавить(Новый Структура("Категория,Наименование,Количество,Цена", "Канцелярия", "Ручка", 1, 50));
    Образцы.Добавить(Новый Структура("Категория,Наименование,Количество,Цена", "Упаковка", "Коробка", 2, 30));
    Для Каждого Образец Из Образцы Цикл
        СтрокаДанных = Данные.Добавить();
        ЗаполнитьЗначенияСвойств(СтрокаДанных, Образец);
        СтрокаДанных.Сумма = СтрокаДанных.Количество * СтрокаДанных.Цена;
    КонецЦикла;
    Описание = Новый ОписаниеИсточникаДанных(Данные);
    Для Каждого Колонка Из Описание.Колонки Цикл
        Колонка.Поле = Истина;
        Колонка.Отбор = Истина;
        Колонка.Порядок = Истина;
        Колонка.Измерение = Колонка.Имя = "Категория";
    КонецЦикла;
    Построитель = Новый ПостроительОтчета;
    Построитель.ИсточникДанных = Описание;
    Построитель.АвтоДетальныеЗаписи = Ложь;
    Построитель.ВыводитьДетальныеЗаписи = Истина;
    Построитель.ВыбранныеПоля.Очистить();
    Построитель.ВыбранныеПоля.Добавить("Наименование");
    Построитель.ВыбранныеПоля.Добавить("Сумма");
    Построитель.Порядок.Установить("Сумма Убыв");
    Построитель.Выполнить();
    ДоИзменения = Построитель.Результат.Выгрузить();
    Управление = Новый НастройкаПорядка;
    Название = Управление.Добавить("Наименование", Истина);
    Сумма = Управление.Добавить("Сумма", Ложь);
    Сообщить(Управление.Количество() = 2);
    Сообщить(Название.Имя = "Наименование");
    Сообщить(Название.Доступность);
    Сообщить(НЕ Сумма.Доступность);
    Сообщить(Управление.Найти("Сумма") = Сумма);
    Сообщить(Управление.Найти("НеизвестноеПоле") = Неопределено);
    Сообщить(Управление.Индекс(Сумма) = 1);
    Сообщить(Управление.Получить(0) = Название);
    Сумма.Доступность = Истина;
    Сообщить(Сумма.Доступность);
    Управление.Удалить(Название);
    Сообщить(Управление.Количество() = 1);
    Сообщить(Управление.Получить(0).Имя = "Сумма");
    Управление.Очистить();
    Сообщить(Управление.Количество() = 0);
    Построитель.Выполнить();
    ПослеИзменения = Построитель.Результат.Выгрузить();
    Сообщить(ДоИзменения.Количество() = 3 И ПослеИзменения.Количество() = 3);
    Сообщить(ПослеИзменения[0].Сумма = 750);
    Сообщить(ПослеИзменения[1].Сумма = 60);
    Сообщить(ПослеИзменения[2].Сумма = 50);
    Сообщить(ПослеИзменения.Итог("Сумма") = 860);
    Сообщить("Коллекция разрешений изменена, но настоящий порядок Сумма Убыв остался прежним.");
КонецПроцедуры

Разбор по шагам

  1. Создать собственный источник данных и настоящий порядок Сумма Убыв у построителя. Получить результат до изменения правил.

  2. Создать НастройкаПорядка и два правила по именам полей. Имя элемента только читается, Доступность изменяется.

  3. Найти правило Сумма по имени, проверить индекс и получить по позиции. Для неизвестного имени приходит Неопределено.

  4. Включить редактирование суммы, удалить собственное правило названия, затем очистить только свою коллекцию правил.

  5. Повторить выполнение построителя и проверить 750, 60, 50. Очистка правил интерактивной доступности не равна очистке Построитель.Порядок и не удаляет данные.

Как проверить результат

  1. Семнадцать булевых проверок дают Истина.

  2. Результат: Книга 750, Коробка 60, Ручка 50; общий итог 860. В конце Управление пустое, исходные данные сохраняются.

Ожидаемый результат

Полный пример всех операций коллекции разрешений с независимым настоящим результатом сортировки.

На что обратить внимание

  1. Самостоятельная коллекция не ограничивает интерфейс автоматически: её нужно отличать от собственной коллекции конкретного обычного поля.

  2. Доступность = Ложь не является правами на данные и не запрещает программную сортировку.

  3. Для переименования элемента создайте новое правило: Имя только для чтения. У коллекции нет Вставить или Сдвинуть.

  4. Удалить принимает элемент правила, не строку имени и не индекс.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.