Обнаружена незавершенная операция сохранения конфигурации

12 Mar
Published by Nicholas

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

Еще ошибка может быть следующая: Нарушена целостность структуры конфигурации. В этом случае, в первую очередь, нужно попробовать почистить кэш 1С. Если не поможет, то читаем дальше.

Иногда, после неудачного обновления, не удается зайти в режиме конфигуратора, а ошибка звучит так: «Ошибка формата потока».

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

Выяснилось, что все измененные объекты конфигурации программа хранит в таблице configsave. Но в моем случае табличка оказалась пустая. При обновлении конфигурации программа сначала копирует все изменения из таблицы configsave в таблицу config, затем очищает первую.

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

  1. Если в таблице configsave есть данные, то таблицу нужно очистить: delete from configsave
  2. delete from config where FileName = 'commit'
  3. delete from config where FileName = 'dynamicCommit'
  4. delete from config where FileName = 'dbStruFinal'

Добавлено 03.10.2019:

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

Для этого выполним следующий запрос:

USE [ИмяРабочейБазы]
DELETE FROM [DBO].[ConfigSave]
DELETE FROM [DBO].[Config]
INSERT INTO [ИмяРабочейБазы].[Dbo].[Config] SELECT * FROM [ИмяКопииБазы].[Dbo].[Config]
GO

Тэги 

Комментарии

Аватар пользователя Наташа

Добрый вечер! Подскажите пожалуйста, что делать в таком случае если база файловая?

Аватар пользователя Nicholas

Попробуйте удалить базу из списка и добавить ее снова.

Аватар пользователя Александр Витвицкий

Nicholas - ты БОГ.
Мне после 12 часового поиска в нете информации о восстановлении БД после "слета" при обновлении, твое решение помогло.
спасибо, от чистого сердца.

Аватар пользователя Василий

Я строю алтарь для тебя.

Аватар пользователя Виталий

delete from config where FileName = 'commit'
delete from config where FileName = 'dynamicCommit'

(0 row(s) affected)

(1 row(s) affected)

Теперь в базу заходит а в конфигуратор все так же пишет

Аватар пользователя Nicholas

Что у вас в таблице configsave?

Аватар пользователя Евгений

Помогло. Спасибо!

Аватар пользователя Анатолий

Такая проблема постоянно возникает после обновления на платформу 8.3.9.2033
Причём только на одной базе такое и только при динамическом обновлении, пользуюсь вашим советом, но постоянно выгонять пользователей из базу как то не гуманно, есть идеи как решить данную проблему на корню?

Аватар пользователя Nicholas

Лично я стараюсь не делать динамическое обновление. Для разработки должна быть отдельная база и отдельная база для тестирования. Перед применением доработок к рабочей базе ВСЕГДА нужно делать резервную копию!

Аватар пользователя Светлана

Огромное вам спасибо. Все получилось!

Аватар пользователя Юрий

Спасибо! Помогло, только таблицу "dbStruFinal" тоже нужно очищать.

Аватар пользователя Кирилл

Согласен, добавьте в шапку:

"Спасибо! Помогло, только таблицу "dbStruFinal" тоже нужно очищать."

Аватар пользователя Nicholas

Кирилл, спасибо за комментарий. Скорректировал статью.

Аватар пользователя newyokka

it's work again! thanks a lot!

Аватар пользователя Иван

Спасибо огромное!!! УТ 11 8.3 типовая, ты очень помог!!!

Аватар пользователя Дрон

Супер, храни тебя БОГ)))

Аватар пользователя Виктор

Следуя совету, удалось решить проблему для файловой, иcпользуя Tool_1C и Notepad++. После конечно пришлось выполнить chkdbfl

Аватар пользователя Юрий

Спасибо большое, ваш совет спас базу 1 Тб

Аватар пользователя Ирина

Если база файловая, что делать?

Аватар пользователя Руслан

Tool_1C вам в помощь

Аватар пользователя Ербол

А как найти configsave.
Люди я новичок.
Помогите.

Аватар пользователя Nicholas

Просто выполните последовательно указанные запросы в SQL Mangement Studio для вашей базы.

Аватар пользователя Сергей

Спасибо, Nicholas!!! Помогло твоё решение. Хотя программисты 1С все в один голос, подымай бекап базы.

Аватар пользователя Александр

Спасибо, спасли.
Опубликуйте пж. на Infostart.

Аватар пользователя программист 1с

Спасибо, добрый человек! спас базу поле деманического обновления

Аватар пользователя Андрей

Спасибо, вам огромное.

Аватар пользователя Павел

На postgry тоже работает.

Аватар пользователя Николай

У меня была "ошибка формата потока" при запуске конфигуратора. Причем в режиме предприятия нормально заходило. Ошибка появилась после обновления. База на PostgreSQL. Запустил pgAdmin, кликнул правой мышкой по базе, выбрал "Query tool", выполнил "delete from configsave" и конфигуратор стал запускаться.

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

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Вы человек или автоматическая спам-рассылка?
Target Image