Ошибка "В процессе обновления информационной базы произошла критическая ошибка"

27.11.15

Задачи пользователя - Корректировка данных

При обновлении конфигурации может возникнуть очень неприятная вещь!
В процессе обновления информационной базы произошла критическая ошибка по причине:
Попытка вставки неуникального значения в уникальный индекс: Далее текст самой ошибки.
Эту ошибку устранить довольно легко! А как, читайте дальше...

Предыстория

Нужно нам было создать новый регистр сведений "ЖурналОтслеживанияСообщений". Добавили в конфигурацию, загрузили данные. Затем пошла работа по оптимизации. Пришлось менять структуру регистра. Но не тут-то было!

Реорганизация

Тут все ясно. Записи стали неуникальными, нужно их удалить!

Самой простой способ это:

НоваяЗапись = РегистрыСведений.ЖурналОтслеживанияСообщений.СоздатьНаборЗаписей();
НоваяЗапись.Записать();

Таким методом мы очистим регистр в 1С очень быстро (но это будет и нашей ошибкой). 

Ошибка

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

Ошибка 1С

Что же представляет ошибка:

В процессе обновления информационной базы произошла критическая ошибка
по причине:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._InfoRgChngR34546NG' and the index name '_InfoR34546_ByNodeMsg_RNTSRRRRRRNG'. The duplicate key value is (0x00000011, 0x80ca00155d03c00d11e54af2ae5400d7, <NULL>, Sep 27 4015 10:22PM, 768404, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1

Пояснение

Давайте разберемся со структурой SQL. У нас есть регистр "ЖурналОтслеживанияСообщений", он в SQL находится в таблице "_InfoR34546". Проверить это вы можете специальными обработками или методом "тыка" (нам это не придется делать т.к. в тексте ошибки уже указано название таблицы). 

А теперь поясню, что же произошло. Когда мы загрузили данные в регистр, то в SQL они попали в таблицу "_InfoR34546". Когда мы кодом в 1С очистили таблицу, то эти данные удалились из таблицы "_InfoR34546", но они скопировались в таблицу "_InfoRgChngR34546". Это и стало проблемой.

Решение

Для решения возникшей проблемы нам понадобится очистить SQL таблицу "_InfoRgChngR34546".

Расскажу на примере "Microsoft SQL Server Management Studio". Заходим в "Management Studio". Находим нашу базу, открываем вкладку таблиц, кликаем на любую и жмем кнопку "Новый запрос":Новый запрос. Теперь набираем запрос 

truncate table "_InfoRgChngR34546"

У вас может быть и другая таблица! Не забывайте!

И жмем выполнить или клавишу "F5". Вот такой должен быть результат:

Успех

Все, теперь можно спокойно обновлять 1С, и ошибки не будет!

См. также

Корректировка данных Зарплата Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    4541    37    19    

45

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    33867    108    152    

75

Корректировка данных Программист Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.2 от 09.06.2024!

19200 руб.

26.08.2018    52627    16    61    

55

Корректировка данных Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

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

3600 руб.

10.02.2017    111413    669    174    

708

Взаиморасчеты Корректировка данных Бухгалтер Пользователь Платформа 1С v8.3 1C:Бухгалтерия Бухгалтерский учет Управленческий учет Платные (руб)

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12000 руб.

02.11.2020    7547    6    0    

8

Закрытие периода Корректировка данных Программист Пользователь Платформа 1С v8.3 Система компоновки данных 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    51381    175    29    

127

Корректировка данных Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет НДС Платные (руб)

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

6000 руб.

22.01.2025    313    1    0    

3

Корректировка данных Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Налоговый учет Налог на прибыль Платные (руб)

Обработка служит для: выравнивания бухгалтерского и налогового учета на определенную дату по выбранным счетам; закрытия остатков по выбранным счетам; обнуления налогового учета (ПР, ВР также будут обнулены)

2880 руб.

05.05.2024    707    10    0    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Danil.Potapov 517 27.10.15 17:11 Сейчас в теме
злодей. а что мешало при очистке не регистрировать на обмен или очистить штатными средствами.
2. Xershi 1561 27.10.15 17:24 Сейчас в теме
(1) Dpotapov, купился на слова: //Способ 1 - быстрый и легкий. http://1cprofi.com/content/view/15/15
3. Danil.Potapov 517 27.10.15 19:32 Сейчас в теме
(2) перед записью можно отключить регистрацию изменений на обмен. удаление изменений из таблицы можно выполнить тоже штатными средствами. Не понятно другое, если уже полез на уровень СУБД, то и записи из регистра тогда грохнул бы таким же способом, а то половина средствами платформы, вторая половина средствами СУБД (со всеми вытекающими последствиями для бизнес-логики).
4. Xershi 1561 28.10.15 08:55 Сейчас в теме
(3) Dpotapov, да вы правы. Добавил на автомате регистр в тестовую базу, а он автоматом прописался в план-обмена удаленной копии. Т.к. я об этом не подозревал на этот момент, поэтому полез в SQL и там очистил таблицу.
Теперь конечно понятно, что таблица "_InfoRgChngR34546" ничто иное как регистрация регистра для обмена и почистить эту таблицу можно через обработку "Регистрация изменений для обмена".
Но повторюсь на тот момент это последнее, что пришло бы в голову!
5. IgorS 43 28.10.15 12:26 Сейчас в теме
По рукам бить программиста, который после каждой ошибки лезет "что-нибудь подправить" в СУБД.
6. Xershi 1561 28.10.15 13:29 Сейчас в теме
(5) IgorS, ну не скажи. Вот если бы у тебя не было под рукой обработки "Регистрация изменений для обмена". То это решение как раз, то что нужно!
Тем более, если мы понимаем, что делаем!
7. пользователь 07.02.24 10:53
Сообщение было скрыто модератором.
...
Оставьте свое сообщение