Как найти одинаковые записи в регистре сведений

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

16.08.2017

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

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

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


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

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

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

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

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

“Имеются записи с одинаковыми измерениями” – как найти?

Я
   Mikhail Volkov

07.03.13 – 08:04

При обновлении УПП конфигуратор выдал:

Объект изменен: РегистрСведений.ЗаписиОСтажеДляСЗВ4

ЗаписиОСтажеДляСЗВ4. Имеются записи с одинаковыми измерениями

и принимать изменения отказывается. ТиИ не помогло!?

Написал обработку, запросом сделал сортировку всех записей по измерениям, в надежде, что записи-дубли окажутся соседними. Перебрал все записи, сравнивая каждую последующую запись с предыдущей… дублей не выявлено!?

Как найти дубли-записи с одинаковыми измерениями?

   Wobland

1 – 07.03.13 – 08:21

а ты ж запрос делал к старому набору измерений

   Рэйв

2 – 07.03.13 – 08:21

Сделай запрос по всем измерениям

Добвь колонку с 1

Сгруппируй по измерениям, суммируя колонку

Там где будет >1 — то что тебе надо

   Defender aka LINN

3 – 07.03.13 – 08:22

При обновлении УПП

При обновлении

обновлении…

   Defender aka LINN

4 – 07.03.13 – 08:22

(2) см (3)

   Godofsin

5 – 07.03.13 – 08:31

(3) Гипнотизируешь? =)

   Defender aka LINN

6 – 07.03.13 – 08:35

(5) намекаю

   МихаилМ

7 – 07.03.13 – 08:36

(0)

в поиск. обсуждалось 100 раз.

   Mikhail Volkov

8 – 07.03.13 – 09:04

(6) В общем-то обновления и не было. Конфигурация базы свежая, изменений сделано много, а конфигурация поставщика еще редакции 1.2. Оказалось ее обновляли как клюшку. Решил исправить, взял свежую демо базу, через сравнение загрузил конфигурацию рабочей базы, полученную конфигурацию сохранил в файл. Затем ее загрузил в рабочую (пока копию) базу. Вроде все совпало по объектам (ожидал худшего), но вот беда – Имеются записи с одинаковыми измерениями.

Может как-то по другому можно загрузить конфигурацию поставщика, чтобы конфигуратор не проверял все объекты?

   Defender aka LINN

9 – 07.03.13 – 09:20

(8) Да ты можешь думать что угодно, но причину я уже озвучил.

   Mikhail Volkov

10 – 07.03.13 – 09:23

(9) Как исправить?

   Defender aka LINN

11 – 07.03.13 – 09:24

(10) Тяжело с тобой…

Давай на пальцах: сейчас дублей нет. Если обновлять базу – они появляются. Какой из этого можно сделать вывод?

   AndyD

12 – 07.03.13 – 09:25

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

   Лефмихалыч

13 – 07.03.13 – 09:26

смотри сстав измерений регистра до и после обновления: либо какие-то измерения удалены, либо стали ресурсамиреквизитами

   Mikhail Volkov

14 – 07.03.13 – 09:33

(11) Конфигурацию базы не меняю, хочу загрузить конфигурацию поставщика того же релиза, что базы. Напрямую, через Поддержка/Настройка поддержки не получается – конфигуратор вылитает по кнопке “Открыть”.

   Defender aka LINN

15 – 07.03.13 – 09:36

(14) Ты меня зачем вот это вот в чем-то пытаешься убедить? Открой свою базу и громко и четко скажи в дисковод, что она не права, и ничего такого ты не имел в виду, раз все так.

   БибиГон

16 – 07.03.13 – 09:37

(14) Что именно ты хочешь обновить? основную конфигурацию или поставщика? Показания у тебя меняются чтото.

   Serg_1960

17 – 07.03.13 – 09:41

Эпитафия: “Тем, кто ставит обновления через сравнить/объединить, посвящается”.

   TormozIT

18 – 07.03.13 – 09:44

Вот универсальное лечение.

http://infostart.ru/public/16080/

Правда уже давно не обновляется. В ИР самая свежая.

   Serg_1960

19 – 07.03.13 – 09:59

(18) “Бац, бац… и мимо”(с) ТС хотел обновить только конфигурацию поставщика, а получил невольно и изменение основной и конфгурации БД. Которые ему совсем не нужны.

Фраза из (8) “Вроде все совпало по объектам” – настораживает. ТС не в полной мере владеет инструментами или не обладает объективной информацией?

   Defender aka LINN

20 – 07.03.13 – 10:01

(19) ТС вообще слабо владеет ситуацией, судя по всему 🙂

   Mikhail Volkov

21 – 07.03.13 – 10:15

(19) Да, только конфигурацию поставщика, чтобы потом нормально обновляться… По составу измерения РС ЗаписиОСтажеДляСЗВ4 ред. 1.2 теже, а по типу – посмотреть не могу, при попытке открыть конфигурацию поставщика, конфигуратор вылетает…

Каким еще способом можно обновить конфигурацию поставщика?

   Defender aka LINN

22 – 07.03.13 – 10:30

(21) Т.е. тебя этот факт не настораживает? Не возникает желания узнать – есть ли бэкапы, как часто делаются и где лежат? Ну, подумаешь, что-то в базе вызывает ошибку платформы, от которой она падает в одном месте и хрен его знает, где она начнет падать завтра…

   Mikhail Volkov

23 – 07.03.13 – 10:34

(22) Бэкапы не помогут, так обновляли 3-5 лет… еще с времен УПП1.2

   Defender aka LINN

24 – 07.03.13 – 10:36

(23) Конфигурация поставщика обновляется при обновлении через поставку. Дальше думай сам, пора ведь когда-нибудь начать уже.

   TormozIT

25 – 07.03.13 – 10:42

(19) Не совсем понял, в чем сложность с конфигурацией на поддержке. Берешь внешнюю обработку по ссылке или из “ИР мобильные” и запускаешь в базе, основная конфигурация которой содержит новую конфигурацию поставщика, а конфигурация БД – старую. Где я ошибся?

   Mikhail Volkov

26 – 07.03.13 – 10:43

(24) Не приходилось… т.е. снять с поддержки, и поставить вновь со свежей конфигурацией поставщика? Опасаюсь, таже хрень будет – не встанет!?

   Mikhail Volkov

27 – 07.03.13 – 10:45

(25) “ИР мобильные” – это что?

   БибиГон

28 – 07.03.13 – 10:58

(25) Он не хотел обновлять основную конфигурацию.

(21) вроде как УПП рекомендуют обновлять поэтапно-не пропуская релизов…

   Serg_1960

29 – 07.03.13 – 11:13

(26) А чем ты рискуешь в таком случае? Устаревшей конфой поставщика, которая до этого нафиг никому не нужна была?

Соглашайся на постановку поддержки и откажись от изменений основной конфигурации -всё норм будет, не боись 🙂

   Mikhail Volkov

30 – 07.03.13 – 14:55

(29) Не предлагает!? Делаю через Поддержка/Обновить конфигурцию/Выбор файла обновления выбираю ранее сохраненную конфигурацию поставщика, показывает информацию о старой и новой конфигурации поставщика, я соглашаюсь, а в ответ “Файл не содержит доступных обновлений”!? А поэтапно с 1.2 до последнего 1.3 обновлять не реально, сразу никак?

А если сначала снять с поддержки, то сразу говорит “Файл не содержит доступных обновлений”!?

Что нитак делаю?

   PR

31 – 07.03.13 – 14:59

Ответ в (13). К чему дальнейший тупняк?

   Mikhail Volkov

32 – 07.03.13 – 15:08

