КлючСтрокиДинамическогоСписка.<Путь ключевого поля>

Свойства · <Key field path>

Тип: Произвольный. Содержит значения ключевого поля. Если путь ключевого поля не является корректным идентификатором, то обращение к нему возможно с использованием оператора [] или метода Получить.

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

КлючСтрокиДинамическогоСписка.<Путь ключевого поля> (DynamicListRowKey.<Key field path>)

КлючСтрокиДинамическогоСписка (DynamicListRowKey)

<Путь ключевого поля> (<Key field path>)

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

Использование:
Только чтение.
Описание:
Тип: Произвольный.
Содержит значения ключевого поля. Если путь ключевого поля не является корректным идентификатором, то обращение к нему возможно с использованием оператора [] или метода Получить.
Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.

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

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

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

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

Создать составной ключ и выбрать существующую свою строку

Источник строк и событий задан собственной формой, точными метаданными или явным константным запросом. Параметры callback приходят от платформы после настоящего действия.

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

Своя управляемая форма: серверная настройка списка и клиентская команда выбора строки.

Подготовка

  1. Создайте свою обработку с управляемой формой, ДинамическийСписок СоставнойСписок без основной таблицы и связанную таблицу с колонками Полка, Номер, Наименование.

  2. Дополнительный блок назначьте ПриСозданииНаСервере: запрос создаёт две собственные константные строки, рабочих таблиц не читает. Пара Полка / Номер уникальна.

  3. Основной блок — клиентская команда ВыбратьСвоюКнигу и её кнопка. Не указывайте основную таблицу: при ней ВидКлюча допускает только Авто.

&НаКлиенте
Процедура ВыбратьСвоюКнигу(Команда)
    ИсточникКлюча = Новый Структура("Полка,Номер", "КНИГИ", 1);
    КлючКниги = Новый КлючСтрокиДинамическогоСписка(ИсточникКлюча);
    Элементы.СоставнойСписок.ТекущаяСтрока = КлючКниги;
    Сообщить(КлючКниги.Полка + ": " + Строка(КлючКниги.Номер));
КонецПроцедуры
Та же форма: реальные поля и составной ключ собственного списка
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СоставнойСписок.ПроизвольныйЗапрос = Истина;
    СоставнойСписок.ОсновнаяТаблица = "";
    СоставнойСписок.ТекстЗапроса = "ВЫБРАТЬ ""КНИГИ"" КАК Полка, 1 КАК Номер, ""Учебная книга"" КАК Наименование
    |ОБЪЕДИНИТЬ ВСЕ
    |ВЫБРАТЬ ""КНИГИ"", 2, ""Учебная тетрадь""";
    СоставнойСписок.ВидКлюча = ВидКлючаДинамическогоСписка.КлючСтроки;
    ПутиКлюча = Новый Массив;
    ПутиКлюча.Добавить("Полка");
    ПутиКлюча.Добавить("Номер");
    СоставнойСписок.ПоляКлюча = Новый ФиксированныйМассив(ПутиКлюча);
    Сообщить("Подготовлены две собственные строки с составным ключом");
КонецПроцедуры

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

  1. Подготовьте свой список, колонки и конкретные строки.

  2. Назначьте обработчик точному событию таблицы и нужной стороне клиента / сервера.

  3. Выполните действие загрузки, выбора, настройки или получения ссылки и сравните фактический результат.

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

  1. Выбрана существующая собственная строка Учебная книга с ключом КНИГИ / 1, прочитаны её реальные пути ключевых полей.

  2. Ключ не является ссылкой справочника и не используется как индекс массива. Поля ключа задаются ФиксированныйМассив строк, не несуществующей коллекцией Добавить у ПоляКлюча.

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

Разобран конкретный callback / динамический доступ с действительным источником и без подмены типов.

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

  1. Данные порции динамического списка не являются всеми данными базы; её строки не хранятся после выхода из серверного callback.

  2. Имена динамических свойств происходят из подготовленных колонок / путей ключа, а не создаются getter-обёрткой.

  3. Код 1С здесь не запускался; рабочие базы и пользовательские настройки других форм не изменялись.

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

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

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

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

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