Ошибка: Обнаружено дублирование ключевых значений в колонках: "Ссылка". Отображение данных в списке невозможно.

1. Gok9 26.01.23 08:27 Сейчас в теме
Здравствуйте, при запуске справочника "Роли исполнителей" в ERP 2 выдал такую ошибку "Обнаружено дублирование ключевых значений в колонках: "Ссылка". Отображение данных в списке невозможно." почитал эту статью и следовал по нему https://infostart.ru/1c/articles/1586832/ но не могу найти в консоль запроса дублирующие значений в колонке ссылка, как изменить запрос чтобы найти неуникальные ссылки?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lefthander 26.01.23 09:14 Сейчас в теме
(1)Тестирование и исправление запустите... :)
7. Gok9 26.01.23 11:31 Сейчас в теме
(2) сделал, не исправился)
Прикрепленные файлы:
3. glek 120 26.01.23 09:44 Сейчас в теме
(1) Итоги по ссылке с агрегатной функцией Количество(Ссылка)?
4. Gok9 26.01.23 10:09 Сейчас в теме
(3) Такого не попробовал, как можно это прописать в запросе чтобы он считал количество неуникальных ссылок?
5. glek 120 26.01.23 10:29 Сейчас в теме
(4) Можно даже в условии запроса прописать имеющие (количество ссылка) > 1
9. Gok9 26.01.23 11:53 Сейчас в теме
(6)
(5)
(количество ссылка) > 1


ВЫБРАТЬ РАЗЛИЧНЫЕ
	ИсполнителиЗадачПереопределяемый.РольИсполнителя КАК РольИсполнителя
ПОМЕСТИТЬ Исполнители
ИЗ
	РегистрСведений.ИсполнителиЗадач КАК ИсполнителиЗадачПереопределяемый
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РолиИсполнителей КАК СправочникРолиИсполнителейПереопределяемый
		ПО ИсполнителиЗадачПереопределяемый.РольИсполнителя = СправочникРолиИсполнителейПереопределяемый.Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СправочникРолиИсполнителейПереопределяемый.Ссылка КАК Ссылка,
	СправочникРолиИсполнителейПереопределяемый.ПометкаУдаления КАК ПометкаУдаления,
	СправочникРолиИсполнителейПереопределяемый.Предопределенный КАК Предопределенный,
	СправочникРолиИсполнителейПереопределяемый.Код КАК Код,
	СправочникРолиИсполнителейПереопределяемый.Наименование КАК Наименование,
	СправочникРолиИсполнителейПереопределяемый.ИспользуетсяБезОбъектовАдресации КАК ИспользуетсяБезОбъектовАдресации,
	СправочникРолиИсполнителейПереопределяемый.ИспользуетсяСОбъектамиАдресации КАК ИспользуетсяСОбъектамиАдресации,
	СправочникРолиИсполнителейПереопределяемый.ТипыОсновногоОбъектаАдресации КАК ТипыОсновногоОбъектаАдресации,
	СправочникРолиИсполнителейПереопределяемый.ТипыДополнительногоОбъектаАдресации КАК ТипыДополнительногоОбъектаАдресации,
	СправочникРолиИсполнителейПереопределяемый.Комментарий КАК Комментарий,
	ВЫБОР
		КОГДА СправочникРолиИсполнителейПереопределяемый.ИспользуетсяСОбъектамиАдресации
			ТОГДА ИСТИНА
		КОГДА СправочникРолиИсполнителейПереопределяемый.Ссылка В
				(ВЫБРАТЬ
					Исполнители.РольИсполнителя
				ИЗ
					Исполнители
				ГДЕ
					Исполнители.РольИсполнителя = СправочникРолиИсполнителейПереопределяемый.Ссылка)
			ТОГДА ИСТИНА
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК ЕстьИсполнители,
	СправочникРолиИсполнителейПереопределяемый.ВнешняяРоль КАК ВнешняяРоль,
	СправочникРолиИсполнителейПереопределяемый.КраткоеПредставление КАК КраткоеПредставление
ИЗ
	Справочник.РолиИсполнителей.Назначение КАК РолиИсполнителейНазначениеПереопределяемый
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РолиИсполнителей КАК СправочникРолиИсполнителейПереопределяемый
		ПО РолиИсполнителейНазначениеПереопределяемый.Ссылка = СправочникРолиИсполнителейПереопределяемый.Ссылка
ГДЕ
	РолиИсполнителейНазначениеПереопределяемый.ТипПользователей = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) 
ИМЕЮЩИЕ
  КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СправочникРолиИсполнителейПереопределяемый.Ссылка) > 1
Показать


Не получается, почему такое выдает?
Прикрепленные файлы:
12. glek 120 26.01.23 15:11 Сейчас в теме
(9) Сделайте через конструктор запроса. Он правильно подскажет куда группировки ставить
11. Gok9 26.01.23 13:25 Сейчас в теме
(5) Пытаюсь вывести, но не срабатывает
ВЫБРАТЬ
СправочникРолиИсполнителейПереопределяемый.Ссылка КАК Ссылка
ИЗ
  Справочник.РолиИсполнителей КАК СправочникРолиИсполнителейПереопределяемый
