Как исправить ошибку при обновлении типовой конфигурации 1С:Бухгалтерия предприятия?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

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

В этой статье мы подробно разберем по шагам, как локализовать и устранить ошибки обновления на примере конфигурации «Бухгалтерия предприятия» (БП 3.0), проанализируем базовый регламент восстановления базы данных и рассмотрим системные сбои, характерные для платформы 8.3.16 и конкретных релизов конфигураций.

Шаг 1. Первичная диагностика и очистка локального кэша

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

Очистка кэша выполняется следующими способами:

  1. Интерактивное удаление базы из списка: Откроем стартовое окно запуска 1С, выделим проблемную базу, нажмем кнопку «Удалить», а затем заново добавим ее в список. При этом физический каталог базы (для файловой версии) или параметры подключения к серверу (для клиент-серверной версии) не изменятся, но платформа создаст новую уникальную папку для кэша и удалит старые временные файлы.
  2. Ручное удаление файлов: Перейдем в каталоги временных файлов пользователя на компьютере. Для этого очистим содержимое папок %userprofile%\AppData\Local\1C\1cv8 и %userprofile%\AppData\Roaming\1C\1cv8 (удалять нужно каталоги с длинными буквенно-цифровыми именами-идентификаторами).
  3. Использование параметров запуска: Пропишем в настройках запуска базы специальный ключ очистки кэша. Для этого откроем свойства информационной базы в окне запуска и в поле «Дополнительные параметры запуска» добавим строку:

/ClearCache

Шаг 2. Тестирование и исправление (ТИИ) базы данных

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

Проанализируем ключевые настройки, которые необходимо выставить перед запуском процедуры:

Перед запуском ТИИ обязательно создадим резервную копию базы данных (файл формата .dt или архив каталога файловой базы)!

Шаг 3. Соблюдение корректной методики обновления (Борьба с прыжками через релизы)

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

Рассмотрим, почему так происходит:

Правильный алгоритм действий при обновлении:

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

Шаг 4. Сравнение конфигураций и анализ поддержки

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

  1. В конфигураторе откроем меню «Конфигурация — Поддержка — Настройка поддержки».
  2. Проверим статус поддержки. Если на каких-то объектах сняты «замочки», значит, они заблокированы для автоматического обновления. При автоматическом накате релиза эти объекты останутся старыми, что вызовет жесткий конфликт модулей и реквизитов.
  3. В этом случае рекомендуется откатиться к резервной копии базы до обновления, вернуть конфигурацию полностью на поддержку поставщика (без возможности изменения) и запустить процесс обновления заново.

Шаг 5. Принудительное обновление через выгрузку и загрузку файлов конфигурации

В случаях, когда база данных «зависла» в промежуточном состоянии (часть объектов обновилась, а часть выдает ошибки), помогает принудительное обновление через файлы конфигурации. Разберем этот сценарий:

  1. Откроем чистую базу аналогичного релиза конфигурации (можно развернуть пустую демо-базу нужной версии).
  2. Выполним выгрузку конфигурации в файл .cf через меню «Конфигурация — Сохранить конфигурацию в файл...».
  3. В нашей рабочей поврежденной базе снимем конфигурацию с поддержки (если это требуется для исправления) или воспользуемся функцией «Конфигурация — Загрузить конфигурацию из файла...» и выберем только что сохраненный эталонный файл .cf.
  4. Запустим обновление базы данных клавишей F7. Это позволяет принудительно перезаписать всю структуру метаданных, очистив базу от ошибочных элементов конфигурации.

Для файловых баз СУБД эффективным методом борьбы с внутренними системными сбоями СУБД является перенос данных. Для этого выгрузим базу в файл .dt, создадим новую пустую базу и загрузим этот файл обратно. Если база работает в клиент-серверном варианте под управлением MS SQL или PostgreSQL, иногда помогает временная выгрузка базы в файловый вариант, проведение обновления на локальном компьютере и последующая загрузка обновленной файловой базы обратно на SQL-сервер.

Шаг 6. Настройка режима запуска клиентского приложения

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

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

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


REM Запуск обновления конфигурации базы данных в пакетном режиме
"C:\Program Files\1cv8\8.3.16.1063\bin\1cv8.exe" DESIGNER /F"C:\1C_Bases\Accounting" /N"Администратор" /P"Пароль" /UpdateDBCfg /ClearCache

Критический разбор ошибок релиза «Бухгалтерия предприятия» 3.0.75.48

Рассмотрим реальный исторический пример того, как некорректные релизы от самого разработчика 1С могут парализовать работу пользователей. Релиз БП 3.0.75.48, выпущенный в конце декабря 2019 года, является ярким примером «отозванного» релиза.

Фирма 1С официально отозвала этот релиз практически сразу после его публикации из-за двух критических ошибок:

  1. Ошибка 00-00268880 (сервис «1С:ДиректБанк»): При попытке отправить платежные поручения или получить выписку из банков (в частности, Сбербанк и СУБД iBank2) система аварийно завершала работу с ошибкой Поле объекта не обнаружено (Идентификатор). Ошибка крылась в нестыковке измененных реквизитов внутренних справочников интеграции.
  2. Ошибка предопределенных значений: При проведении документов реализации и списания затрат система выдавала системный сбой: Предопределенное значение "Справочник.СтатьиЗатрат.СлужебныйАвтотранспорт" не найдено. Это происходило из-за того, что разработчики добавили новый предопределенный элемент, но обработчики обновления не успевали создать его в некоторых базах из-за нарушения цепочки обновления.

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

Проблемы платформы 8.3.16: на что обратить внимание системным администраторам?

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

1. Полный крах системы печати

В платформе 8.3.16 разработчики решили изолировать драйверы принтеров от основного процесса 1С, чтобы нестабильные драйверы не приводили к падению всей программы. Для этого печать была вынесена во внешние исполняемые файлы 1cv8p32.bin и 1cv8p64.bin.

Это привело к следующим массовым багам:

2. Зависание серверов на платформе 8.3.16.1063

Данный релиз платформы оказался крайне нестабильным для клиент-серверных СУБД. При попытке нескольких пользователей войти в систему программа зависала на этапе выбора информационной базы. При этом на сервере запускался аварийный фоновый процесс dbda, который циклически перезапускался, генерировал гигабайты дампов памяти и полностью забивал системные диски сервера.

3. Ошибка «Нарушение целостности системы»

Именно с версий 8.3.16 платформа начала использовать новые, гораздо более жесткие алгоритмы проверки лицензионной чистоты. Программа могла запуститься штатно, но через 5–10 минут работы внезапно закрывалась с ошибкой целостности системы. Причиной тому служили старые «хвосты» эмуляторов ключей защиты HASP или патчей, которые оставались в системе со старых времен, даже если текущий запуск производился с легальной программной или аппаратной лицензией.

4. Ложное предупреждение «Имя не уникально»

При обновлении конфигураций на 8.3.16 системные администраторы часто пугались сообщения в конфигураторе: ОбщаяКартинка.Информация: Имя не уникально! (баг 00-00306728). Данная ошибка возникала из-за дублирования системного имени картинки внутри самой платформы и метаданных типовой конфигурации. Эту ошибку можно безопасно игнорировать — она не влияет на работоспособность базы данных.

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

← На главную