Перешли на новую конфигурацию 3.1.24.23
При записи нового объекта справочника "Сотрудники"
Стало выскакивать ошибка смотрите вложение и ниже сообщение
Ошибка наблюдается только при приеме сотрудников, которые уже работали в компаний и были уволены ранее.
Кто-нибудь встречался с таким или знает в чем дело?
При записи нового объекта справочника "Сотрудники"
Стало выскакивать ошибка смотрите вложение и ниже сообщение
Нарушено условие уникальности данных.
Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: Не удается вставить повторяющуюся строку ключа в объект "dbo._Reference291" с уникальным индексом "_Reference291_S_HPK". Повторяющееся значение ключа: (0, 0xaa4600505685861a11ed5ff83e4fcd45).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1
{ОбщийМодуль.СотрудникиФормы.Модуль(1213)}: ФизическоеЛицоОбъект.Записать();
{ОбщийМодуль.СотрудникиФормы.Модуль(375)}: ЗаписатьФизическоеЛицоСотрудника(Форма);
{Справочник.Сотрудники.Форма.ФормаЭлемента.Форма(176)}: СотрудникиФормы.СотрудникиПередЗаписьюНаСервере(ЭтотОбъект, Отказ, ТекущийОбъект, ПараметрыЗаписи);
{ОбщийМодуль.СотрудникиКлиент.Модуль(224)}: Если ДополнительныеПараметры.ЗаписатьДанные И Не Форма.Записать(ПараметрыЗаписи) Тогда
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(96)}: ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОповещениеЗавершения, ПараметрыЗаписи);
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(79)}: СотрудникиПередЗаписьюЗавершение(Отказ, ДополнительныеПараметры);
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(297)}: ВыполнитьОбработкуОповещения(ОповещениеЗавершения, Отказ);
{ОбщийМодуль.РедактированиеПериодическихСведенийКлиент.Модуль(60)}: ВыполнитьОбработкуОповещения(ОповещениеЗавершения, Отказ);
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(272)}: РедактированиеПериодическихСведенийКлиент.ЗапроситьРежимИзмененияРегистра(Форма, "ФИОФизическихЛиц", ТекстВопроса, ТекстКнопкиДа, Отказ, Оповещение);
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(63)}: ЗапроситьРежимИзмененияФИО(Форма, Форма.ФИОФизическихЛиц, Форма.ФИОФизическихЛицНоваяЗапись, Отказ, НСтр("ru = 'сотрудника'"), Оповещение);
{ОбщийМодуль.СотрудникиКлиентРасширенный.Модуль(54)}: СотрудникиКлиентБазовый.СотрудникиПередЗаписью(Форма, Отказ, ПараметрыЗаписи, ОповещениеЗавершения, ЗакрытьПослеЗаписи);
{ОбщийМодуль.СотрудникиКлиентВнутренний.Модуль(16)}: СотрудникиКлиентРасширенный.СотрудникиПередЗаписью(Форма, Отказ, ПараметрыЗаписи, ОповещениеЗавершения, ЗакрытьПослеЗаписи);
{ОбщийМодуль.СотрудникиКлиент.Модуль(337)}: СотрудникиКлиентВнутренний.СотрудникиПередЗаписью(Форма, Отказ, ПараметрыЗаписи, ОповещениеЗавершения, ЗакрытьПослеЗаписи);
{Справочник.Сотрудники.Форма.ФормаЭлемента.Форма(1149)}: СотрудникиКлиент.СотрудникиПередЗаписью(ЭтотОбъект, Отказ, ПараметрыЗаписи, ОповещениеЗавершения, ЗакрытьПослеЗаписи);
{ОбщийМодуль.СотрудникиКлиент.Модуль(210)}: Форма.ЗаписатьНаКлиенте(Ложь, Оповещение);
{mngcore/MessageBox.clf(4)}: Close(-100);
по причине:
Нарушено условие уникальности данных.
Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: Не удается вставить повторяющуюся строку ключа в объект "dbo._Reference291" с уникальным индексом "_Reference291_S_HPK". Повторяющееся значение ключа: (0, 0xaa4600505685861a11ed5ff83e4fcd45).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1
ПоказатьПопытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: Не удается вставить повторяющуюся строку ключа в объект "dbo._Reference291" с уникальным индексом "_Reference291_S_HPK". Повторяющееся значение ключа: (0, 0xaa4600505685861a11ed5ff83e4fcd45).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1
{ОбщийМодуль.СотрудникиФормы.Модуль(1213)}: ФизическоеЛицоОбъект.Записать();
{ОбщийМодуль.СотрудникиФормы.Модуль(375)}: ЗаписатьФизическоеЛицоСотрудника(Форма);
{Справочник.Сотрудники.Форма.ФормаЭлемента.Форма(176)}: СотрудникиФормы.СотрудникиПередЗаписьюНаСервере(ЭтотОбъект, Отказ, ТекущийОбъект, ПараметрыЗаписи);
{ОбщийМодуль.СотрудникиКлиент.Модуль(224)}: Если ДополнительныеПараметры.ЗаписатьДанные И Не Форма.Записать(ПараметрыЗаписи) Тогда
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(96)}: ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОповещениеЗавершения, ПараметрыЗаписи);
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(79)}: СотрудникиПередЗаписьюЗавершение(Отказ, ДополнительныеПараметры);
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(297)}: ВыполнитьОбработкуОповещения(ОповещениеЗавершения, Отказ);
{ОбщийМодуль.РедактированиеПериодическихСведенийКлиент.Модуль(60)}: ВыполнитьОбработкуОповещения(ОповещениеЗавершения, Отказ);
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(272)}: РедактированиеПериодическихСведенийКлиент.ЗапроситьРежимИзмененияРегистра(Форма, "ФИОФизическихЛиц", ТекстВопроса, ТекстКнопкиДа, Отказ, Оповещение);
{ОбщийМодуль.СотрудникиКлиентБазовый.Модуль(63)}: ЗапроситьРежимИзмененияФИО(Форма, Форма.ФИОФизическихЛиц, Форма.ФИОФизическихЛицНоваяЗапись, Отказ, НСтр("ru = 'сотрудника'"), Оповещение);
{ОбщийМодуль.СотрудникиКлиентРасширенный.Модуль(54)}: СотрудникиКлиентБазовый.СотрудникиПередЗаписью(Форма, Отказ, ПараметрыЗаписи, ОповещениеЗавершения, ЗакрытьПослеЗаписи);
{ОбщийМодуль.СотрудникиКлиентВнутренний.Модуль(16)}: СотрудникиКлиентРасширенный.СотрудникиПередЗаписью(Форма, Отказ, ПараметрыЗаписи, ОповещениеЗавершения, ЗакрытьПослеЗаписи);
{ОбщийМодуль.СотрудникиКлиент.Модуль(337)}: СотрудникиКлиентВнутренний.СотрудникиПередЗаписью(Форма, Отказ, ПараметрыЗаписи, ОповещениеЗавершения, ЗакрытьПослеЗаписи);
{Справочник.Сотрудники.Форма.ФормаЭлемента.Форма(1149)}: СотрудникиКлиент.СотрудникиПередЗаписью(ЭтотОбъект, Отказ, ПараметрыЗаписи, ОповещениеЗавершения, ЗакрытьПослеЗаписи);
{ОбщийМодуль.СотрудникиКлиент.Модуль(210)}: Форма.ЗаписатьНаКлиенте(Ложь, Оповещение);
{mngcore/MessageBox.clf(4)}: Close(-100);
по причине:
Нарушено условие уникальности данных.
Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: Не удается вставить повторяющуюся строку ключа в объект "dbo._Reference291" с уникальным индексом "_Reference291_S_HPK". Повторяющееся значение ключа: (0, 0xaa4600505685861a11ed5ff83e4fcd45).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1
Ошибка наблюдается только при приеме сотрудников, которые уже работали в компаний и были уволены ранее.
Кто-нибудь встречался с таким или знает в чем дело?
Прикрепленные файлы:
По теме из базы знаний
- Универсальный обмен данными UNIDATA 1с77
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Поиск ошибок: Обнаружены дублирующиеся ключи в уникальных индексах таблицы
- Заметки по Конвертации данных 2.1
- Исправление субконто с типом значения NULL + Лечение "Попытка вставки неуникального значения в уникальный индекс: Microsoft SQL Server"
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Добрый день. Так он и не даст вам в одной базе создать двух физических лиц.
Физ. лицо одно а сотрудников может быть несколько, (например работать в разных организациях)
Ведь при создании нового сотрудника, после ввода ФИО программа если находит такого же в базе - спрашивает "найден человек с похожим именем" в вашем случае "Да, это тот кто нужен"
{ОбщийМодуль.СотрудникиФормы.Модуль(1213)}: ФизическоеЛицоОбъект.Записать();
Физ. лицо одно а сотрудников может быть несколько, (например работать в разных организациях)
Ведь при создании нового сотрудника, после ввода ФИО программа если находит такого же в базе - спрашивает "найден человек с похожим именем" в вашем случае "Да, это тот кто нужен"
Кажется нашел там есть такая строка
Если Форма.ФизическоеЛицоЗаблокировано Или Форма.ФизическоеЛицо.Ссылка.Пустая() Тогда
ЗаписатьФизическоеЛицоСотрудника(Форма);
КонецЕсли;
Видимо у вас физ.лицо заблокировано поэтому система пытается создать нового и как результат ошибка.
Если Форма.ФизическоеЛицоЗаблокировано Или Форма.ФизическоеЛицо.Ссылка.Пустая() Тогда
ЗаписатьФизическоеЛицоСотрудника(Форма);
КонецЕсли;
Видимо у вас физ.лицо заблокировано поэтому система пытается создать нового и как результат ошибка.
Если кому интересно, проблема была решена следующим образом.
В общем модуле ПодборПерсоналаКлиент процедура ПриВыбореФизическогоЛица была изменена через расширение, следующим образом.
Было
Стало
И все заработало.
В общем модуле ПодборПерсоналаКлиент процедура ПриВыбореФизическогоЛица была изменена через расширение, следующим образом.
Было
Процедура ПриВыбореФизическогоЛица(Форма, РезультатВыбора) Экспорт
Если ЗначениеЗаполнено(Форма.ЛичныеДанныеКандидата) Тогда
РезультатВыбора = Форма.ЛичныеДанныеКандидата;
КонецЕсли;
КонецПроцедуры
Стало
&Вместо("ПриВыбореФизическогоЛица")
Процедура ВРДУО_ПриВыбореФизическогоЛица(Форма, РезультатВыбора)
Если НЕ ЗначениеЗаполнено(РезультатВыбора) И ЗначениеЗаполнено(Форма.ЛичныеДанныеКандидата) Тогда
РезультатВыбора = Форма.ЛичныеДанныеКандидата;
КонецЕсли;
КонецПроцедуры
И все заработало.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот