Получает индекс элемента в коллекции.
Синтаксис
Индекс(<Элемент>)Полное описание, параметры и ограничения
ПоляНабораДанныхМакетаКомпоновкиДанных.Индекс (DataCompositionTemplateDataSetFields.IndexOf)
ПоляНабораДанныхМакетаКомпоновкиДанных (DataCompositionTemplateDataSetFields)
Индекс (IndexOf)
Доступен, начиная с версии 8.1.
Синтаксис:
Индекс(<Элемент>)
Параметры:
<Элемент> (обязательный)
Тип: ПоляНабораДанныхМакетаКомпоновкиДанных.
Элемент, индекс которого определяется.
Возвращаемое значение:
Тип: Число.
Описание:
Получает индекс элемента в коллекции.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Синтаксис коллекции: индекс и перемещение поля скомпилированного набора
Получаем настоящий макет собственной схемы и перемещаем первое поле в его коллекции на одну позицию.
Где и как запускать
Серверный модуль своего учебного отчета либо толстый клиент; без обращения к рабочим данным.
Подготовка
Создайте в собственном учебном отчете макет УчебнаяСхема типа Схема компоновки данных: источник Локальный, один набор Продажи, запрос ВЫБРАТЬ 300 КАК Цена, 6 КАК Количество ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 250, 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 100, 2. Добавьте поля Цена и Количество, ресурс Сумма с выражением Сумма(Цена * Количество), в настройках — детальные записи и выбранные поля. Имена в коде относятся именно к этому созданному вами макету.
Изменяется только полученный в памяти макет. После опыта для вывода отчета заново скомпилируйте исходную схему.
Схема = ПолучитьМакет("УчебнаяСхема");
Компоновщик = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = Компоновщик.Выполнить(Схема, Схема.НастройкиПоУмолчанию);
Поля = Макет.НаборыДанных[0].Поля;
Если Поля.Количество() < 2 Тогда
ВызватьИсключение "Нужно минимум два поля скомпилированного набора";
КонецЕсли;
Поле = Поля[0];
До = Поля.Индекс(Поле);
Поля.Сдвинуть(Поле, 1);
После = Поля.Индекс(Поле);
Сообщить(Поле.Имя + ": " + Строка(До) + " → " + Строка(После));Разбор по шагам
Скомпилируйте свой набор с двумя полями.
Прочитайте индекс первого элемента.
Переместите его на одну позицию и снова прочитайте индекс.
Как проверить результат
В отладчике сравните порядок до и после.
Не выходите за границы коллекции.
Ожидаемый результат
Наблюдаемое изменение порядка в собственной коллекции макета.
На что обратить внимание
В страницах Индекс и Сдвинуть справка называет типом параметра саму коллекцию ПоляНабораДанныхМакетаКомпоновкиДанных. Это неясность документации: фрагмент показывает обычный синтаксис на элементе, реально извлеченном из коллекции; его нужно проверить в целевой платформе, не подменяя чужим объектом.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.