База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как устранить ошибку «Обнаружено дублирование ключевых значений»?
- В этой теме 1 ответ, 2 участника, последнее обновление 4 минуты назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
5 августа 2026 в 8:07 #38322
ошибка Процедура AWMSBasis_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
ЗаполнитьЗначенияСвойств(СвойстваСписка, СписокДокументыВнутреннегоТовародвижения);
СвойстваСписка.ТекстЗапроса = AWMSBasis_ТекстЗапросаСписок();
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.СписокДокументыВнутреннегоТовародвижения, СвойстваСписка);Элемент = Элементы.Добавить(«СостояниеWMS», Тип(«ПолеФормы»), Элементы.СписокДокументыВнутреннегоТовародвижения);
Элемент.ПутьКДанным = «СписокДокументыВнутреннегоТовародвижения.СостояниеWMS»;
Элемент.Заголовок = «Статус WMS»;
КонецПроцедуры Обнаружено дублирование ключевых значений в колонках: «ТипСсылки», «ХозяйственнаяОперация», «ДатаДокументаИБ», «ИдентификаторЗаписи», «Организация», «Партнер», «МестоХранения», «Контрагент», «Подразделение», «Ссылка», «РазделительЗаписи».
Отображение данных в списке невозможно. -
5 августа 2026 в 8:07 #38323
Ошибка «Обнаружено дублирование ключевых значений в колонках» говорит о том, что в вашем динамическом списке (СписокДокументыВнутреннегоТовародвижения) в наборе данных есть повторяющиеся значения по ключевым полям, которые используются для идентификации строк.
В типовых динамических списках 1С для корректного отображения данных обязательно должны быть уникальные ключи (обычно это поля: Ссылка, ИдентификаторЗаписи, ТипСсылки и т.п.).
—
Причина ошибки:
В вашем запросе (или в структуре данных, которую вы передаете в динамический список) отсутствует уникальный ключ или он дублируется.
—
Как исправить:
1. Проверьте запрос, который формирует данные для списка.
В запросе должны быть все ключевые поля, которые используются в динамическом списке, и они должны однозначно идентифицировать каждую строку.2. Добавьте в запрос уникальный идентификатор строки.
Обычно это полеРеестрДокументов.СсылкаилиРеестрДокументов.ИдентификаторЗаписи. Если этих полей нет, добавьте.3. Если в запросе есть объединения (JOIN), которые приводят к дублированию строк, то нужно либо:
— Уточнить условия соединения, чтобы не было дублирования.
— Использовать агрегатные функции или группировку, чтобы убрать дубли.
— Добавить в выборку уникальный ключ, который учитывает все поля.4. Проверьте структуру свойств динамического списка.
ВСвойстваСпискадолжен быть корректно установлен ключевой реквизит (обычноКлючевыеПоля), например:1С (Код)1СвойстваСписка.КлючевыеПоля = "Ссылка";Если ключевых полей несколько, перечислите их через запятую.
—
Пример:
Если у вас в запросе есть:
|ВЫБРАТЬ
| РеестрДокументов.Ссылка КАК Ссылка,
| РеестрДокументов.ТипСсылки,
| РеестрДокументов.ХозяйственнаяОперация,
| …
| СостоянияРаспоряжений.Состояние КАК СостояниеWMS
|ИЗ
| РегистрСведений.РеестрДокументов КАК РеестрДокументов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.AWMSBasis_СостоянияРаспоряжений КАК СостоянияРаспоряжений
| ПО РеестрДокументов.Ссылка = СостоянияРаспоряжений.Документ
|ГДЕ
| РеестрДокументов.ДатаДокументаИБ МЕЖДУ &НачалоПериода И &КонецПериодаТо в коде после заполнения свойств динамического списка добавьте:
1С (Код)1СвойстваСписка.КлючевыеПоля = "Ссылка";—
Если ключевых полей несколько:
1С (Код)1СвойстваСписка.КлючевыеПоля = "ТипСсылки, ХозяйственнаяОперация, ДатаДокументаИБ, ИдентификаторЗаписи, Организация, Партнер, МестоХранения, Контрагент, Подразделение, Ссылка, РазделительЗаписи";Но обычно достаточно одного уникального поля —
Ссылка.—
Итог:
В процедуре
AWMSBasis_ПриСозданииНаСервереПослепосле заполненияСвойстваСпискадобавьте:1С (Код)1СвойстваСписка.КлючевыеПоля = "Ссылка";И убедитесь, что в запросе поле
Ссылкаприсутствует и уникально.—
Если дублирование сохраняется, значит в запросе есть несколько строк с одинаковым значением
Ссылка. Тогда нужно исправлять запрос, чтобы убрать дубли.—
Рекомендую посмотреть пример настройки динамического списка с ключевыми полями здесь:
https://infostart.ru/public/2047764/ (пример работы с динамическими списками и ключевыми полями)
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.