Что она означает и как ее исправить.
При обновлении конфигурации периодически может возникать ошибка «Записи регистра сведений стали неуникальными» или «Имеются записи с одинаковыми измерениями«
Эта ошибка означает, что при обновлении изменился состав измерений регистра сведений.
Одним из базовых принципов работы регистра сведений является требование, что каждому набору значений измерений регистра сведений соответсвует один и только один набор значений реквизитов.
Допустим, в нашей конфигурации есть регистр ответственных лиц по складам в разрезе складов и помещений.
В очередном релизе разработчик решает, что такая детализация ответственности избыточна и оставляет только возможность указания ответственного по складу.
Однако у пользователя в этом регисте указано, что для «Главного склада» за помещение «Продукты» отвечает Иванов, а за помещение «Холодильники» — Петров.
При обновлении информационной базы платформа должна оставить только одну запись с ответственным. Но она не может решить за пользователя, кого поставить ответственным за «Главный склад» вцелом (Иванова или Петрова).
Поэтому выдается сообщение об ошибке.
В зависимости от конкретной ситуации, сообщение может звучать как «Записи регистра сведений стали неуникальными» либо «Имеются записи с одинаковыми измерениями«.
Смысл сообщения одинаков.
Это сообщение означает, что в новой структуре регистров образовалось несколько записей с одним набором измерений и их нужно свернуть в одну.
Для решения проблемы удаляем одну из записей, чтобы 1С однозначно знала, что за «Главный склад» отвечает Иванов. В типовых конфигурациях в большинстве случаев эта проблема решается разработчиком программно. Т.е. обновление конфигурации само при необходимости сворачивает записи регистра.
Однако в некоторых случаях (например, если выполняется обновление с пропуском части релизов, или конфигурация доработана) данные могут не свернуться и их нужно свернуть самостоятельно.
Для того, чтобы определить, что именно изменилось, выполняем режим «Конфигурация» — «Сравнить конфигурации». И сравниваем основную конфигурацию с конфигурацией базы данных. При таком сравнении мы однозначно можем определить, какие именно поля удалены или изменились.
После этого консолью запросов находим неуникальные записи и удаляем их.
Если записей немного, то удалить дубли можно и вручную.
Если много, то проще это сделать программно.
Предлагаю простую обработку, решающую данную задачу.
Инструкция по свертке неуникальных записей:
1. Открыть обработку.
2. Выбрать регистр сведений, в котором появились неуникальные записи.
3. Отметить измерения которые будут удалены при обновлении.
4. Нажать «Свернуть дубли».
Обработка найдет дублирующиеся строки и свернет их в одну строку.
После этого обновление конфигурации пройдет корректно.
Также можно просто проверить наличие дублей без изменения данных
Каким образом решается проблема, с которой не может справиться платформа, т.е. выбор правильной записи из нескольких при разных значениях ресурсов, или дублирующие записи удаляются полностью?
Если записи удаляются полностью, то можно добавить в алгоритм дополнительную проверку, на записи, которые можно «спасти».
(1) fey, Строки сворачиваются в одну.
В ресурсы записывается МАКСИМУМ() от значений сворачиваемых строк.
Т.е. пытаемся спасти данные, которые есть.
В Подсистемах разработчика от tormozIt уже года три есть подобная обработка 🙂
(3) artbear, Да, есть похожая по принципу работы.
Насколько помню, там есть проверка регистров при усечении типов. Т.е. она проверяет все регистры на возможные дубли при удалении типа данных из конфигурации.
Эта проверяет на ошибки конкретный регистр при изменении набора измерений. Ну и плюс умеет сворачивать записи, а не только удалять.
Логика использования немного другая. И эта проще.
По какому принципу «сворачиваются» записи? Строго говоря здесь нужно выбирать какую из N несовместимых записей оставлять. В (2) описан опасный метод, который может вместо N корректных в прошлом строк оставить одну некорректную (с противоречивыми ресурсами+реквизитами) строку склеенную из максимумов. Я в код не смотрел, поэтому сужу только по описанию.
Доработал аналогичный инструмент из подсистемы «Инструменты разработчика». Теперь он учитывает удаление измерений и оставляет в каждой группе любую одну строку.
(5) tormozit, Да, просто оставляет максимум.
Смысл в том, что сохраняем то, что возможно. В каких-то случаях может получиться противоречивая строка.
(6) Да, посмотрела. Проверить не на чем, но судя по интерфейсу именно то, чего не хватало. Возможно, полезно было бы еще иметь возможность заполнить удаляемые измерения вручную, чтобы всю базу каждый раз не проверять, но и так достаточно.
Кстати в 8.3.8 формулировка проблемы в диалоге «Принятие изменений» конфигуратора изменилась на «Имеются записи с одинаковыми измерениями».
(8) tormozit, Это вроде не вопрос номера платформы. У меня оба варианта («Записи регистра сведений стали неуникальными» и «Имеются записи с одинаковыми измерениями») встречались на разных платформах. Не знаю точно, по какому принципу ошибки отображаются. Возможно, зависит от того, из-за чего получились неуникальные записи (усечение типов или удаление измерений).
(9) Действительно, оба варианта имеют место в актуальной платформе. Сейчас получил оба сообщения одновременно. Пока не разобрался точно в чем разница.
Добрый день! Подскажите пожалуйста, в моем случае, у меня при обновлении добавляется новое измерение, возникает ошибка «Записи регистра сведений стали неуникальными», но Ваша обработка пишет, что дубли не найдены, по факту дубли есть. Ваша обработка не подходит для таких случаев? Не подскажете, как быть?
(11)
скорее всего, нужно ещё раз внимательно просмотреть изменения в регистре, и понять, как и что изменилось.
Внимательно к галочкам…
(11) Если измерение только добавляется, то таких ошибок быть не должно.
Проверьте еще раз. Скорее всего какое-то измерение все-таки удаляется либо меняется тип одного из измерений,
Картинки не работают.. ((
http://1c.ekaruk.pro/upload/iblock/100/1001a268879d30a536fc6fae8ac194c6.png
Пример
Спасибо!!!
Добавлю маленький комментарий, может кому пригодится.
У меня подобная ошибка была из-за того, что тип измерения регистра сведений задан «ОпределяемымТипом» из состава которого в результате обновления попытался исключиться добавленный справочник, в результате записи рс чуть было не лишились измерения.
Спасибо! Ваша обработка очень помогла. (Разработчик решил удалить одно измерение, в результате образовалось 1094 дубля…)
Добрый день! У меня подобная проблема, в Периодическом регистре сведений не производилось изменение состава измерений, но по какой-то причине при обновлении стала выходить эта ошибка «Записи регистра сведений стали неуникальными», хотя никаких дублей в регистре нет, проверил через Консоль запросов. Регистр состоит всего из 2х измерений и одного ресурса. Никто не сталкивался с подобной проблемой?
(18) У меня аналогичная проблема. РС «ОбъектыДоступаДокументов» ЗУП2.5
Получилось решить проблему? Поделитесь кейсом
Спасибо!!! Помогло при переходе с ЗУП 2.5 на ЗУП Корп. РС «Плановые начисления сотрудников организаций» задублиллись, нашел через обработку, но так как она не удаляет по регистратору, исправил вручную. Но главное, что показала какие именно записи.
Всех с новым годом! Если есть у кого возможность сборости пожалуйста эту обработку мне на почту, проблема «Записи регистра сведений стали неуникальными: ДвоичныеДанныеФайлов» задолбался УТ 11.4 не могу обновить и старт мани кончились, почта 123asds@mail.ru
Столкнулся с такой же ошибкой, только вот регистр сведений пуст. Есть идеи как бороться?
Выгрузка-загрузка не помогла. Тестирование и исправление тоже.
Тоже столкнулся в КА 2.4 , не могу установить 2.4.5.175. Кто нашёл решение? Или ту обработку?
Не обновляется с 2.0.66.70 на 3.0.67.74 Пишет «Записи регистра сведений стали неуникальными УдалитьПрисоединенныеФайлы».
А при запуске обработки тишина, ничего не происходит
(22) если при переходе бухгалтерии 2.0 на 3.0 то в 2.0 смотрите регистр сведений ПрисоединенныеФайлы, а не регистр УдалитьПрисоединенныеФайлы. При переходе вроде как данные из этого регистра копируются в регистр УдалитьПрисоединенныеФайлы в 3.0. Ошибка зарегистрирована в 1с.
Ошибка при переходе с редакции 2.0 при использовании ЭДО
Код ошибки: 10204147
Код(ы) обращения: SW1339900
Статус: Планируется исправление в будущих версиях Зарегистрирована: 30.11.2018
Исправлена: «Бухгалтерия предприятия», версия
«Бухгалтерия предприятия, редакция 3.0», версия
Описание:
Если используется электронный документооборот и по некоторым электронным документам не завершен обмен, то при переходе с редакции 2.0 выдается сообщение об ошибке «Записи регистра сведений стали неуникальными: УдалитьПрисоединенныеФайлы».
(26) Это в Комплексной, там была тоже пара регистров, один из которых с приставкой Удалить. Чистил оба, не помогало.
(25)
Столкнулись с этим же.
Проблема в файлах пакетов электронных документов в РС ПрисоединенныеФайлы. Они 1С’кой не переносятся. Файлы электронных документов, хранящиеся в этом же РС переносятся, а про пакеты забыли — забыли указать этот тип в возможных типах в РС УдалитьПрисоединенныеФайлы через, который они переносятся.
После удаления из РС записей о пакетах электронных документов — конфигурация базы данных успешно обновляется.
Написал простенькие обработки.
1. выгружает из 2.0 в папку пакеты электронных документов с именем пакета. Затем удаляет эти записи из РС.
2. загружает в 3.0 из папки все файлы в РС ДвоичныеДанныеФайлов со ссылкой на Пакет Электронных Документов, найденный по имени файла в папке.
(21) Добрый день! Антон, вы решили данную проблему? Столкнулась с такой же ошибкой в БП 3.0 при обновлении с 3.0.67.74. Чего уже только не пробовала..
(29) Решено
(6) Подскажите как называется аналогичный инструмент в ИР?
(31) Инструмент «Подготовка к изменению структуры БД».
Проблема на некоторых регистрах сведений.
МАКСИМУМ() не может применяться к выражениям с типам ХранилищеЗначения и МоментВремени, а также Строкам неограниченной длины.
Получаю ошибку в некоторых регистрах сведений (например в БП 2.0 ПаспортныеДанныеФизЛиц)
у меня обработка не показала задвоенные данные регистра… а ошибка «Записи регистра сведений стали неуникальными: ДанныеПервичныхДокументов»
(34)
я смотрел в регистре — записи все уникальные, выгрузил содержание регистра в xml — стандартной обработкой выгрузки и загрузки данных xml, накатил релиз, и той же обработкой загрузил данные обратно.
Попробую.