Тип: Произвольный. Содержит значения ключевого поля. Если путь ключевого поля не является корректным идентификатором, то обращение к нему возможно с использованием оператора [] или метода Получить.
Полное описание, параметры и ограничения
КлючСтрокиДинамическогоСписка.<Путь ключевого поля> (DynamicListRowKey.<Key field path>)
КлючСтрокиДинамическогоСписка (DynamicListRowKey)
<Путь ключевого поля> (<Key field path>)
Доступен, начиная с версии 8.3.14.
Использование:
Только чтение.
Описание:
Тип: Произвольный.
Содержит значения ключевого поля. Если путь ключевого поля не является корректным идентификатором, то обращение к нему возможно с использованием оператора [] или метода Получить.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.3.14.
Методическая информация
Практические примеры
Создать составной ключ и выбрать существующую свою строку
Источник строк и событий задан собственной формой, точными метаданными или явным константным запросом. Параметры callback приходят от платформы после настоящего действия.
Где и как запускать
Своя управляемая форма: серверная настройка списка и клиентская команда выбора строки.
Подготовка
Создайте свою обработку с управляемой формой, ДинамическийСписок СоставнойСписок без основной таблицы и связанную таблицу с колонками Полка, Номер, Наименование.
Дополнительный блок назначьте ПриСозданииНаСервере: запрос создаёт две собственные константные строки, рабочих таблиц не читает. Пара Полка / Номер уникальна.
Основной блок — клиентская команда ВыбратьСвоюКнигу и её кнопка. Не указывайте основную таблицу: при ней ВидКлюча допускает только Авто.
&НаКлиенте
Процедура ВыбратьСвоюКнигу(Команда)
ИсточникКлюча = Новый Структура("Полка,Номер", "КНИГИ", 1);
КлючКниги = Новый КлючСтрокиДинамическогоСписка(ИсточникКлюча);
Элементы.СоставнойСписок.ТекущаяСтрока = КлючКниги;
Сообщить(КлючКниги.Полка + ": " + Строка(КлючКниги.Номер));
КонецПроцедурыТа же форма: реальные поля и составной ключ собственного списка
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СоставнойСписок.ПроизвольныйЗапрос = Истина;
СоставнойСписок.ОсновнаяТаблица = "";
СоставнойСписок.ТекстЗапроса = "ВЫБРАТЬ ""КНИГИ"" КАК Полка, 1 КАК Номер, ""Учебная книга"" КАК Наименование
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ ""КНИГИ"", 2, ""Учебная тетрадь""";
СоставнойСписок.ВидКлюча = ВидКлючаДинамическогоСписка.КлючСтроки;
ПутиКлюча = Новый Массив;
ПутиКлюча.Добавить("Полка");
ПутиКлюча.Добавить("Номер");
СоставнойСписок.ПоляКлюча = Новый ФиксированныйМассив(ПутиКлюча);
Сообщить("Подготовлены две собственные строки с составным ключом");
КонецПроцедурыРазбор по шагам
Подготовьте свой список, колонки и конкретные строки.
Назначьте обработчик точному событию таблицы и нужной стороне клиента / сервера.
Выполните действие загрузки, выбора, настройки или получения ссылки и сравните фактический результат.
Как проверить результат
Выбрана существующая собственная строка Учебная книга с ключом КНИГИ / 1, прочитаны её реальные пути ключевых полей.
Ключ не является ссылкой справочника и не используется как индекс массива. Поля ключа задаются ФиксированныйМассив строк, не несуществующей коллекцией Добавить у ПоляКлюча.
Ожидаемый результат
Разобран конкретный callback / динамический доступ с действительным источником и без подмены типов.
На что обратить внимание
Данные порции динамического списка не являются всеми данными базы; её строки не хранятся после выхода из серверного callback.
Имена динамических свойств происходят из подготовленных колонок / путей ключа, а не создаются getter-обёрткой.
Код 1С здесь не запускался; рабочие базы и пользовательские настройки других форм не изменялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.