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