Ошибка "Записи регистра сведений стали неуникальными"

При обновлении конфигурации периодически может возникать ошибка «Записи регистра сведений стали неуникальными» или «Имеются записи с одинаковыми измерениями».
Что она означает и как ее исправить.

При обновлении конфигурации периодически может возникать ошибка «Записи регистра сведений стали неуникальными» или «Имеются записи с одинаковыми измерениями«
Записи регистра сведений стали неуникальными, Имеются записи с одинаковыми измерениями
Эта ошибка означает, что при обновлении изменился состав измерений регистра сведений.
Одним из базовых принципов работы регистра сведений является требование, что каждому набору значений измерений регистра сведений соответсвует один и только один набор значений реквизитов.
Допустим, в нашей конфигурации есть регистр ответственных лиц по складам в разрезе складов и помещений.
В очередном релизе разработчик решает, что такая детализация ответственности избыточна и оставляет только возможность указания ответственного по складу.

Однако у пользователя в этом регисте указано, что для «Главного склада» за помещение «Продукты» отвечает Иванов, а за помещение «Холодильники» — Петров.
При обновлении информационной базы платформа должна оставить только одну запись с ответственным. Но она не может решить за пользователя, кого поставить ответственным за «Главный склад» вцелом (Иванова или Петрова).
Поэтому выдается сообщение об ошибке.
В зависимости от конкретной ситуации, сообщение может звучать как «Записи регистра сведений стали неуникальными» либо «Имеются записи с одинаковыми измерениями«.
Смысл сообщения одинаков.
Это сообщение означает, что в новой структуре регистров образовалось несколько записей с одним набором измерений и их нужно свернуть в одну. 


Для решения проблемы удаляем одну из записей, чтобы 1С однозначно знала, что за «Главный склад» отвечает Иванов. В типовых конфигурациях в большинстве случаев эта проблема решается разработчиком программно. Т.е. обновление конфигурации само при необходимости сворачивает записи регистра.
Однако в некоторых случаях (например, если выполняется обновление с пропуском части релизов, или конфигурация доработана) данные могут не свернуться и их нужно свернуть самостоятельно.
Для того, чтобы определить, что именно изменилось, выполняем режим «Конфигурация» — «Сравнить конфигурации». И сравниваем основную конфигурацию с конфигурацией базы данных. При таком сравнении мы однозначно можем определить, какие именно поля удалены или изменились.
сравнение конфигураций
После этого консолью запросов находим неуникальные записи и удаляем их.
Если записей немного, то удалить дубли можно и вручную.
Если много, то проще это сделать программно.
Предлагаю простую обработку, решающую данную задачу.

Инструкция по свертке неуникальных записей:

1. Открыть обработку.
2. Выбрать регистр сведений, в котором появились неуникальные записи.
3. Отметить измерения которые будут удалены при обновлении.
4. Нажать «Свернуть дубли».

Обработка найдет дублирующиеся строки и свернет их в одну строку.
После этого обновление конфигурации пройдет корректно.

Также можно просто проверить наличие дублей без изменения данных

