Загрузка...

обратиться в техподдержку

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

Служба заботы
14 августа 2023

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

Ошибка

Решение

Запрос который формирует список сотрудников обращается к нескольким регистрам

ВЫБРАТЬ РАЗРЕШЕННЫЕ
	0 КАК ИндикаторПроблем,
	СправочникСотрудники.Ссылка КАК Ссылка,
	СправочникСотрудники.ВерсияДанных КАК ВерсияДанных,
	СправочникСотрудники.ПометкаУдаления КАК ПометкаУдаления,
	СправочникСотрудники.Предопределенный КАК Предопределенный,
	СправочникСотрудники.Код КАК Код,
	СправочникСотрудники.Наименование КАК Наименование,
	СправочникСотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
	СправочникСотрудники.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	СправочникСотрудники.ТекущийПроцентСевернойНадбавки КАК ТекущийПроцентСевернойНадбавки,
	СправочникСотрудники.ВАрхиве КАК ВАрхиве,
	СправочникСотрудники.УточнениеНаименования КАК УточнениеНаименования,
	СправочникСотрудники.ГоловнойСотрудник КАК ГоловнойСотрудник,
	ЕСТЬNULL(ТекущиеКадровыеДанныеСотрудников.ТекущийВидЗанятости, ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ПустаяСсылка)) КАК ВидЗанятости,
	ЕСТЬNULL(ТекущиеКадровыеДанныеСотрудников.ОсновноеРабочееМестоВОрганизации, ЛОЖЬ) КАК ОсновноеРабочееМестоВОрганизации,
	ВЫБОР
		КОГДА ЕСТЬNULL(ТекущиеКадровыеДанныеСотрудников.ТекущаяОрганизация, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
			ТОГДА ВЫБОР
					КОГДА РолиСотрудниковДоговорник.Сотрудник ЕСТЬ NULL
						ТОГДА ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
					ИНАЧЕ СправочникСотрудники.ГоловнаяОрганизация
				КОНЕЦ
		ИНАЧЕ ТекущиеКадровыеДанныеСотрудников.ТекущаяОрганизация
	КОНЕЦ КАК ТекущаяОрганизация,
	ЕСТЬNULL(ТекущиеКадровыеДанныеСотрудников.ТекущееПодразделение, ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)) КАК ТекущееПодразделение,
	ЕСТЬNULL(ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность, ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка)) КАК ТекущаяДолжность,
	ЕСТЬNULL(ТекущиеКадровыеДанныеСотрудников.ДатаПриема, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаПриема,
	ЕСТЬNULL(ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаУвольнения,
	ЕСТЬNULL(ТекущаяТарифнаяСтавкаСотрудников.ТекущаяТарифнаяСтавка, 0) КАК ТекущаяТарифнаяСтавка,
	ЕСТЬNULL(ТекущаяТарифнаяСтавкаСотрудников.ТекущийСпособРасчетаАванса, ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаАванса.ПустаяСсылка)) КАК ТекущийСпособРасчетаАванса,
	ЕСТЬNULL(ТекущаяТарифнаяСтавкаСотрудников.ТекущийАванс, 0) КАК ТекущийАванс,
	ВЫБОР
		КОГДА ЕСТЬNULL(ТекущиеКадровыеДанныеСотрудников.ДатаПриема, ДАТАВРЕМЯ(1, 1, 1)) = ДАТАВРЕМЯ(1, 1, 1)
				ИЛИ ЕСТЬNULL(ТекущиеКадровыеДанныеСотрудников.ТекущаяОрганизация, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
			ТОГДА ЛОЖЬ
		ИНАЧЕ ИСТИНА
	КОНЕЦ КАК ОформленПоТрудовомуДоговору,
	ВЫБОР
		КОГДА РолиСотрудниковРаботник.Сотрудник ЕСТЬ NULL
			ТОГДА ЛОЖЬ
		ИНАЧЕ ИСТИНА
	КОНЕЦ КАК Работник,
	ВЫБОР
		КОГДА РолиСотрудниковДоговорник.Сотрудник ЕСТЬ NULL
			ТОГДА ЛОЖЬ
		ИНАЧЕ ИСТИНА
	КОНЕЦ КАК Договорник
ИЗ
	Справочник.Сотрудники КАК СправочникСотрудники
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
		ПО (ТекущиеКадровыеДанныеСотрудников.Сотрудник = СправочникСотрудники.Ссылка)
			И (ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо = СправочникСотрудники.ФизическоеЛицо)
		{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТекущаяТарифнаяСтавкаСотрудников КАК ТекущаяТарифнаяСтавкаСотрудников
		ПО (ТекущаяТарифнаяСтавкаСотрудников.Сотрудник = СправочникСотрудники.Ссылка)
			И (ТекущаяТарифнаяСтавкаСотрудников.ФизическоеЛицо = СправочникСотрудники.ФизическоеЛицо)}
		{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РолиСотрудников КАК РолиСотрудниковРаботник
		ПО (РолиСотрудниковРаботник.Сотрудник = СправочникСотрудники.Ссылка)
			И (РолиСотрудниковРаботник.РольСотрудника = ЗНАЧЕНИЕ(Перечисление.РолиСотрудников.Работник))}
		{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РолиСотрудников КАК РолиСотрудниковДоговорник
		ПО (РолиСотрудниковДоговорник.Сотрудник = СправочникСотрудники.Ссылка)
			И (РолиСотрудниковДоговорник.РольСотрудника = ЗНАЧЕНИЕ(Перечисление.РолиСотрудников.Договорник))}

Т.е. нам надо проверить дубли в регистрах

  • ТекущиеКадровыеДанныеСотрудников
  • ТекущаяТарифнаяСтавкаСотрудников
  • РолиСотрудников

Если база во фреше, то надо перейти в регистр сведений Текущие кадровые данные сотрудников. Сделать это можно с помощью горячих клавиш Shift + F11

  • e1cib/list/РегистрСведений.ТекущиеКадровыеДанныеСотрудников
  • e1cib/list/РегистрСведений.ТекущаяТарифнаяСтавкаСотрудников
  • e1cib/list/РегистрСведений.ОсновныеСотрудникиФизическихЛиц
  • e1cib/list/РегистрСведений.РолиСотрудников

ТекущиеКадровыеДанныеСотрудников

Удалить в списке дубль Удалить в списке дубль

После этого Список сотрудников сфомируется

Видео ошибки


Нужна помощь?

Если у Вас возникли трудности и Вы не можете справиться самостоятельно, наши специалисты готовы оказать удаленную помощь.

Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в МИТ

Наши сервисы по этой теме:


заполните, пожалуйста
укажите Ваш e-mail
укажите Ваш номер телефона для связи