(31) Состав измерений не изменился, см.(21). Может их тип изменился, надо искать 1.2.17.3

   TormozIT

33 – 07.03.13 – 15:57

(32) Да. Обычно тип как раз меняется. В типовых при правильных переходах (с предварительной подготовкой базы) не должно быть таких проблем (0). Поэтому ты что то явно не так делаешь. Но если не хочешь разбираться и хочешь именно понять какие записи станут неуникальными, то

(27)

http://devtool1c.ucoz.ru/load

   Mikhail Volkov

34 – 07.03.13 – 16:14

Выходит сразу заменить на новую конфигурацию поставщика можно сделать либо загрузив ее (как я и сделал, см. (8)), либо сравнить/объединить, предварительно сняв с поддержки.

В обоих случаях конфигуратор делает проверки объектов… А поскольку основная кофигурация не менялась, то получается, что записи-дубли РС уже существуют!?

   TormozIT

35 – 07.03.13 – 16:30

Видимо в данном случае только сам…)

   Bober

36 – 07.03.13 – 17:48

   TormozIT

37 – 08.03.13 – 10:06

(36) Это поможет когда записи уже неуникальные. Обычно это проверяет конфигуратор перед применением новой структуры таблиц. Т.е. в данном случае записи только собираются стать неуникальными.

   МимохожийОднако

38 – 08.03.13 – 11:28

(34)При втором варианте результат может быть неожиданным из-за несовпадения внутренних идентификаторов метаданных.

   t731

39 – 08.03.13 – 12:21

Посмотреть, возможно измерения из справочников с предопределенными элементами, и происходит изменение этих предопределенных элементов.

Попробовать запросом выбрать записи из регистра по предопределенным элементам.

Как вариант:

1. Выгрузить данные из регистра в ТЧ и сохранить в файле

2. Очистить регистр сведений

3. Обновить конфигурацию

4. Загрузить данные из файла в ТЧ и заполнить регистр сведений

   Mikhail Volkov

40 – 08.03.13 – 15:50

(38) 2-й вариант прошел успешно! Правда на копии, полученной выгрузкой-загрузкой. Возможно, дубли-записи были, а выгрузкой-загрузкой пролечились? После празников проверю еще раз, если что будут использовать варианты (36) и (39). Всем спс.

   Mikhail Volkov

41 – 10.03.13 – 07:21

Блин, рано я радовался… Не все объекты встали на поддержку (помеченые желтыми кубиками), есть серые – “Объект поставщика снят с поддержки. Имеются дочерние нередактируемые объекты поставщика, препятствующие удалению”!? В этот раз делал стандартно: снял конфигурацию с поддержки (она была от 1.2 редакции), через Сравнить/Объединить загрузил свежую конфигурацию поставщика от 1.3 редакции, соответствующую основной. С предложением поставить на поддержку согласился. Все галочки снял в окне сравнения, чтобы основная конфигурация не изменилась. Нажал “Выполнить”, появилось окно “Настройка правил поддержки”. В левой части Новые объекты с правилом “Изменения разрешены” отметил “Объект редактируется с сохранением поддержки”, остальные не трогал (мне всегда такой настройки хватало, не возниколо необходимости что-то еще включать!?). Сохранение изменений вроде прошли успешно, не было долгих проверок как раньше (через Загрузку конфигурации из файла). И тут такой сюрприз!?

Смотрю, например, ДоговорыКонтрагентов. Ну, добавлено пара своих реквизитов, ФормаЭлемента изменена… все остальные элементы объекта остались на поддержке, а в целом объект снят с поддержки. Почему?

   GROOVY

42 – 10.03.13 – 07:26

(40) Ох и попа тебя ждет, если идентификаторы слетели у объектов!

   Mikhail Volkov

43 – 10.03.13 – 08:18

(42) Ожидал худшего (такое наследство досталоь, 5 лет ее как клюшку обновляли), но удаления и создание новых объектов не произошло… Почему не все объекты встали на поддержку? С таким впервые столкнулся…

   vde69

44 – 10.03.13 – 09:04

только один я заметил что автор перепрыгнул через обновления за пару лет???

и ксти что занчит “ее как клюшку обновляли” ???

   Mikhail Volkov

45 – 10.03.13 – 09:26

(44) “Клюшка” – версия 7 (см. (17))

   vde69

46 – 10.03.13 – 09:36

(45) это я знаю, ты обьясни как ее обновляли

   Mikhail Volkov

47 – 10.03.13 – 10:21

(46) Могу лишь предполагать, что обновляли не рабочую базу (за 5-7 лет), а, например, демо базу, которая шла в 1-й поставке УПП. Сравнивали новый и старый релизы, и изменения вручную переносили в рабочую базу, в основную конфигурацию, а конфигурация поставщика оставалась старой. Удивляюсь, как еще идентификаторы слетели у объектов!? Примерно так я делал в 7-ке, когда своих изменений стало очень много.

   shuhard

48 – 10.03.13 – 10:26

(47)[ и изменения вручную переносили в рабочую баз]

для УПП такой вариант исключен

   Mikhail Volkov

49 – 10.03.13 – 10:37

(48) Есть другое предположение, а главное – это как-то поможет понять причину, почему не все объекты встали на поддержку?

   hhhh

50 – 10.03.13 – 11:28

(49) значит вы вручную добавляли объекты в конфигурацию, что тут понимать?

   Mikhail Volkov

51 – 10.03.13 – 12:57

(13) Нашел самый старый релиз 1.2.39.1, сделал сравнение, никаких изменений по составу измерений и ресурсов не было. Единственное изменение в форме списка – Процедура РегистрСведенийНаборЗаписейТретийПараметрИсчисляемогоСтажаНачалоВыбора(Элемент, СтандартнаяОбработка)

   hhhh

52 – 10.03.13 – 14:18

(51) вы упорно игнорируете слово “внутренний идентификатор”. Например, измерение регистра в обновлении и точно такое измерение, но добавленное вручную, имеют разные УИДы. Поэтому это измерение не встанет у вас на поддержку.

   Фрэнки

53 – 10.03.13 – 14:20

(51) Так тебе уже все-равно откуда могли появиться дубли? Т.е. просто съехал на проблему обновления/замены конфиги и все? Если не все-равно, то нужно узнать бывает на этой базе обмены данных с какими-то периферийными или были когда-то раньше.

   Mikhail Volkov

54 – 10.03.13 – 15:34

(52) Такие случаи обнаруживаются сразу при обновлении (записи по F7) конфигурации – вываливается предупреждения: создан новый объект, и удален объект с тем же именем. Но это если конфигурация на поддержке, а тут, поддержка фактически снята… х.з. как все было.

   Mikhail Volkov

55 – 10.03.13 – 15:39

(53) Как я понял эти дубли – записи-фонтомы, программно не доступны. Если они есть, то бораться с ними можно методом подсказанным (39).

   Mikhail Volkov

56 – 10.03.13 – 16:09

+ сейчас в вылеченной выгрузкой-загрузкой копии проблема “Имеются записи с одинаковыми измерениями” исчезла. Теперь, ставя на поддержку стандартным способом (см. (41)), не встали на поддержку несколько объектов. После 2-й попытки их осталось всего 10. При 1-й попытке я снимал все галочки в окне сравнения/объединения. При 2-й попытке с тех объектов, которые не встали на поддержку 1-й раз, галочки не снимал, т.е. они должны остаться такими же как в конфигурации поставщика. Вот только не у всех таких объектов эти галочки были…

  

t731

57 – 11.03.13 – 10:00

На сайте http://курсы-по-1с.рф/free/

в бесплатных материалах есть видео-ролики по теме “Приемы обновления типовых конфигураций”

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

Записи регистра сведений стали неуникальными в 1С

При обновлении конфигурации 1С может появиться предупреждение о том, что записи каких-то регистров сведений стали неуникальными. Рассмотрим порядок действий для исправления данной ошибки.

Причины возникновения ошибки

Связано это может быть с несколькими причинами:

  • не последовательным обновлением конфигурации релиз за релизом, а «перепрыгиванием» сразу через несколько релизов;
  • конфликтом введенных в базу данных самим пользователем и добавленных в конфигурацию разработчиками предопределенных значений;
  • ошибками переноса баз данных в новые конфигурации;
  • доработкой конфигурации самим пользователем.

Какой бы ни была причина появления этой ошибки, она говорит об одном: в регистре сведений есть запись с ключевыми параметрами, для которой имеется несколько значений, и программа 1С не знает: какая из этих записей правильная.

Ключевые параметры регистра сведений называются Измерениями, а значения по измерениям указываются в Ресурсах. По правилам записи в регистры сведений ключевые параметры определяют значение ОДНОЗНАЧНО.

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

В режиме обновления конфигурации ситуация более сложная, хотя отслеживание таких ситуаций регулируется в большинстве случаев в 1С автоматически. Разработчики вносят в программу изменения таким образом, что программа сама, по заложенному алгоритму и анализу данных, определяет какая из записей неактуальна и удаляет ее, продолжив обновление.

Но бывают случаи, когда определить самостоятельно какую из записей оставить, а какую удалить, программа 1С не может и тогда пользователь уже должен сам исправить ситуацию. Обычно это происходит при удалении каких-то ключевых параметров из регистра сведений в новом обновлении и наиболее часто проявляется у любителей «обновляться редко, но сразу на последний релиз».

При возникновении ошибки будет выдано предупреждение о возникшей ситуации с регистром, которое не позволит продолжить обновление, пока не будет исправлена ошибка.

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

Исправление ошибки «записи регистра сведений стали неуникальными»

Последовательное обновление конфигурации без пропусков

Если конфигурация типовая и изменений в нее пользователем не вносилось, проведите обновление последовательно всеми вышедшими релизами, без пропусков. Возможно, разработчики что-то убирали в коде, а в следующем релизе — добавляли и пропуск этих промежуточных релизов привел к ошибке заполнения каких-то данных регистра по умолчанию.

При возникновении ошибки обновите текущую конфигурацию, например, Бухгалтерия предприятия 3.0.67.54 не сразу на релиз 3.0.67.72, а последовательно на:

  • 0.67.63;
  • 0.67.67;
  • 0.67.70;
  • 0.67.72.

Если это не помогло, используйте следующие рекомендации.

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

Настройка автоматического обновления

Настройте автоматическое обновление 1С: раздел Администрирование — Настройки программы — Интернет-поддержка и сервисы — Обновление версии программы.

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

Для автоматического обновления программы 1С должна быть настроена Интернет-поддержка.

Сравнение конфигураций

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

Основная конфигурация – это обновляемая конфигурация программы. В типовых, не измененных программах 1С она совпадает с конфигурацией поставщика. После обновления конфигурации, запускается процесс обновления Конфигурации базы данных, в которой еще содержатся старые данные до тех пор, пока процесс обновления не завершится полностью.

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

Пошаговая инструкция сравнения основной конфигурации и конфигурации базы данных.

Шаг 1. Открытие Конфигуратора.

Войдите в Конфигуратор информационной базы.

Откройте конфигурацию по кнопке Конфигуратор — Открыть конфигурацию. В правом окне откроется список всех объектов 1С.

Выберите команду Сравнить конфигурации.

Шаг 2. Настройка сравнения конфигураций.

Установите настройки как показано на рисунке.

При определении типа выделяйте объект постепенно: сначала узнайте тип первой часть объекта до точки, далее увеличивайте количество выделенных частей. Если реквизит имеет ссылочный тип данных, результат в окне Выражение может быть неверно понят пользователем. Почти всегда в операциях присваивания последним указывается реквизит объекта.