Имеющие
Количество(СправочникРолиИсполнителейПереопределяемый.ссылка) > 1


Пишет: Поле не входит в группу "СправочникРолиИсполнителейПереопределяемый.Ссылка"
<<?>>СправочникРолиИсполнителейПереопределяемый.Ссылка КАК Ссылка
6. Zevzm 26.01.23 10:35 Сейчас в теме
(4) В справочнике Справочник.РолиИсполнителей есть дублирующиеся ссылки?
8. Gok9 26.01.23 11:32 Сейчас в теме
(6) не могу найти дублирующие ссылки, точнее не могу отличить...
10. Gok9 26.01.23 12:06 Сейчас в теме
(6) Вот результат запроса
Прикрепленные файлы:
результат.mxl
13. Zevzm 26.01.23 16:50 Сейчас в теме
(10) В (6) я вам ерунду написал, посыпаю голову пеплом...
Табличная часть справочника соединяется со справочником владельцем и у вас двойная ссылка в итоге. По всей видимости, ответ в (2), проблема в БД, одна табличная часть на 2 элемента справочника, либо наоборот.
Попробуйте в консоли изменить запрос так:
ВЫБРАТЬ
	СправочникРолиИсполнителейПереопределяемый.Ссылка.Код,
	РолиИсполнителейНазначениеПереопределяемый.Ссылка.Код,
	СправочникРолиИсполнителейПереопределяемый.ПометкаУдаления,
	СправочникРолиИсполнителейПереопределяемый.Предопределенный,
14. Gok9 27.01.23 05:48 Сейчас в теме
(12)
(13)
СправочникРолиИсполнителейПереопределяемый.Ссылка.Код,
РолиИсполнителейНазначениеПереопределяемый.Ссылка.Код,
СправочникРолиИсполнителейПереопределяемый.ПометкаУдаления,
СправочникРолиИсполнителейПереопределяемый.Предопределенный,


Сделал, в этот раз вместе (Записей в результате:104) показывает (Записей в результате:103)

ВЫБРАТЬ РАЗЛИЧНЫЕ
	ИсполнителиЗадачПереопределяемый.РольИсполнителя КАК РольИсполнителя
ПОМЕСТИТЬ Исполнители
ИЗ
	РегистрСведений.ИсполнителиЗадач КАК ИсполнителиЗадачПереопределяемый
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РолиИсполнителей КАК СправочникРолиИсполнителейПереопределяемый
		ПО (ИсполнителиЗадачПереопределяемый.РольИсполнителя = СправочникРолиИсполнителейПереопределяемый.Ссылка)
;

ВЫБРАТЬ
	СправочникРолиИсполнителейПереопределяемый.Ссылка,
	СправочникРолиИсполнителейПереопределяемый.ПометкаУдаления,
	СправочникРолиИсполнителейПереопределяемый.Предопределенный,
	СправочникРолиИсполнителейПереопределяемый.Код,
	СправочникРолиИсполнителейПереопределяемый.Ссылка.Код,
    РолиИсполнителейНазначениеПереопределяемый.Ссылка.Код,
    СправочникРолиИсполнителейПереопределяемый.ПометкаУдаления,
    СправочникРолиИсполнителейПереопределяемый.Предопределенный,
	СправочникРолиИсполнителейПереопределяемый.Наименование,
	СправочникРолиИсполнителейПереопределяемый.ИспользуетсяБезОбъектовАдресации,
	СправочникРолиИсполнителейПереопределяемый.ИспользуетсяСОбъектамиАдресации,
	СправочникРолиИсполнителейПереопределяемый.ТипыОсновногоОбъектаАдресации,
	СправочникРолиИсполнителейПереопределяемый.ТипыДополнительногоОбъектаАдресации,
	СправочникРолиИсполнителейПереопределяемый.Комментарий,
	ВЫБОР
		КОГДА СправочникРолиИсполнителейПереопределяемый.ИспользуетсяСОбъектамиАдресации
			ТОГДА ИСТИНА
		КОГДА СправочникРолиИсполнителейПереопределяемый.Ссылка В
				(ВЫБРАТЬ
					Исполнители.РольИсполнителя
				ИЗ
					Исполнители
				ГДЕ
					Исполнители.РольИсполнителя = СправочникРолиИсполнителейПереопределяемый.Ссылка)
			ТОГДА ИСТИНА
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК ЕстьИсполнители,
	СправочникРолиИсполнителейПереопределяемый.ВнешняяРоль,
	СправочникРолиИсполнителейПереопределяемый.КраткоеПредставление
ИЗ
	Справочник.РолиИсполнителей.Назначение КАК РолиИсполнителейНазначениеПереопределяемый
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РолиИсполнителей КАК СправочникРолиИсполнителейПереопределяемый
		ПО РолиИсполнителейНазначениеПереопределяемый.Ссылка = СправочникРолиИсполнителейПереопределяемый.Ссылка
ГДЕ
	РолиИсполнителейНазначениеПереопределяемый.ТипПользователей = Значение(Справочник.Пользователи.ПустаяСсылка)
Показать
Прикрепленные файлы:
Результат27.01.2023.mxl
15. Gok9 27.01.23 07:34 Сейчас в теме
(13) Этот справочник из коробки не работает, т.е даже в последней версии в чистой новенькой конфигурации не работает...
16. Zevzm 27.01.23 08:15 Сейчас в теме
(15) У нас он работает из коробки, в нем 13 записей:
Координатор выполнения задач
Согласующий заявки на возврат товаров от клиентов
Согласующий коммерческие условия закупок
Согласующий коммерческие условия продаж
Согласующий логистические условия закупок
Согласующий логистические условия продаж
Согласующий установки цен номенклатуры
Согласующий финансовые условия закупок
Согласующий финансовые условия продаж
Согласующий ценовые условия закупок
Согласующий ценовые условия продаж
Менеджер по закупке импортного товара
Бухгалтер.
Что выдает у вас такой запрос:
ВЫБРАТЬ
	РолиИсполнителейНазначение.ТипПользователей КАК ТипПользователей,
	РолиИсполнителейНазначение.Ссылка КАК Ссылка
ИЗ
	Справочник.РолиИсполнителей.Назначение КАК РолиИсполнителейНазначение
17. Gok9 27.01.23 08:22 Сейчас в теме
У нас конфигурация: Объединенное решение: Модуль 1С:CRM 3 (3.1.24.15) +
1С:ERP Управление предприятием 2 (2.5.10.74)
Справочник.РолиИсполнителей из коробки не работает

Можете вы свой запрос прикрепить? Запрос из типовой конфигурации?


(16)
ВЫБРАТЬ
РолиИсполнителейНазначение.ТипПользователей КАК ТипПользователей,
РолиИсполнителейНазначение.Ссылка КАК Ссылка
ИЗ
Справочник.РолиИсполнителей.Назначение КАК РолиИсполнителейНазначение

Вот такой результат выдает
Прикрепленные файлы:
Результат27.01.2023.mxl
18. Zevzm 27.01.23 09:29 Сейчас в теме
(17)Да, я видел, что у вас объединенное решение. У нас чистая ЕРП. Теперь вы видите свою проблему? У вас в ТЧ "Назначение" для некоторых элементов заполнена куча строк с "Справочник.Пользователи.ПустаяСсылка". Я бы попробовал оставить в ТЧ только по одному элементу в копии базы.
У нас сейчас такой запрос:
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РолиИсполнителейНазначение.ТипПользователей) КАК КоличествовТЧ,
РолиИсполнителейНазначение.Ссылка КАК Ссылка
ИЗ
Справочник.РолиИсполнителей.Назначение КАК РолиИсполнителейНазначение

СГРУППИРОВАТЬ ПО
РолиИсполнителейНазначение.Ссылка

Выдает такой результат:
КоличествовТЧ Ссылка
1 Координатор выполнения задач
1 Согласующий заявки на возврат товаров от клиентов
1 Согласующий коммерческие условия закупок
1 Согласующий коммерческие условия продаж
1 Согласующий логистические условия закупок
1 Согласующий логистические условия продаж
1 Согласующий установки цен номенклатуры
1 Согласующий финансовые условия закупок
1 Согласующий финансовые условия продаж
1 Согласующий ценовые условия закупок
1 Согласующий ценовые условия продаж
1 Менеджер по закупке импортного товара
1 Бухгалтер
19. Gok9 27.01.23 11:45 Сейчас в теме
(18)
(18)
Я бы попробовал оставить в ТЧ только по одному элементу в копии базы

Как можно это реализовать?
20. Zevzm 27.01.23 11:52 Сейчас в теме
(19) Удалить лишнее. Свернуть ТЧ.
21. Gok9 27.01.23 11:56 Сейчас в теме
(20) Как можно свернуть ТЧ?
22. Gok9 27.01.23 12:36 Сейчас в теме
(20) Скажите пожалуйста, как можно удалить лишнее и свернуть тч?
23. Boneman 302 27.01.23 16:15 Сейчас в теме
(22) Например так, но это тупо оставляет первую строку, без дополнительных проверок.
Если у вас роли, уже использовались в системе и уже имеют назначения, то можно выгрузить в массив и вызвать функцию БСП удаление повторяющиеся элементы массива, и потом загрузить обратно.
	Стр = Справочники.РолиИсполнителей.Выбрать();
	Пока Стр.Следующий() Цикл
		Об = Стр.Ссылка.ПолучитьОбъект();
		Если Об.Назначение.Количество()>1 Тогда
			ТипПользователей = Об.Назначение[0].ТипПользователей;
			
			Об.Назначение.Очистить();
			НовСтр = Об.Назначение.Добавить();
			НовСтр.ТипПользователей = ТипПользователей;
			Об.Записать();
		КонецЕсли;
		
	КонецЦикла;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот