“Имеются записи с одинаковыми измерениями” – как найти? |
Я |
07.03.13 – 08:04
При обновлении УПП конфигуратор выдал:
Объект изменен: РегистрСведений.ЗаписиОСтажеДляСЗВ4
ЗаписиОСтажеДляСЗВ4. Имеются записи с одинаковыми измерениями
и принимать изменения отказывается. ТиИ не помогло!?
Написал обработку, запросом сделал сортировку всех записей по измерениям, в надежде, что записи-дубли окажутся соседними. Перебрал все записи, сравнивая каждую последующую запись с предыдущей… дублей не выявлено!?
Как найти дубли-записи с одинаковыми измерениями?
1 – 07.03.13 – 08:21
а ты ж запрос делал к старому набору измерений
2 – 07.03.13 – 08:21
Сделай запрос по всем измерениям
Добвь колонку с 1
Сгруппируй по измерениям, суммируя колонку
Там где будет >1 — то что тебе надо
3 – 07.03.13 – 08:22
При обновлении УПП
При обновлении
обновлении…
4 – 07.03.13 – 08:22
(2) см (3)
5 – 07.03.13 – 08:31
(3) Гипнотизируешь? =)
6 – 07.03.13 – 08:35
(5) намекаю
7 – 07.03.13 – 08:36
(0)
в поиск. обсуждалось 100 раз.
8 – 07.03.13 – 09:04
(6) В общем-то обновления и не было. Конфигурация базы свежая, изменений сделано много, а конфигурация поставщика еще редакции 1.2. Оказалось ее обновляли как клюшку. Решил исправить, взял свежую демо базу, через сравнение загрузил конфигурацию рабочей базы, полученную конфигурацию сохранил в файл. Затем ее загрузил в рабочую (пока копию) базу. Вроде все совпало по объектам (ожидал худшего), но вот беда – Имеются записи с одинаковыми измерениями.
Может как-то по другому можно загрузить конфигурацию поставщика, чтобы конфигуратор не проверял все объекты?
9 – 07.03.13 – 09:20
(8) Да ты можешь думать что угодно, но причину я уже озвучил.
10 – 07.03.13 – 09:23
(9) Как исправить?
11 – 07.03.13 – 09:24
(10) Тяжело с тобой…
Давай на пальцах: сейчас дублей нет. Если обновлять базу – они появляются. Какой из этого можно сделать вывод?
12 – 07.03.13 – 09:25
смотри старые измерения и новые. может тип реквизита изменился и вместо разных старых значений неопределено стало в нескольких строках
13 – 07.03.13 – 09:26
смотри сстав измерений регистра до и после обновления: либо какие-то измерения удалены, либо стали ресурсамиреквизитами
14 – 07.03.13 – 09:33
(11) Конфигурацию базы не меняю, хочу загрузить конфигурацию поставщика того же релиза, что базы. Напрямую, через Поддержка/Настройка поддержки не получается – конфигуратор вылитает по кнопке “Открыть”.
15 – 07.03.13 – 09:36
(14) Ты меня зачем вот это вот в чем-то пытаешься убедить? Открой свою базу и громко и четко скажи в дисковод, что она не права, и ничего такого ты не имел в виду, раз все так.
16 – 07.03.13 – 09:37
(14) Что именно ты хочешь обновить? основную конфигурацию или поставщика? Показания у тебя меняются чтото.
17 – 07.03.13 – 09:41
Эпитафия: “Тем, кто ставит обновления через сравнить/объединить, посвящается”.
18 – 07.03.13 – 09:44
Вот универсальное лечение.
http://infostart.ru/public/16080/
Правда уже давно не обновляется. В ИР самая свежая.
19 – 07.03.13 – 09:59
(18) “Бац, бац… и мимо”(с) ТС хотел обновить только конфигурацию поставщика, а получил невольно и изменение основной и конфгурации БД. Которые ему совсем не нужны.
Фраза из (8) “Вроде все совпало по объектам” – настораживает. ТС не в полной мере владеет инструментами или не обладает объективной информацией?
20 – 07.03.13 – 10:01
(19) ТС вообще слабо владеет ситуацией, судя по всему 🙂
21 – 07.03.13 – 10:15
(19) Да, только конфигурацию поставщика, чтобы потом нормально обновляться… По составу измерения РС ЗаписиОСтажеДляСЗВ4 ред. 1.2 теже, а по типу – посмотреть не могу, при попытке открыть конфигурацию поставщика, конфигуратор вылетает…
Каким еще способом можно обновить конфигурацию поставщика?
22 – 07.03.13 – 10:30
(21) Т.е. тебя этот факт не настораживает? Не возникает желания узнать – есть ли бэкапы, как часто делаются и где лежат? Ну, подумаешь, что-то в базе вызывает ошибку платформы, от которой она падает в одном месте и хрен его знает, где она начнет падать завтра…
23 – 07.03.13 – 10:34
(22) Бэкапы не помогут, так обновляли 3-5 лет… еще с времен УПП1.2
24 – 07.03.13 – 10:36
(23) Конфигурация поставщика обновляется при обновлении через поставку. Дальше думай сам, пора ведь когда-нибудь начать уже.
25 – 07.03.13 – 10:42
(19) Не совсем понял, в чем сложность с конфигурацией на поддержке. Берешь внешнюю обработку по ссылке или из “ИР мобильные” и запускаешь в базе, основная конфигурация которой содержит новую конфигурацию поставщика, а конфигурация БД – старую. Где я ошибся?
26 – 07.03.13 – 10:43
(24) Не приходилось… т.е. снять с поддержки, и поставить вновь со свежей конфигурацией поставщика? Опасаюсь, таже хрень будет – не встанет!?
27 – 07.03.13 – 10:45
(25) “ИР мобильные” – это что?
28 – 07.03.13 – 10:58
(25) Он не хотел обновлять основную конфигурацию.
(21) вроде как УПП рекомендуют обновлять поэтапно-не пропуская релизов…
29 – 07.03.13 – 11:13
(26) А чем ты рискуешь в таком случае? Устаревшей конфой поставщика, которая до этого нафиг никому не нужна была?
Соглашайся на постановку поддержки и откажись от изменений основной конфигурации -всё норм будет, не боись 🙂
30 – 07.03.13 – 14:55
(29) Не предлагает!? Делаю через Поддержка/Обновить конфигурцию/Выбор файла обновления выбираю ранее сохраненную конфигурацию поставщика, показывает информацию о старой и новой конфигурации поставщика, я соглашаюсь, а в ответ “Файл не содержит доступных обновлений”!? А поэтапно с 1.2 до последнего 1.3 обновлять не реально, сразу никак?
А если сначала снять с поддержки, то сразу говорит “Файл не содержит доступных обновлений”!?
Что нитак делаю?
31 – 07.03.13 – 14:59
Ответ в (13). К чему дальнейший тупняк?
32 – 07.03.13 – 15:08
(31) Состав измерений не изменился, см.(21). Может их тип изменился, надо искать 1.2.17.3
33 – 07.03.13 – 15:57
(32) Да. Обычно тип как раз меняется. В типовых при правильных переходах (с предварительной подготовкой базы) не должно быть таких проблем (0). Поэтому ты что то явно не так делаешь. Но если не хочешь разбираться и хочешь именно понять какие записи станут неуникальными, то
(27)
http://devtool1c.ucoz.ru/load
34 – 07.03.13 – 16:14
Выходит сразу заменить на новую конфигурацию поставщика можно сделать либо загрузив ее (как я и сделал, см. (8)), либо сравнить/объединить, предварительно сняв с поддержки.
В обоих случаях конфигуратор делает проверки объектов… А поскольку основная кофигурация не менялась, то получается, что записи-дубли РС уже существуют!?
35 – 07.03.13 – 16:30
Видимо в данном случае только сам…)
36 – 07.03.13 – 17:48
37 – 08.03.13 – 10:06
(36) Это поможет когда записи уже неуникальные. Обычно это проверяет конфигуратор перед применением новой структуры таблиц. Т.е. в данном случае записи только собираются стать неуникальными.
38 – 08.03.13 – 11:28
(34)При втором варианте результат может быть неожиданным из-за несовпадения внутренних идентификаторов метаданных.
39 – 08.03.13 – 12:21
Посмотреть, возможно измерения из справочников с предопределенными элементами, и происходит изменение этих предопределенных элементов.
Попробовать запросом выбрать записи из регистра по предопределенным элементам.
Как вариант:
1. Выгрузить данные из регистра в ТЧ и сохранить в файле
2. Очистить регистр сведений
3. Обновить конфигурацию
4. Загрузить данные из файла в ТЧ и заполнить регистр сведений
40 – 08.03.13 – 15:50
(38) 2-й вариант прошел успешно! Правда на копии, полученной выгрузкой-загрузкой. Возможно, дубли-записи были, а выгрузкой-загрузкой пролечились? После празников проверю еще раз, если что будут использовать варианты (36) и (39). Всем спс.
41 – 10.03.13 – 07:21
Блин, рано я радовался… Не все объекты встали на поддержку (помеченые желтыми кубиками), есть серые – “Объект поставщика снят с поддержки. Имеются дочерние нередактируемые объекты поставщика, препятствующие удалению”!? В этот раз делал стандартно: снял конфигурацию с поддержки (она была от 1.2 редакции), через Сравнить/Объединить загрузил свежую конфигурацию поставщика от 1.3 редакции, соответствующую основной. С предложением поставить на поддержку согласился. Все галочки снял в окне сравнения, чтобы основная конфигурация не изменилась. Нажал “Выполнить”, появилось окно “Настройка правил поддержки”. В левой части Новые объекты с правилом “Изменения разрешены” отметил “Объект редактируется с сохранением поддержки”, остальные не трогал (мне всегда такой настройки хватало, не возниколо необходимости что-то еще включать!?). Сохранение изменений вроде прошли успешно, не было долгих проверок как раньше (через Загрузку конфигурации из файла). И тут такой сюрприз!?
Смотрю, например, ДоговорыКонтрагентов. Ну, добавлено пара своих реквизитов, ФормаЭлемента изменена… все остальные элементы объекта остались на поддержке, а в целом объект снят с поддержки. Почему?
42 – 10.03.13 – 07:26
(40) Ох и попа тебя ждет, если идентификаторы слетели у объектов!
43 – 10.03.13 – 08:18
(42) Ожидал худшего (такое наследство досталоь, 5 лет ее как клюшку обновляли), но удаления и создание новых объектов не произошло… Почему не все объекты встали на поддержку? С таким впервые столкнулся…
44 – 10.03.13 – 09:04
только один я заметил что автор перепрыгнул через обновления за пару лет???
и ксти что занчит “ее как клюшку обновляли” ???
45 – 10.03.13 – 09:26
(44) “Клюшка” – версия 7 (см. (17))
46 – 10.03.13 – 09:36
(45) это я знаю, ты обьясни как ее обновляли
47 – 10.03.13 – 10:21
(46) Могу лишь предполагать, что обновляли не рабочую базу (за 5-7 лет), а, например, демо базу, которая шла в 1-й поставке УПП. Сравнивали новый и старый релизы, и изменения вручную переносили в рабочую базу, в основную конфигурацию, а конфигурация поставщика оставалась старой. Удивляюсь, как еще идентификаторы слетели у объектов!? Примерно так я делал в 7-ке, когда своих изменений стало очень много.
48 – 10.03.13 – 10:26
(47)[ и изменения вручную переносили в рабочую баз]
для УПП такой вариант исключен
49 – 10.03.13 – 10:37
(48) Есть другое предположение, а главное – это как-то поможет понять причину, почему не все объекты встали на поддержку?
50 – 10.03.13 – 11:28
(49) значит вы вручную добавляли объекты в конфигурацию, что тут понимать?
51 – 10.03.13 – 12:57
(13) Нашел самый старый релиз 1.2.39.1, сделал сравнение, никаких изменений по составу измерений и ресурсов не было. Единственное изменение в форме списка – Процедура РегистрСведенийНаборЗаписейТретийПараметрИсчисляемогоСтажаНачалоВыбора(Элемент, СтандартнаяОбработка)
52 – 10.03.13 – 14:18
(51) вы упорно игнорируете слово “внутренний идентификатор”. Например, измерение регистра в обновлении и точно такое измерение, но добавленное вручную, имеют разные УИДы. Поэтому это измерение не встанет у вас на поддержку.
53 – 10.03.13 – 14:20
(51) Так тебе уже все-равно откуда могли появиться дубли? Т.е. просто съехал на проблему обновления/замены конфиги и все? Если не все-равно, то нужно узнать бывает на этой базе обмены данных с какими-то периферийными или были когда-то раньше.
54 – 10.03.13 – 15:34
(52) Такие случаи обнаруживаются сразу при обновлении (записи по F7) конфигурации – вываливается предупреждения: создан новый объект, и удален объект с тем же именем. Но это если конфигурация на поддержке, а тут, поддержка фактически снята… х.з. как все было.
55 – 10.03.13 – 15:39
(53) Как я понял эти дубли – записи-фонтомы, программно не доступны. Если они есть, то бораться с ними можно методом подсказанным (39).
56 – 10.03.13 – 16:09
+ сейчас в вылеченной выгрузкой-загрузкой копии проблема “Имеются записи с одинаковыми измерениями” исчезла. Теперь, ставя на поддержку стандартным способом (см. (41)), не встали на поддержку несколько объектов. После 2-й попытки их осталось всего 10. При 1-й попытке я снимал все галочки в окне сравнения/объединения. При 2-й попытке с тех объектов, которые не встали на поддержку 1-й раз, галочки не снимал, т.е. они должны остаться такими же как в конфигурации поставщика. Вот только не у всех таких объектов эти галочки были…
t731
57 – 11.03.13 – 10:00
На сайте http://курсы-по-1с.рф/free/
в бесплатных материалах есть видео-ролики по теме “Приемы обновления типовых конфигураций”
В т.ч. подробно рассмотрены вопросы обновления через несколько релизов
Ошибка “Записи регистра сведений стали неуникальными”
16.08.2017
При обновлении конфигурации периодически может возникать ошибка «Записи регистра сведений стали неуникальными» или «Имеются записи с одинаковыми измерениями».
Что она означает и как ее исправить.
При обновлении конфигурации периодически может возникать ошибка «Записи регистра сведений стали неуникальными» или «Имеются записи с одинаковыми измерениями«
Эта ошибка означает, что при обновлении изменился состав измерений регистра сведений.
Одним из базовых принципов работы регистра сведений является требование, что каждому набору значений измерений регистра сведений соответсвует один и только один набор значений реквизитов.
Допустим, в нашей конфигурации есть регистр ответственных лиц по складам в разрезе складов и помещений.
В очередном релизе разработчик решает, что такая детализация ответственности избыточна и оставляет только возможность указания ответственного по складу.
Однако у пользователя в этом регисте указано, что для «Главного склада» за помещение «Продукты» отвечает Иванов, а за помещение «Холодильники» — Петров.
При обновлении информационной базы платформа должна оставить только одну запись с ответственным. Но она не может решить за пользователя, кого поставить ответственным за «Главный склад» вцелом (Иванова или Петрова).
Поэтому выдается сообщение об ошибке.
В зависимости от конкретной ситуации, сообщение может звучать как «Записи регистра сведений стали неуникальными» либо «Имеются записи с одинаковыми измерениями«.
Смысл сообщения одинаков.
Это сообщение означает, что в новой структуре регистров образовалось несколько записей с одним набором измерений и их нужно свернуть в одну.
Для решения проблемы удаляем одну из записей, чтобы 1С однозначно знала, что за «Главный склад» отвечает Иванов. В типовых конфигурациях в большинстве случаев эта проблема решается разработчиком программно. Т.е. обновление конфигурации само при необходимости сворачивает записи регистра.
Однако в некоторых случаях (например, если выполняется обновление с пропуском части релизов, или конфигурация доработана) данные могут не свернуться и их нужно свернуть самостоятельно.
Для того, чтобы определить, что именно изменилось, выполняем режим «Конфигурация» — «Сравнить конфигурации». И сравниваем основную конфигурацию с конфигурацией базы данных. При таком сравнении мы однозначно можем определить, какие именно поля удалены или изменились.
После этого консолью запросов находим неуникальные записи и удаляем их.
Если записей немного, то удалить дубли можно и вручную.
Если много, то проще это сделать программно.
Предлагаю простую обработку, решающую данную задачу.
Инструкция по свертке неуникальных записей:
1. Открыть обработку.
2. Выбрать регистр сведений, в котором появились неуникальные записи.
3. Отметить измерения которые будут удалены при обновлении.
4. Нажать «Свернуть дубли».
Обработка найдет дублирующиеся строки и свернет их в одну строку.
После этого обновление конфигурации пройдет корректно.
Также можно просто проверить наличие дублей без изменения данных
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Jonnycage
Дата регистрации: 03.10.2006
Сообщений: 29
Добрый день.
Бухгалтерия предприятия 3.0.32.5. 1С 8.3.5.1068. Не могу обновить на любой релиз. В данном случае на 3.0.33.16.
Обновление проходит, но при нажатии на кнопочку Обновить конфигурацию базы данных F7. Начинает реструктуризацию. Выводит окно, для принятия изменений, но кнопочка применить не активно. Есть одно предупреждение:
СоставыКомплектовВедомостейЧерезБанкПоЗарплатнымПроектам. Имеются записи с одинаковыми измерениями
И всё. Обновить базу не могу. Пробовал на другие релизы, более ранние. Результат всегда один и тот-же. Как исправить эту ошибку, чтобы обновить базу. Другие базы обновились нормально!
Заранее спасибо.
Тэра
Дата регистрации: 25.12.2008
Сообщений: 22390
Jonnycage, попробуйте зайти в пользовательском режиме и посмотреть эти комплекты.
Jonnycage
Дата регистрации: 03.10.2006
Сообщений: 29
Тэра, А не подскажите, где это посмотреть и что именно смотреть. Я не много не понимаю эту ошибку.
Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20871
kerrigan42, Jonnycage,
Jonnycage
Дата регистрации: 03.10.2006
Сообщений: 29
Prikum,Спасибо, нашёл там две ведомости есть. Но там ничего нельзя сделать. Хотя функция – удалить есть. Или их искать потом в Ведомости на выплату зарплаты через банк и там их править или удалять?
Тэра
Дата регистрации: 25.12.2008
Сообщений: 22390
Jonnycage, вы с конфигуратором дружите? Посмотрите, какие там измерения, и в пользовательском режиме попытайтесь их изменить.
Jonnycage
Дата регистрации: 03.10.2006
Сообщений: 29
Тэра, Сделал поиск по конфигурации, и сделал сравнение. В результате, был реквизит
СоставыКомплектовВедомостейЧерезБанкПоЗарплатнымПроектам
Измерения: Ведомость
В Конфигурации поставщика, этот реквизит называется уже так:
РеквизитыПлатежныхДокументовПеречисленияЗарплаты
Измерения: Ведомость (удалена), но добавлены два других: Организация и ПлатежныйДокумент. С такими же полями, которые были в ведомости.
Так вот и не понятно, что менять то надо в пользовательском режиме.
Тэра
Дата регистрации: 25.12.2008
Сообщений: 22390
Jonnycage,при обновлении программа ругается не на реквизиты, а на измерения. Т.е. у вас два объекта с одинаковыми измерениями (судя по всему, новыми).
Показывать по
10
20
40
сообщений
Записи регистра сведений стали неуникальными
Ошибка возникает в момент реорганизации базы при обновлении конфигурации, вследствие специфики регистров сведений: набор измерений и периода(для периодического регистра) должен быть уникальным.
В обычной ситуации такое происходить не должно, так как в момент записи производится подобная проверка. Из этого вытекает основная причина ошибки: записи были уникальными, пока не поменялся тип значения измерения, либо был удалено одно/несколько измерений из регистра.
Варианты сообщения об ошибке:
- «Имеются записи с одинаковыми измерениями»
- «Записи регистра сведений стали неуникальными»
Важность ошибки
Критическая — возможно работать на старой версии, но применить обновление, которое может быть важным не получится.
Ошибка встречается на типовых регистрах, а также при использовании распределенных информационных баз: в момент, когда из главной базы приходят изменения без учета данных в текущей базе (или применяется до их исправления). Обычно в этом случае исправление возможно только путем удаления записей в регистре.
Устранение данной ошибки
Надо убедится, что обновление верное.
Если конфигурация типовая:
- Проверьте не вносились ли правки в регистр, если вносились при обновлении данный регистр следует исключить из списка обновления.
- Если регистр типовой — может быть вы пропустили важное обновление от 1С — попробуйте обновлять последовательно — без пропусков версий (при обновлении запускаются специализированные обработчики, которые могут исключить данную ошибку).
Если конфигурации или объект ваш:
- Убедитесь, что новые измерения корректны,
- Если это так, то перед обновлением необходимо удалить дубли записей (оставить только нужные).
- Когда в регистре записей мало, такое можно сделать вручную, в противном случае необходимо будет написать код для исправления.
Далее, чтобы удалить дубли в автоматическом режиме, воспользуйтесь обработкой
- Выберите нужный регистр сведений
- Отметьте измерения, которые будут удалены
- Нажмите «Свернуть дубли».
Можно дурачить всех все время, — при условии, что реклама ведется правильно, а расходы на нее достаточно велики.
— Джозеф Левин
Тема: Записи регистра сведений стали не уникальными
Записи регистра сведений стали не уникальными
Добрый день. При обновлении конфигурации (Зарплата и Управление персоналом Базовая с версии 2.5.130.2 до 3.1.8.246) доходит до реорганизации информации и появляется ошибка: “Записи регистра сведений стали не уникальными. ГрафикРаботыПоВидамВремен и”
Кнопка “Принять” не активна и обновление не завершается. Подскажите, что можно сделать в этой ситуации?
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Re: Записи регистра сведений стали не уникальными
Пользователь сказал cпасибо:
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Re: Записи регистра сведений стали не уникальными
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Re: Записи регистра сведений стали не уникальными
Пользователь сказал cпасибо:
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Гордость форума /> />
Регистрация 18.07.2018 Сообщений 1021 Сказал(а) спасибо 320 Поблагодарили 3530 раз(а) в 603 сообщениях
Re: Записи регистра сведений стали не уникальными
Сообщение от neploho
Добрый день. При обновлении конфигурации (Зарплата и Управление персоналом Базовая с версии 2.5.130.2 до 3.1.8.246) доходит до реорганизации информации и появляется ошибка: “Записи регистра сведений стали не уникальными. ГрафикРаботыПоВидамВремен и”
Кнопка “Принять” не активна и обновление не завершается. Подскажите, что можно сделать в этой ситуации?
Какой бы ни была причина появления этой ошибки, она говорит об одном: в регистре сведений есть запись с ключевыми параметрами, для которой имеется несколько значений, и программа 1С не знает: какая из этих записей правильная.
Ключевые параметры регистра сведений называются Измерениями , а значения по измерениям указываются в Ресурсах . PDF По правилам записи в регистры сведений ключевые параметры определяют значение ОДНОЗНАЧНО.
При работе в пользовательском режиме при попытке записи в регистр разных данных с одинаковыми ключевыми параметрами выдается ошибка, не позволяющая провести документ. PDF Пользователь при этом сразу видит ошибку, понимает в чем дело и исправляет ее.
В режиме обновления конфигурации ситуация более сложная, хотя отслеживание таких ситуаций регулируется в большинстве случаев в 1С автоматически. Разработчики вносят в программу изменения таким образом, что программа сама, по заложенному алгоритму и анализу данных, определяет какая из записей неактуальна и удаляет ее, продолжив обновление.
Но бывают случаи, когда определить самостоятельно какую из записей оставить, а какую удалить, программа 1С не может и тогда пользователь уже должен сам исправить ситуацию. Обычно это происходит при удалении каких-то ключевых параметров из регистра сведений в новом обновлении и наиболее часто проявляется у любителей «обновляться редко, но сразу на последний релиз».
При возникновении ошибки будет выдано предупреждение о возникшей ситуации с регистром, которое не позволит продолжить обновление, пока не будет исправлена ошибка.
В новой версии конфигурации был изменен регистр Цены номенклатуры . PDF При обновлении конфигурации было выдано предупреждение о возникших неуникальных записях по этому регистру. PDF
Исправление ошибки «Записи регистра сведений стали неуникальными»
Последовательное обновление конфигурации без «пропусков»
Если конфигурация типовая и изменений в нее пользователем не вносилось, проведите обновление последовательно всеми вышедшими релизами, без пропусков. Возможно, разработчики что-то убирали в коде, а в следующем релизе — добавляли и пропуск этих промежуточных релизов привел к ошибке заполнения каких-то данных регистра по умолчанию.
- 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С для исправления.
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
- Обработка удаляет все записи из регистра сведений Данные о времени...Минэкономразвития России обновил коэффициенты-дефляторы на 2019 год, применяемые при расчете налогов при.
(3 оценок, среднее: 1,00 из 5)
Обсуждение (1)
Спасибо за полезную информацию
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>
Часто ошибки возникают при обновлении конфигурации, — особенно если обновление «перескакивает» через несколько релизов. Рассмотрим причину появления и как исправить ошибку 1С «Записи регистра сведений стали неуникальными».
Отображение ошибки
Подобная ошибка может иметь два идентичных отображения от системы 1С:
Суть этой ошибки состоит в том, что после очередного обновления изменился состав измерений для одного из регистров (или нескольких).
Программные требования к регистрам
Мы знаем, что регистр (register, англ.) сведений формируется для хранения в виде записей (строк). Каждая из них характеризуется видами измерений (профилями) и ресурсов.
Измерения характеризуют разрезы (типы), в которых хранятся данные. А ресурсы— непосредственно содержат их значения.
Например, register сведений «Цены товаров» имеет структуру, состоящую из двух видов профилей («Товар», «ВидЦен») и одного ресурса («Цена»):
Структура товаров в 1С
Таким образом, строки регистра в базе данных будут выглядеть так:
Строки регистра в реестре
Кроме того, при создании записи ей присваивается уникальный ключ. Формирование его системой происходит автоматически.
Одинаковыми считаются такие записи, ключи которых идентичны.
Изменение структуры
Рассмотрим другой пример.
В одно время разработчиком был создан регистр «ОтветственныеЛицаПоСкладам» структурно состоящий из двух измерений («Склад» и «Помещение») и одного ресурса («Ответственный»).
В последующем кем-то было принято решение о том, что такая детализация является излишней. Это решение отразилось в очередном релизе.
И теперь обновлённый register имеет только единственный профиль и ресурс:
Структура его изменилась. Но строки остались!
И в них указано, что для профиля «Помещение» — есть ответственные (ресурсы). Но что с ними делать при переходе на новый релиз — сама программа без пользователя такую задачу не решит.
Поэтому появляется ошибка 1С:«записи регистра сведений стали неуникальными». Может быть такая — имеются записи с одинаковыми измерениями.
Ручное исправление
Смысл этих сообщений сводится к тому, что новая структура содержит несколько строк с лишними измерениями и их нужно свернуть в одну:
Несколько записей с одним значением
В этом случае нужно удалить те, которые соответствуют теперь уже ненужным профилям.
Обычно при использовании типовых конфигураций такая задача решается разработчиками на программном уровне. И сворачивание происходит автоматически при обновлении.
Пропущенный релиз
Возможным решением проблемы будет, если вновь установленную конфигурацию откатить назад (путём восстановления архивной копии), а затем обновиться заново (уже без пропуска пропущенных релизов).
Метод сравнения
Тяжелее ситуация складывается, когда обновление происходит с пропуском нескольких релизов. Или предыдущая конфигурация была доработанной. Здесь также возникает необходимость свёртывания строчек. Но сложность состоит в поиске утерянных измерений и реквизитов.
Для решения такой задачи нужно войти в режим «Конфигурация» и выполнить команду «Сравнить конфигурации»:
После этого удалить найденные с помощью консоли запросов неуникальные строчки.
При небольшом их количестве это несложно сделать вручную.
Автоудаление 1
Для программного удаления очень большого количества неуникальных строчек можно воспользоваться обработкой, предложенной Евгенией Карук:
Программное удаление дублей
- Сначала скачать и открыть обработку;
- Открыть register сведений с неуникальными строчками;
- Отметить те из измерений, которые нужно удалить в результате обновления;
- Дать команду нажатием «Свернуть дубли».
Дубли строк будут найдены обработкой и свёрнуты в одну.
После проведения обработки обновление конфигурации будет проведено корректно.
Также можно использовать обработку для проверки наличие дублей без изменения данных (для тестирования или проверки):
Проверка на наличие дублей
Автоудаление 2
Другая обработка для той же цели предложена другим специалистом в этой области — Павлом Чистовым (для мобильного варианта не поддерживается).
Мы рассмотрели причины появления и методы исправления ошибок, связанных с нарушениями структуры строк. Теперь вы знаете, что проявляются они при наложении одной конфигурации на другую.
Комментируйте наши публикации. Описывайте свой опыт в решении проблемных вопросов.
Собственно БезопасноеХранилищеДанных — это регистр сведений, входящий в БСП и предназначенный для “записи конфиденциальных данных в безопасное хранилище, например, паролей для доступа к сторонним системам и т.п.”. Что было не совсем очевидно из сообщения при реструктуризации данных, хотя, может, я и невнимательно прочитал 🙂 Его “безопасность” — это отдельный вопрос. 🙂 А природа ошибки в том, что у единственного измерения Владелец исключен тип строка и записи с владельцем — строкой становятся неуникальными.
Необходимо удалить эти записи из регистра. НО т.к. хранилище “безопасное”, то форма списка открывается пустой, и пользователь удалить их не может. Консоль запросов прекрасно выводит все записи, убеждаемся в дублях и пишем небольшую обработочку для удаления записей с владельцем строкой. Обработка во вложении.
Всё актуально и для Бухгалтерии 3.0, и УТ 11, и для других конфигураций на БСП.
Михаил Сайко
Двоичные данные платформы 1С:Предприятие – это универсальный объект встроенного языка программирования для работы с файлами. Благодаря объекту ДвоичныеДанные можно любой файл представить в виде последовательности байт. Объект доступен в тонком клиенте, веб-клиенте, мобильном клиенте, на сервере, толстом клиенте, внешнем соединении, мобильном приложении (клиент/сервер).
Объект сериализуется
Данный объект может быть сериализован в/из XML, может использоваться в реквизитах управляемой формы, а также он может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен . Имя типа XDTO может быть любым из перечисленных: base64Binary, hexBinary.
Благодаря тому, что двоичные данные доступны и на клиенте, и на сервере, мы можем смело передавать файл в виде двоичных данных с клиента на сервер, однако рекомендованный «шаблон» для передачи файла – использовать хранилище значений.
Задачи, для решения которых можно использовать двоичные данные:
- Хранение файлов в базе данных (с использованием ХранилищеЗначения);
- Передача файла с клиента на сервер;
- Передача файлов при работе с протоколом HTTP;
- Передача вложений при работе с электронными письмами;
- Криптография;
- Представления файла в виде текста (с использованием Base64).
Работа с двоичными данными:
Данный пример кода показывает, как прочитать двоичные данные и передать их с клиента на сервер, используя объект ДвоичныеДанные.
Примеры по работе с двоичными данными
Самый очевидный пример, где применяются двоичные данные, – сохранение файла в базе данных. Для хранения файла в виде двоичных данных необходимо в объекте добавить реквизит с типом «ХранилищеЗначений». Далее представлен пример кода по работе с реквизитом (заполнение значения и получение значения).
Заполнение:
Получение (фрагмент кода, выполняемый на сервере):
Рассмотрим еще один пример: скачивание картинки из интернета и отображение ее на управляемой форме. Для этого также добавляем реквизит с типом ХранилищеЗначения, в котором будет помещаться картинка в двоичном формате.
Функция, скачивающая картинку из интернета:
Использование функции:
Теперь у нас в реквизите «Аватар» лежат двоичные данные картинки. Чтобы картинку вывести на управляемую форму, необходимо добавить реквизит формы «Тип строка», перекинуть его на форму (drag-and-drop), либо создать самостоятельно элемент формы, указав в поле «Путь к данным» наш реквизит «Картинка», после чего изменить вид на «Поле картинки».
По событию ПриСозданииНаСервере
Готово, на форме у нас картинка.
Двоичные данные и потоки
Говоря о двоичных данных, стоит упомянуть о возможности работы с потоками. Она появилась относительно недавно, а именно в версии 8.3.9. Чтобы потоком можно было читать из двоичных данных, применяется метод ОткрытьПотокДляЧтения. Допустим, у нас в базе данных лежит заархивированный xml-файл (как хранить файлы в базе данных рассматривалось ранее). Нам нужно вывести пользователю содержимое этого файла, или у вас настроен какой-то обмен, и вы передаете файлы в заархивированном виде (для экономии трафика).
Последовательность действий при работе с двоичными данными без использования потоков:
- Получить двоичные данные из базы;
- Записать их во временный файл;
- Разархивировать;
- Удалить временный файл;
- Прочитать разархивированный файл.
Последовательность действий при работе с потоками:
- Получить двоичные данные из базы;
- Открыть поток для чтения;
- Разархивировать;
- Прочитать разархивированный файл.
Пример кода без использования потоков:
Пример кода по работе с потоком:
Если диск у вас на SSD, рекомендую использовать потоки не только в примере с архивацией, а везде, где это возможно. Да, в данном примере все же происходит запись на диск (разархивация), но будем надеяться, когда-нибудь 1С реализует метод двоичных данных ОткрытьПотокДляЗаписи.
Работа с Base64
Base64 – это стандарт, позволяющий кодировать двоичные данные в виде строки (для кодирования используется 64 символа таблицы ASCII, отсюда и название). Тип ДвоичныеДанные сериализуем, то есть его можно представить в виде XML, для этого применяется объект встроенного языка СериализаторXDTO. После сериализации данные представлены одним узлом base64Binary, содержимое которого есть последовательность байт, закодированная в формате Base64.
строка в Base64
Платформа 1С также позволяет кодировать двоичные данные, не прибегая к сериализации. Для этого есть две функции:
Они преобразуются в Base64 и обратно в двоичные данные.
Если у вас остались вопросы по работе с двоичными данными в среде 1С:Предприятие, обратитесь к нашим специалистам и получите консультацию по 1С 8.3 или воспользуйтесь услугами по сопровождению 1С.