Обнаружено дублирование ключевых значений в колонке Ссылка при отборе
Добрый день! Не могу понять, что сделал не так, подскажите, пожалуйста. Вот код
Проблема в следующем: по некоторым видам документов фильтрует без проблем, а на некоторых выдаёт ошибку
Обнаружено дублирование ключевых значений в колонках: "Ссылка".
Отображение данных в списке невозможно.
Это всё в динамическом списке
Не могу понять как решить
Отбор=Список.Отбор.Элементы;
ПолеОтбора=Новый ПолеКомпоновкиДанных("Ссылка.ДокументыДляПоступления.ДокументДляПоступления");
Если Отбор.количество()>0 тогда
Для Каждого ТекОтбор Из Отбор Цикл
Если ТекОтбор.ЛевоеЗначение=ПолеОтбора Тогда
Если ЗначениеЗаполнено(ОтборДокументыДляПоступления) Тогда
ТекОтбор.ПравоеЗначение=ОтборДокументыДляПоступления;
ТекОтбор.Использование=Истина;
Иначе
ТекОтбор.Использование=Ложь;
КонецЕсли;
Возврат;
КонецЕсли;
КонецЦикла;
КонецЕсли;
УсловиеОтбора=Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
УсловиеОтбора.ЛевоеЗначение=ПолеОтбора;
УсловиеОтбора.ВидСравнения=ВИдСравненияКомпоновкиДанных.Равно;
УсловиеОтбора.ПравоеЗначение=ОтборДокументыДляПоступления;
УсловиеОтбора.Использование=Истина;
ПоказатьПроблема в следующем: по некоторым видам документов фильтрует без проблем, а на некоторых выдаёт ошибку
Обнаружено дублирование ключевых значений в колонках: "Ссылка".
Отображение данных в списке невозможно.
Это всё в динамическом списке
Не могу понять как решить
По теме из базы знаний
- StartManager 1.4 - Развитие альтернативного стартера
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка
ВЫБРАТЬ РАЗЛИЧНЫЕ
ДокументАнкетаАбитуриента.Ссылка КАК Ссылка,
ДокументАнкетаАбитуриента.ПометкаУдаления КАК ПометкаУдаления,
ДокументАнкетаАбитуриента.Номер КАК Номер,
ДокументАнкетаАбитуриента.Дата КАК Дата,
ДокументАнкетаАбитуриента.Проведен КАК Проведен,
ДокументАнкетаАбитуриента.Автор КАК Автор,
ДокументАнкетаАбитуриента.БазаОсвоенияПрограммыОбучения КАК БазаОсвоенияПрограммыОбучения,
ДокументАнкетаАбитуриента.БазовоеОбразование КАК БазовоеОбразование,
ДокументАнкетаАбитуриента.БывшийСССР КАК БывшийСССР,
ДокументАнкетаАбитуриента.ВидДокументаОбразования КАК ВидДокументаОбразования,
ДокументАнкетаАбитуриента.ВидДокументаУдостоверяющегоЛичность КАК ВидДокументаУдостоверяющегоЛичность,
ДокументАнкетаАбитуриента.ВидОбразовательнойОрганизации КАК ВидОбразовательнойОрганизации,
ДокументАнкетаАбитуриента.ВступительнаяГруппа КАК ВступительнаяГруппа,
ДокументАнкетаАбитуриента.ВыданаРасписка КАК ВыданаРасписка,
ДокументАнкетаАбитуриента.ВыданЭкзаменационныйЛист КАК ВыданЭкзаменационныйЛист,
ДокументАнкетаАбитуриента.ГородОбразовательнойОрганизации КАК ГородОбразовательнойОрганизации,
ДокументАнкетаАбитуриента.Гражданство КАК Гражданство,
ДокументАнкетаАбитуриента.ДатаВозвратаДокументов КАК ДатаВозвратаДокументов,
ДокументАнкетаАбитуриента.ДатаВыдачиДокументаУдостоверяющегоЛичность КАК ДатаВыдачиДокументаУдостоверяющегоЛичность,
ДокументАнкетаАбитуриента.ДатаВыдачиПолиса КАК ДатаВыдачиПолиса,
ДокументАнкетаАбитуриента.ДатаОкончанияОбразовательнойОрганизации КАК ДатаОкончанияОбразовательнойОрганизации,
ДокументАнкетаАбитуриента.ДатаРождения КАК ДатаРождения,
ДокументАнкетаАбитуриента.ДатаСобеседования КАК ДатаСобеседования,
ДокументАнкетаАбитуриента.ДокументыВозвращены КАК ДокументыВозвращены,
ДокументАнкетаАбитуриента.ИзучаемыйЯзык КАК ИзучаемыйЯзык,
ДокументАнкетаАбитуриента.Имя КАК Имя,
ДокументАнкетаАбитуриента.ИНН КАК ИНН,
ДокументАнкетаАбитуриента.ИсточникИнформации КАК ИсточникИнформации,
ДокументАнкетаАбитуриента.КаналРекламногоВоздействия КАК КаналРекламногоВоздействия,
ДокументАнкетаАбитуриента.КодИФНС КАК КодИФНС,
ДокументАнкетаАбитуриента.КодПодразделенияДокументУдостоверяющийЛичность КАК КодПодразделенияДокументУдостоверяющийЛичность,
ДокументАнкетаАбитуриента.Льгота КАК Льгота,
ДокументАнкетаАбитуриента.Медалист КАК Медалист,
ДокументАнкетаАбитуриента.НомерАрхивногоДела КАК НомерАрхивногоДела,
ДокументАнкетаАбитуриента.НомерДокументаОбразования КАК НомерДокументаОбразования,
ДокументАнкетаАбитуриента.НомерДокументаУдостоверяющегоЛичность КАК НомерДокументаУдостоверяющегоЛичность,
ДокументАнкетаАбитуриента.НомерМедСтрах КАК НомерМедСтрах,
ДокументАнкетаАбитуриента.НомерОбразовательнойОрганизации КАК НомерОбразовательнойОрганизации,
ДокументАнкетаАбитуриента.Организация КАК Организация,
ДокументАнкетаАбитуриента.Ответственный КАК Ответственный,
ДокументАнкетаАбитуриента.Отчество КАК Отчество,
ДокументАнкетаАбитуриента.Пол КАК Пол,
ДокументАнкетаАбитуриента.ПолученноеОбразование КАК ПолученноеОбразование,
ДокументАнкетаАбитуриента.ПосещениеПодготовительныхКурсов КАК ПосещениеПодготовительныхКурсов,
ДокументАнкетаАбитуриента.ПоЦелевомуНаправлению КАК ПоЦелевомуНаправлению,
ДокументАнкетаАбитуриента.ПриемнаяКампания КАК ПриемнаяКампания,
ДокументАнкетаАбитуриента.ПризерОлимпиад КАК ПризерОлимпиад,
ДокументАнкетаАбитуриента.ПриписноеСвидетельствоНомер КАК ПриписноеСвидетельствоНомер,
ДокументАнкетаАбитуриента.ПриписноеСвидетельствоСерия КАК ПриписноеСвидетельствоСерия,
ДокументАнкетаАбитуриента.РайонПриписки КАК РайонПриписки,
ДокументАнкетаАбитуриента.СерияДокументаОбразования КАК СерияДокументаОбразования,
ДокументАнкетаАбитуриента.СерияДокументаУдостоверяющегоЛичность КАК СерияДокументаУдостоверяющегоЛичность,
ДокументАнкетаАбитуриента.СерияМедСтрах КАК СерияМедСтрах,
ДокументАнкетаАбитуриента.СостоитНаВоинскомУчете КАК СостоитНаВоинскомУчете,
ДокументАнкетаАбитуриента.Специализация КАК Специализация,
ДокументАнкетаАбитуриента.Специальность КАК Специальность,
ДокументАнкетаАбитуриента.СреднийБаллАттестата КАК СреднийБаллАттестата,
ДокументАнкетаАбитуриента.СтажЛет КАК СтажЛет,
ДокументАнкетаАбитуриента.СтажМесяцев КАК СтажМесяцев,
ДокументАнкетаАбитуриента.СтранаГражданства КАК СтранаГражданства,
ДокументАнкетаАбитуриента.Страхователь КАК Страхователь,
ДокументАнкетаАбитуриента.СтраховойНомерПФР КАК СтраховойНомерПФР,
ДокументАнкетаАбитуриента.ТребуетсяОбщежитие КАК ТребуетсяОбщежитие,
ДокументАнкетаАбитуриента.Фамилия КАК Фамилия,
ДокументАнкетаАбитуриента.ФизЛицо КАК ФизЛицо,
ДокументАнкетаАбитуриента.Финансирование КАК Финансирование,
ДокументАнкетаАбитуриента.ФормаОбучения КАК ФормаОбучения,
ДокументАнкетаАбитуриента.ЦелевоеНаправление КАК ЦелевоеНаправление,
ДокументАнкетаАбитуриента.IDАбитуриента КАК IDАбитуриента,
ДокументАнкетаАбитуриента.Статус КАК Статус,
ДокументАнкетаАбитуриента.ПоступилоССайта КАК ПоступилоССайта,
ДокументАнкетаАбитуриента.НоваяЗаявка КАК НоваяЗаявка,
ДокументАнкетаАбитуриента.СемейноеПоложение КАК СемейноеПоложение,
ДокументАнкетаАбитуриента.РегистрационныйНомер КАК РегистрационныйНомер,
ДокументАнкетаАбитуриента.ВидВоинскогоДокумента КАК ВидВоинскогоДокумента,
ДокументАнкетаАбитуриента.МоментВремени КАК МоментВремени,
ПоРейтингам.ВнесенВРейтинг КАК ВнесенВРейтинг
ИЗ
Документ.АнкетаАбитуриента КАК ДокументАнкетаАбитуриента
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
РейтингАбитуриентовСписокАбитуриентовКЗачислению.АнкетаАбитуриента КАК АнкетаАбитуриента,
РейтингАбитуриентовСписокАбитуриентовКЗачислению.Ссылка.Представление КАК ВнесенВРейтинг
ИЗ
Документ.РейтингАбитуриентов.СписокАбитуриентовКЗачислению КАК РейтингАбитуриентовСписокАбитуриентовКЗачислению
ГДЕ
НЕ РейтингАбитуриентовСписокАбитуриентовКЗачислению.Ссылка.ПометкаУдаления) КАК ПоРейтингам
ПО ДокументАнкетаАбитуриента.Ссылка = ПоРейтингам.АнкетаАбитуриента
Показать
(5) Несколько строк с одним документом. Например, если есть 2 таблицы:
ссылка1 | абитуриент 1
И
Абитуриент1 | ЗНАЧЕНИЕ1
Абитуриент1 | ЗНАЧЕНИЕ2
То в результате левого соединения по абитуриенту получится таблица
ссылка1 | абитуриент 1 | ЗНАЧЕНИЕ1
ссылка1 | абитуриент 1 | ЗНАЧЕНИЕ2
что и приведет к ошибке дублирования ключевых полей, если у динамического списка назначена основная таблица
ссылка1 | абитуриент 1
И
Абитуриент1 | ЗНАЧЕНИЕ1
Абитуриент1 | ЗНАЧЕНИЕ2
То в результате левого соединения по абитуриенту получится таблица
ссылка1 | абитуриент 1 | ЗНАЧЕНИЕ1
ссылка1 | абитуриент 1 | ЗНАЧЕНИЕ2
что и приведет к ошибке дублирования ключевых полей, если у динамического списка назначена основная таблица
(5) Может у вас одна анкета участвует в нескольких документах "РейтингАбитуриентов"? Тогда можно переделать запрос на
ВЫБРАТЬ
РейтингАбитуриентовСписокАбитуриентовКЗачислению.АнкетаАбитуриента КАК АнкетаАбитуриента,
МАКСИМУМ(РейтингАбитуриентовСписокАбитуриентовКЗачислению.Ссылка.Представление) КАК ВнесенВРейтинг
ИЗ
Документ.РейтингАбитуриентов.СписокАбитуриентовКЗачислению КАК РейтингАбитуриентовСписокАбитуриентовКЗачислению
ГДЕ
НЕ РейтингАбитуриентовСписокАбитуриентовКЗачислению.Ссылка.ПометкаУдаления
СГРУППИРОВАТЬ ПО
РейтингАбитуриентовСписокАбитуриентовКЗачислению.АнкетаАбитуриента
Показать
(7) Да, одна анкета может участвовать в нескольких рейтингах сразу, даже не думал, что соединение так сильно влияет на запрос, думал оттуда только притянуть доп. данные можно, для этого их и используют))) Сейчас попробую запрос переделать, спасибо, что объяснили
(8) Если у динамического списка назначена основная таблица, то контролируется уникальность строк по ключевым полям. Соответственно, в данном случае нарушается уникальность по ключевому полю "Ссылка" из-за левого соединения. Если очистить основную таблицу, то ошибки не будет, но будут дубли строк
Консоль системы компоновки данных в помощь.
При аналогичной ошибке помогла, оказалось что запрос собирает еще и пустые строки.
Чтобы не переписывать весь запрос, воткнул условие на то что ссылка не равна пустой ссылке - заработало.
При аналогичной ошибке помогла, оказалось что запрос собирает еще и пустые строки.
Чтобы не переписывать весь запрос, воткнул условие на то что ссылка не равна пустой ссылке - заработало.
смотрите Документ.РейтингАбитуриентов.СписокАбитуриентовКЗачислению
1.а где отбор по года? ведь каждый год новые поступления, новые Абитуриенты
2.Проверьте количество рейтингов, как бы у одного Адитура не должно быть несколько рейтингов
(похоже что они и двоят)
1.а где отбор по года? ведь каждый год новые поступления, новые Абитуриенты
2.Проверьте количество рейтингов, как бы у одного Адитура не должно быть несколько рейтингов
(похоже что они и двоят)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот