Имя: Пароль:
1C
1С v8
БП 3.0: Список Сотрудники. "Обнаружено дублирование ключевых значений в колонке ссылка"
0 ale_alex
 
13.02.20
13:55
Здравствуйте!

Столкнулся с популярной проблемой - ошибкой, описанной в теме.

По найденным советам посмотрел на предмет наличия дублей в регистрах "Текущие кадровые данные", "Текущая тарифная ставка", нашёл и удалил. В регистре "Основные сотрудники физических лиц" нет нехаполненых полей.

Скопровал запрос из параметров реквизита "список" формы списка справочника "Сотрудники", добавил часть чтобы выявиь дубли, вставил в консоль запросов: дублей не находит, но ошибка при просмотре списка всё равно остаётся.

Что ещё можно проверить?


Запрос(из реквизита "список" формы списка справочника Сотрудники) по которому проверял дубли:



ВЫБРАТЬ
    СправочникСотрудники.Ссылка КАК Сотр,
    СправочникСотрудники.ФизическоеЛицо КАК ФЛ,
    СправочникСотрудники.ВерсияДанных КАК ВерсияДанных,
    СправочникСотрудники.ПометкаУдаления КАК ПометкаУдаления,
    СправочникСотрудники.Предопределенный КАК Предопределенный,
    СправочникСотрудники.Код КАК Код,
    СправочникСотрудники.Наименование КАК Наименование,
    СправочникСотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
    СправочникСотрудники.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
    СправочникСотрудники.ТекущийПроцентСевернойНадбавки КАК ТекущийПроцентСевернойНадбавки,
    СправочникСотрудники.ВАрхиве КАК ВАрхиве,
    СправочникСотрудники.УточнениеНаименования КАК УточнениеНаименования,
    СправочникСотрудники.ГоловнойСотрудник КАК ГоловнойСотрудник,
    ЕСТЬ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(ТекущиеКадровыеДанныеСотрудников.ТекущаяОрганизация, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК ОформленПоТрудовомуДоговору
ПОМЕСТИТЬ ВТ
ИЗ
    Справочник.Сотрудники КАК СправочникСотрудники
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
        ПО (ТекущиеКадровыеДанныеСотрудников.Сотрудник = СправочникСотрудники.Ссылка)
            И (ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо = СправочникСотрудники.ФизическоеЛицо)
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТекущаяТарифнаяСтавкаСотрудников КАК ТекущаяТарифнаяСтавкаСотрудников
        ПО (ТекущаяТарифнаяСтавкаСотрудников.Сотрудник = СправочникСотрудники.Ссылка)
            И (ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо = СправочникСотрудники.ФизическоеЛицо)}
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Сотр КАК Сотрудник,
    КОЛИЧЕСТВО(ВТ.Сотр) КАК Количесвто
ИЗ
    ВТ КАК ВТ

СГРУППИРОВАТЬ ПО
    ВТ.Сотр

ИМЕЮЩИЕ
    КОЛИЧЕСТВО(ВТ.Сотр) > 1
1 vicof
 
13.02.20
14:02
Что непонятного "Обнаружено дублирование ключевых значений в колонке ссылка"?
2 ale_alex
 
13.02.20
14:05
(1) То что дублей по запросу не неаходит
3 vicof
 
13.02.20
14:07
(2) Что ты понимаешь под дублями?
4 ale_alex
 
13.02.20
14:15
(3) Две или больше одинаковых ссылки Справочника сотрудники в результате запроса динамического списка
5 _KaA
 
13.02.20
14:18
(4) Уберите в консоли динамическое левое соединение, т.е. попробуйте без {}
6 ale_alex
 
13.02.20
14:20
(5) Также - результат запроса пустой
7 _KaA
 
13.02.20
14:25
(6) Ну попробуйте проще:

Выбрать ДанныеРегистра.Сотрудник, ДанныеРегистра.ФизическоеЛицо, КОЛИЧЕСТВО(1) КАК Количество
Из РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ДанныеРегистра
Сгруппировать по ДанныеРегистра.Сотрудник, ДанныеРегистра.ФизическоеЛицо

;Выбрать ДанныеРегистра1.Сотрудник, ДанныеРегистра1.ФизическоеЛицо, КОЛИЧЕСТВО(1) КАК Количество
Из РегистрСведений.ТекущаяТарифнаяСтавкаСотрудников КАК ДанныеРегистра1
Сгруппировать по ДанныеРегистра1.Сотрудник, ДанныеРегистра1.ФизическоеЛицо

где то двойки есть?
8 _KaA
 
13.02.20
14:27
(6)

да и еще, вот тут нет ошибки, что во втором условии "ТекущиеКадровыеДанныеСотрудников" (это не ошибка копипаста)?

        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТекущаяТарифнаяСтавкаСотрудников КАК ТекущаяТарифнаяСтавкаСотрудников
        ПО (ТекущаяТарифнаяСтавкаСотрудников.Сотрудник = СправочникСотрудники.Ссылка)
            И (ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо = СправочникСотрудники.ФизическоеЛицо)}
9 ale_alex
 
13.02.20
14:38
(7) Двоек нет
(8) Перепровил в коннфигураторе(конфигурация не переписанная) - точно такой же текст, действительноо странно
10 ale_alex
 
13.02.20
14:42
(8) Если подставить вместо "ТекущиеКадровыеДанныеСотрудников" подставить "ТекущаяТарифнаяСтавкаСотрудников" результат тот же
11 vicof
 
13.02.20
14:57
Текст ДС может еще из модуля подменяться