Шаг 3. Запуск сравнения конфигураций.

Нажмите на кнопку ОК. Программа 1С выдаст окно сравнения конфигураций, в котором нужно перейти на регистр сведения Цены номенклатуры и раскрыть различия, нажав на «+» справа от объекта.

Шаг 4. Исправление ошибки.

Из таблицы сравнения видно, что в регистре Цены номенклатуры в основной конфигурации отсутствует параметр измерения Тип цен.

Войдите в базу данных и откройте регистр Цены номенклатуры: кнопка Главное меню — Все функции — Регистры сведений — Цены номенклатуры.

Как видно из рисунка, сейчас в регистре сведений Цены номенклатуры для Комплекта постельного белья две записи для типов цен:

  • Продажная — 3 670 руб.;
  • Оптовая — 2 090 руб.

Поскольку реквизит Тип цен был удален из основной конфигурации, в регистре сведений должно остаться две записи с разными ценами на одинаковые ключевые параметры для Комплекта постельного белья. Правила записи в регистр этого не допускают, и программа 1С выдает ошибку при обновлении базы данных.

Удалите одну из записей для Комплекта постельного белья и выполните обновление сначала. На этот раз никаких ошибок программа 1С не выдаст!

Если причину самостоятельно, используя указанные рекомендации, отыскать не удалось, базу придется передать профессионалам 1С для исправления.

Обслуживание

Заказать консультацию

По этой или иной ошибке Вы можете обратиться к нашим специалистам, мы Вам поможем решить Вашу проблему.

При обновлении конфигурации 1С может появиться предупреждение о том, что записи каких-то регистров сведений стали неуникальными. Рассмотрим порядок действий для исправления данной ошибки.

Содержание

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

Причины возникновения ошибки

Связано это может быть с несколькими причинами:

  • не последовательным обновлением конфигурации релиз за релизом, а «перепрыгиванием» сразу через несколько релизов;
  • конфликтом введенных в базу данных самим пользователем и добавленных в конфигурацию разработчиками предопределенных значений;
  • ошибками переноса баз данных в новые конфигурации;
  • доработкой конфигурации самим пользователем.

Какой бы ни была причина появления этой ошибки, она говорит об одном: в регистре сведений есть запись с ключевыми параметрами, для которой имеется несколько значений, и программа 1С не знает: какая из этих записей правильная.

Ключевые параметры регистра сведений называются Измерениями, а значения по измерениям указываются в Ресурсах. PDF По правилам записи в регистры сведений ключевые параметры определяют значение ОДНОЗНАЧНО.

При работе в пользовательском режиме при попытке записи в регистр разных данных с одинаковыми ключевыми параметрами выдается ошибка, не позволяющая провести документ. PDF Пользователь при этом сразу видит ошибку, понимает в чем дело и исправляет ее.

В режиме обновления конфигурации ситуация более сложная, хотя отслеживание таких ситуаций регулируется в большинстве случаев в 1С автоматически. Разработчики вносят в программу изменения таким образом, что программа сама, по заложенному алгоритму и анализу данных, определяет какая из записей неактуальна и удаляет ее, продолжив обновление.

Но бывают случаи, когда определить самостоятельно какую из записей оставить, а какую удалить, программа 1С не может и тогда пользователь уже должен сам исправить ситуацию. Обычно это происходит при удалении каких-то ключевых параметров из регистра сведений в новом обновлении и наиболее часто проявляется у любителей «обновляться редко, но сразу на последний релиз».

При возникновении ошибки будет выдано предупреждение о возникшей ситуации с регистром, которое не позволит продолжить обновление, пока не будет исправлена ошибка.

В новой версии конфигурации был изменен регистр Цены номенклатуры. PDF При обновлении конфигурации было выдано предупреждение о возникших неуникальных записях по этому регистру. PDF

Исправление ошибки «Записи регистра сведений стали неуникальными»

Последовательное обновление конфигурации без «пропусков»

Если конфигурация типовая и изменений в нее пользователем не вносилось, проведите обновление последовательно всеми вышедшими релизами, без пропусков. Возможно, разработчики что-то убирали в коде, а в следующем релизе — добавляли и пропуск этих промежуточных релизов привел к ошибке заполнения каких-то данных регистра по умолчанию.

При возникновении ошибки обновите текущую конфигурацию, например, Бухгалтерия предприятия 3.0.67.54 не сразу на релиз 3.0.67.72, а последовательно на:

  • 0.67.63;
  • 0.67.67;
  • 0.67.70;
  • 0.67.72.

Если это не помогло, используйте следующие рекомендации.

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

Настройка автоматического обновления

Настройте автоматическое обновление 1С: раздел Администрирование — Настройки программы — Интернет-поддержка и сервисы — Обновление версии программы.

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

Для автоматического обновления программы 1С должна быть настроена Интернет-поддержка.

Сравнение конфигураций

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

Основная конфигурация – это обновляемая конфигурация программы. В типовых, не измененных программах 1С она совпадает с конфигурацией поставщика. После обновления конфигурации, запускается процесс обновления Конфигурации базы данных, в которой еще содержатся старые данные до тех пор, пока процесс обновления не завершится полностью.

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

Пошаговая инструкция сравнения основной конфигурации и конфигурации базы данных.

Шаг 1. Открытие Конфигуратора.

Войдите в Конфигуратор информационной базы.

Откройте конфигурацию по кнопке Конфигуратор — Открыть конфигурацию. В правом окне откроется список всех объектов 1С.

Выберите команду Сравнить конфигурации.

Шаг 2. Настройка сравнения конфигураций.

Установите настройки как показано на рисунке.

Шаг 3. Запуск сравнения конфигураций.

Нажмите на кнопку ОК. Программа 1С выдаст окно сравнения конфигураций, в котором нужно перейти на регистр сведения Цены номенклатуры и раскрыть различия, нажав на «+» справа от объекта.

Шаг 4. Исправление ошибки.

Из таблицы сравнения видно, что в регистре Цены номенклатуры в основной конфигурации отсутствует параметр измерения Тип цен.

Войдите в базу данных и откройте регистр Цены номенклатуры: кнопка Главное меню — Все функции — Регистры сведений — Цены номенклатуры.

Как видно из рисунка, сейчас в регистре сведений Цены номенклатуры для Комплекта постельного белья две записи для типов цен:

  • Продажная — 3 670 руб.;
  • Оптовая — 2 090 руб.

Поскольку реквизит Тип цен был удален из основной конфигурации, в регистре сведений должно остаться две записи с разными ценами на одинаковые ключевые параметры для Комплекта постельного белья. Правила записи в регистр этого не допускают, и программа 1С выдает ошибку при обновлении базы данных.

Удалите одну из записей для Комплекта постельного белья и выполните обновление сначала. На этот раз никаких ошибок программа 1С не выдаст!

Если причину самостоятельно, используя указанные рекомендации, отыскать не удалось, базу придется передать профессионалам 1С для исправления.

См. также:

  • Ошибка печати в 1С: как исправить
  • Компонента 1С: Печать штрихкодов не установлена на данном компьютере
  • Лицензия не обнаружена. Не обнаружен ключ защиты программы 1С: как исправить
  • Не обнаружена установленная версия 1С Предприятия
  • Значение поля номер не уникально 1С 8.3: как исправить

Если Вы еще не являетесь подписчиком:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Обработка для удаления и изменения записей любого регистра сведений для Обычных форм и Управляемого приложения!

Универсальные — будет работать в любой конфигурации (Если вдруг что-то!? — пишите в комментариях, исправлю)

Интуитивно понятны — все шаги последовательны: Выбрать регистр сведений, указать параметры отбора, посмотреть результат отбора — Удаление записей регистра

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

Отображение ошибки

Подобная ошибка может иметь два идентичных отображения от системы 1С:

Суть этой ошибки состоит в том, что после очередного обновления изменился состав измерений для одного из регистров (или нескольких).

Программные требования к регистрам

Мы знаем, что регистр (register, англ.) сведений формируется для хранения в виде записей (строк). Каждая из них характеризуется видами измерений (профилями) и ресурсов.

Измерения характеризуют разрезы (типы), в которых хранятся данные. А ресурсы— непосредственно содержат их значения.

Например, register сведений «Цены товаров» имеет структуру, состоящую из двух видов профилей («Товар», «ВидЦен») и одного ресурса («Цена»):

Структура товаров в 1С

Таким образом, строки регистра в базе данных будут выглядеть так:

Строки регистра в реестре

Кроме того, при создании записи ей присваивается уникальный ключ. Формирование его системой происходит автоматически.

Одинаковыми считаются такие записи, ключи которых идентичны.

Изменение структуры

Рассмотрим другой пример.

В одно время разработчиком был создан регистр «ОтветственныеЛицаПоСкладам» структурно состоящий из двух измерений («Склад» и «Помещение») и одного ресурса («Ответственный»).

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

И теперь обновлённый register имеет только единственный профиль и ресурс:

Структура его изменилась. Но строки остались!

И в них указано, что для профиля «Помещение» — есть ответственные (ресурсы). Но что с ними делать при переходе на новый релиз — сама программа без пользователя такую задачу не решит.

Поэтому появляется ошибка 1С:«записи регистра сведений стали неуникальными». Может быть такая — имеются записи с одинаковыми измерениями.

Ручное исправление

Смысл этих сообщений сводится к тому, что новая структура содержит несколько строк с лишними измерениями и их нужно свернуть в одну:

Несколько записей с одним значением

В этом случае нужно удалить те, которые соответствуют теперь уже ненужным профилям.

Обычно при использовании типовых конфигураций такая задача решается разработчиками на программном уровне. И сворачивание происходит автоматически при обновлении.

Пропущенный релиз

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

Метод сравнения

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

Для решения такой задачи нужно войти в режим «Конфигурация» и выполнить команду «Сравнить конфигурации»:

После этого удалить найденные с помощью консоли запросов неуникальные строчки.

При небольшом их количестве это несложно сделать вручную.

Автоудаление 1

Для программного удаления очень большого количества неуникальных строчек можно воспользоваться обработкой, предложенной Евгенией Карук:

Программное удаление дублей

  • Сначала скачать и открыть обработку;
  • Открыть register сведений с неуникальными строчками;
  • Отметить те из измерений, которые нужно удалить в результате обновления;
  • Дать команду нажатием «Свернуть дубли».

Дубли строк будут найдены обработкой и свёрнуты в одну.

После проведения обработки обновление конфигурации будет проведено корректно.

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

Проверка на наличие дублей

Автоудаление 2

Другая обработка для той же цели предложена другим специалистом в этой области — Павлом Чистовым (для мобильного варианта не поддерживается).

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

Комментируйте наши публикации. Описывайте свой опыт в решении проблемных вопросов.

вход на сайт

Описание:
Если у Вас в настройках программы 1С было включено версионирование объектов, то-есть фиксирование изменений объектов, то эта обработка для вас.
Данная обработка предназначена для всех конфигураций на управляемых формах. Она удаляет записи из регистра сведений Версии объектов.
Обработка поможет избавить Вас от не нужно-хранимой информации, а так же уменьшить размер информационной базы.

После применения обработки обязательно нужно запустить тестирование и исправление -> сжатие данных. Это необходимо для фактического уменьшения размера информационной базы за счет удаленных обработкой записей.

Добавить комментарий