36 Comments

  1. fey

    Каким образом решается проблема, с которой не может справиться платформа, т.е. выбор правильной записи из нескольких при разных значениях ресурсов, или дублирующие записи удаляются полностью?

    Если записи удаляются полностью, то можно добавить в алгоритм дополнительную проверку, на записи, которые можно «спасти».

    Reply
  2. ekaruk

    (1) fey, Строки сворачиваются в одну.

    В ресурсы записывается МАКСИМУМ() от значений сворачиваемых строк.

    Т.е. пытаемся спасти данные, которые есть.

    Reply
  3. artbear

    В Подсистемах разработчика от tormozIt уже года три есть подобная обработка 🙂

    Reply
  4. ekaruk

    (3) artbear, Да, есть похожая по принципу работы.

    Насколько помню, там есть проверка регистров при усечении типов. Т.е. она проверяет все регистры на возможные дубли при удалении типа данных из конфигурации.

    Эта проверяет на ошибки конкретный регистр при изменении набора измерений. Ну и плюс умеет сворачивать записи, а не только удалять.

    Логика использования немного другая. И эта проще.

    Reply
  5. tormozit

    По какому принципу «сворачиваются» записи? Строго говоря здесь нужно выбирать какую из N несовместимых записей оставлять. В (2) описан опасный метод, который может вместо N корректных в прошлом строк оставить одну некорректную (с противоречивыми ресурсами+реквизитами) строку склеенную из максимумов. Я в код не смотрел, поэтому сужу только по описанию.

    Reply
  6. tormozit

    Доработал аналогичный инструмент из подсистемы «Инструменты разработчика». Теперь он учитывает удаление измерений и оставляет в каждой группе любую одну строку.

    Reply
  7. ekaruk

    (5) tormozit, Да, просто оставляет максимум.

    Смысл в том, что сохраняем то, что возможно. В каких-то случаях может получиться противоречивая строка.

    (6) Да, посмотрела. Проверить не на чем, но судя по интерфейсу именно то, чего не хватало. Возможно, полезно было бы еще иметь возможность заполнить удаляемые измерения вручную, чтобы всю базу каждый раз не проверять, но и так достаточно.

    Reply
  8. tormozit

    Кстати в 8.3.8 формулировка проблемы в диалоге «Принятие изменений» конфигуратора изменилась на «Имеются записи с одинаковыми измерениями».

    Reply
  9. ekaruk

    (8) tormozit, Это вроде не вопрос номера платформы. У меня оба варианта («Записи регистра сведений стали неуникальными» и «Имеются записи с одинаковыми измерениями») встречались на разных платформах. Не знаю точно, по какому принципу ошибки отображаются. Возможно, зависит от того, из-за чего получились неуникальные записи (усечение типов или удаление измерений).

    Reply
  10. tormozit

    (9) Действительно, оба варианта имеют место в актуальной платформе. Сейчас получил оба сообщения одновременно. Пока не разобрался точно в чем разница.

    Reply
  11. NatashaSK

    Добрый день! Подскажите пожалуйста, в моем случае, у меня при обновлении добавляется новое измерение, возникает ошибка «Записи регистра сведений стали неуникальными», но Ваша обработка пишет, что дубли не найдены, по факту дубли есть. Ваша обработка не подходит для таких случаев? Не подскажете, как быть?

    Reply
  12. корум

    (11)

    Подскажите пожалуйста, в моем случае, у меня при обновлении добавляется новое измерение, возникает ошибка «Записи регистра сведений стали неуникальными», но Ваша обработка пишет, что дубли не найдены, по факту дубли есть. Ваша обработка не подходит для таких случаев? Не подскажете, как быть?

    скорее всего, нужно ещё раз внимательно просмотреть изменения в регистре, и понять, как и что изменилось.

    Внимательно к галочкам…

    Reply
  13. ekaruk

    (11) Если измерение только добавляется, то таких ошибок быть не должно.

    Проверьте еще раз. Скорее всего какое-то измерение все-таки удаляется либо меняется тип одного из измерений,

    Reply
  14. METAL

    Картинки не работают.. ((

    Пример http://1c.ekaruk.pro/upload/iblock/100/1001a268879d30a536fc6fae8ac194c6.png

    Reply
  15. Bugor73

    Спасибо!!!

    Reply
  16. alex25ru

    Добавлю маленький комментарий, может кому пригодится.

    У меня подобная ошибка была из-за того, что тип измерения регистра сведений задан «ОпределяемымТипом» из состава которого в результате обновления попытался исключиться добавленный справочник, в результате записи рс чуть было не лишились измерения.

    Reply
  17. Andreev.a

    Спасибо! Ваша обработка очень помогла. (Разработчик решил удалить одно измерение, в результате образовалось 1094 дубля…)

    Reply
  18. TreeDogNight

    Добрый день! У меня подобная проблема, в Периодическом регистре сведений не производилось изменение состава измерений, но по какой-то причине при обновлении стала выходить эта ошибка «Записи регистра сведений стали неуникальными», хотя никаких дублей в регистре нет, проверил через Консоль запросов. Регистр состоит всего из 2х измерений и одного ресурса. Никто не сталкивался с подобной проблемой?

    Reply
  19. triviumfan

    (18) У меня аналогичная проблема. РС «ОбъектыДоступаДокументов» ЗУП2.5

    Получилось решить проблему? Поделитесь кейсом

    Reply
  20. Agema

    Спасибо!!! Помогло при переходе с ЗУП 2.5 на ЗУП Корп. РС «Плановые начисления сотрудников организаций» задублиллись, нашел через обработку, но так как она не удаляет по регистратору, исправил вручную. Но главное, что показала какие именно записи.

    Reply
  21. Anton_81

    Всех с новым годом! Если есть у кого возможность сборости пожалуйста эту обработку мне на почту, проблема «Записи регистра сведений стали неуникальными: ДвоичныеДанныеФайлов» задолбался УТ 11.4 не могу обновить и старт мани кончились, почта 123asds@mail.ru

    Reply
  22. lexxmaster

    Столкнулся с такой же ошибкой, только вот регистр сведений пуст. Есть идеи как бороться?

    Reply
  23. lexxmaster

    Выгрузка-загрузка не помогла. Тестирование и исправление тоже.

    Reply
  24. Gendelf

    Тоже столкнулся в КА 2.4 , не могу установить 2.4.5.175. Кто нашёл решение? Или ту обработку?

    Reply
  25. EKutuzov

    Не обновляется с 2.0.66.70 на 3.0.67.74 Пишет «Записи регистра сведений стали неуникальными УдалитьПрисоединенныеФайлы».

    А при запуске обработки тишина, ничего не происходит

    Reply
  26. user1028355

    (22) если при переходе бухгалтерии 2.0 на 3.0 то в 2.0 смотрите регистр сведений ПрисоединенныеФайлы, а не регистр УдалитьПрисоединенныеФайлы. При переходе вроде как данные из этого регистра копируются в регистр УдалитьПрисоединенныеФайлы в 3.0. Ошибка зарегистрирована в 1с.

    Ошибка при переходе с редакции 2.0 при использовании ЭДО

    Код ошибки: 10204147

    Код(ы) обращения: SW1339900

    Статус: Планируется исправление в будущих версиях Зарегистрирована: 30.11.2018

    Исправлена: «Бухгалтерия предприятия», версия

    «Бухгалтерия предприятия, редакция 3.0», версия

    Описание:

    Если используется электронный документооборот и по некоторым электронным документам не завершен обмен, то при переходе с редакции 2.0 выдается сообщение об ошибке «Записи регистра сведений стали неуникальными: УдалитьПрисоединенныеФайлы».

    Reply
  27. lexxmaster

    (26) Это в Комплексной, там была тоже пара регистров, один из которых с приставкой Удалить. Чистил оба, не помогало.

    Reply
  28. Zer0COOL

    (25)

    Столкнулись с этим же.

    Проблема в файлах пакетов электронных документов в РС ПрисоединенныеФайлы. Они 1С’кой не переносятся. Файлы электронных документов, хранящиеся в этом же РС переносятся, а про пакеты забыли — забыли указать этот тип в возможных типах в РС УдалитьПрисоединенныеФайлы через, который они переносятся.

    После удаления из РС записей о пакетах электронных документов — конфигурация базы данных успешно обновляется.

    Написал простенькие обработки.

    1. выгружает из 2.0 в папку пакеты электронных документов с именем пакета. Затем удаляет эти записи из РС.

    2. загружает в 3.0 из папки все файлы в РС ДвоичныеДанныеФайлов со ссылкой на Пакет Электронных Документов, найденный по имени файла в папке.

    Reply
  29. LelPalna

    (21) Добрый день! Антон, вы решили данную проблему? Столкнулась с такой же ошибкой в БП 3.0 при обновлении с 3.0.67.74. Чего уже только не пробовала..

    Reply
  30. LelPalna

    (29) Решено

    Reply
  31. DiegoLidabo

    (6) Подскажите как называется аналогичный инструмент в ИР?

    Reply
  32. tormozit

    (31) Инструмент «Подготовка к изменению структуры БД».

    Reply
  33. kpdozer

    Проблема на некоторых регистрах сведений.

    МАКСИМУМ() не может применяться к выражениям с типам ХранилищеЗначения и МоментВремени, а также Строкам неограниченной длины.

    Получаю ошибку в некоторых регистрах сведений (например в БП 2.0 ПаспортныеДанныеФизЛиц)

    Reply
  34. isupovalex

    у меня обработка не показала задвоенные данные регистра… а ошибка «Записи регистра сведений стали неуникальными: ДанныеПервичныхДокументов»

    Reply
  35. isupovalex

    (34)

    я смотрел в регистре — записи все уникальные, выгрузил содержание регистра в xml — стандартной обработкой выгрузки и загрузки данных xml, накатил релиз, и той же обработкой загрузил данные обратно.

    Reply
  36. disha

    Попробую.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *