Сброс конфигурации и очистка данных в 1С 8.3

· 10 мин

Содержание

Под «сбросом конфигурации» чаще всего имеют в виду одну из двух разных операций, и их постоянно путают. Первая — вернуть саму конфигурацию (метаданные: справочники, документы, отчёты) к типовой поставке от 1С, откатив доработки. Вторая — очистить базу данных от записей: убрать документы, остатки, движения, оставив пустую, но рабочую программу. Это не одно и то же, и делаются они по-разному.

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

Любой «сброс» необратим без резервной копии. Прежде чем что-то удалять или откатывать — сохраните базу (раздел ниже). Восстановить данные из воздуха не получится.

Какой из двух сбросов вам нужен

Прежде чем жать кнопки, определитесь с задачей. Это экономит часы: половина «неудачных сбросов» — это когда человек хотел очистить данные , а откатил метаданные (или наоборот) и не понял, почему результат не тот.

Что вы хотите получить в итоге?

Что сделать до сброса

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

Для файловой базы достаточно скопировать папку с файлом 1Cv8.1CD на другой диск. Для любого варианта работает штатная выгрузка из «Конфигуратора»: Администрирование → Выгрузить информационную базу — получите файл .dt, он содержит и конфигурацию, и все данные. Для клиент-серверной базы правильнее делать резервную копию средствами СУБД (бэкап SQL Server или pg_dump для PostgreSQL) — об этом в разделе про SQL.

Перед сбросом проверьте
Выполнено: 0 / 5

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

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

Удаление данных в режиме «1С:Предприятие»

Если нужно очистить содержимое, но саму программу оставить, работайте через пользовательский режим. В типовых конфигурациях на базе стандартных подсистем (БП 3.0, ЗУП 3.1, УТ 11) нет одной кнопки «удалить все данные» — это сделано намеренно, чтобы нельзя было стереть учёт случайно. Поэтому удаление идёт в два шага: пометить на удаление, затем удалить помеченное .

  1. Пометьте объекты на удаление. В списке документов или справочника выделите строки и в командной панели выберите пометку на удаление (команда с красным крестиком) либо клавишу Delete. Пометить массово — долго и неудобно, поэтому для полной чистки обычно берут внешнюю обработку (раздел «Массовая очистка»).
  2. Запустите удаление помеченных объектов. Надёжный путь, который есть в любой типовой конфигурации: главное меню (значок ≡ в левом верхнем углу) → Все функции → Стандартные → Удаление помеченных объектов. В «Бухгалтерии» эта же команда доступна из раздела Администрирование → Обслуживание.
  3. Выберите режим. Автоматическое удаление сразу убирает всё помеченное. Выборочное — даёт отметить галочками, что именно удалять, и показывает, какие объекты мешают удалению (на них есть ссылки).

Если Все функции не видно в главном меню — включите их: Сервис → Параметры (или Вид → Настройка панелей в зависимости от конфигурации), флажок отображения команды «Все функции».

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

Удаление помеченных объектов необратимо. Убедитесь, что резервная копия сделана до запуска, а не после.

Откат конфигурации к типовой через «Конфигуратор»

Это второй смысл «сброса» — вернуть метаданные к поставке 1С, убрав доработки. Данные при этом не удаляются: меняется только структура, а записи остаются (если структура совпадает со старой).

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

Надёжный способ полностью вернуть типовую — загрузить файл конфигурации поставщика (.cf) нужного релиза:

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

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

Отдельный случай — доработки вынесены в расширение конфигурации (.cfe, механизм появился в платформе 8.3.6). Тогда «сброс» доработок — это просто удаление расширения: Конфигурация → Расширения конфигурации, удалить нужное, затем обновить конфигурацию базы данных. Основная конфигурация при этом не трогается — чистый и безопасный вариант.

Создание чистой базы из файла конфигурации

Когда нужна полностью пустая база с той же программой, очистка по одному объекту — долго. Быстрее собрать чистую базу с нуля:

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

На выходе — пустая база: все справочники и документы на месте как объекты метаданных, но без единой записи. Настройки учётной политики, пользователей и прав в ней тоже пустые, их задают заново при первом входе.

Этот способ удобнее очистки данных ещё и тем, что сбрасываются внутренние счётчики и нумерация: документы снова начнутся с первого номера. При удалении помеченных объектов нумерация так не обнуляется.

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

Массовая очистка внешними обработками

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

Принцип работы: обработка открывается через Файл → Открыть в режиме «1С:Предприятие», вы выбираете типы объектов и период, она проставляет пометки удаления — дальше запускаете штатное удаление помеченных объектов.

Внешнюю обработку запускайте только из проверенного источника (комплект поставки, ИТС, ваш подрядчик). Чужой .epf из интернета имеет полный доступ к базе и способен тихо испортить данные или выгрузить их. Непонятную обработку в рабочую базу не грузите.

Чтобы запуск внешних обработок вообще был доступен, в типовых конфигурациях его включают в Администрирование → Печатные формы, отчёты и обработки (дополнительные отчёты и обработки). Для разовой технической чистки проще открыть обработку напрямую через Файл → Открыть, если у пользователя есть соответствующие права.

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

Сброс в клиент-серверной базе (SQL)

В клиент-серверном варианте база живёт в СУБД (MS SQL Server или PostgreSQL), и это меняет правила.

Резервную копию делайте средствами СУБД, а не только через .dt:

  • MS SQL Server — полный бэкап базы (BACKUP DATABASE) через SQL Server Management Studio или задание агента.
  • PostgreSQL — pg_dump по этой базе.

Не чистите данные через SQL напрямую — TRUNCATE или DELETE по таблицам сломают базу. Внутренние таблицы вида _Reference123, _Document456 связаны ссылками и итогами; платформа ведёт их сама. Ручная правка в обход платформы приводит к расхождениям, которые потом не лечатся. Все операции делайте инструментами 1С.

Способы сброса в клиент-сервере те же, что и в файловом варианте, но с оговорками:

  • Очистка данных — через режим «1С:Предприятие» (удаление помеченных) или внешней обработкой. Работает одинаково.
  • Чистая база из .cf — создаёте новую информационную базу на сервере (Добавление ИБ → На сервере 1С:Предприятия), затем грузите конфигурацию.
  • Откат конфигурации — в «Конфигураторе», так же как для файловой.

Операции, требующие монопольного доступа (загрузка .dt, тестирование и исправление, реструктуризация при обновлении), не пройдут, пока в базе есть сеансы. Завершить сеансы можно из консоли администрирования кластера или командой rac. Посмотреть список сеансов: rac session list. Для принудительного завершения конкретного сеанса смотрите параметры в rac help session — не угадывайте ключи команды.

Прежде чем завершать сеансы или останавливать службу 1C:Enterprise Server, предупредите пользователей: оборвутся все подключения, незавершённые операции откатятся. Делайте это в технологическое окно, а не в разгар рабочего дня.

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

Когда сброс не нужен

Нередко «сбросить всё и начать заново» — лишний шаг, который стоит данных. Разберите, точно ли проблема требует именно сброса:

  • База тормозит или выдаёт ошибки при проведении. Это лечится тестированием и исправлением (Администрирование → Тестирование и исправление в «Конфигураторе»), а в типовых — ещё и штатными обработками перепроведения и пересчёта итогов. Данные при этом сохраняются.
  • Накопился мусор: тестовые документы, лишние контрагенты. Удаляйте точечно пометкой на удаление, а не сносите базу целиком.
  • Нужно убрать одну неудачную доработку. Если она в расширении — удалите расширение, основная конфигурация не пострадает. Полный откат к типовой тут избыточен.
  • Хотите «чистую базу для обучения». Заводите отдельную тестовую базу из шаблона поставки, а рабочую не трогайте.

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

Частые вопросы

Сбросится ли лицензия 1С после очистки базы или отката конфигурации?
Нет. Лицензия (программный или аппаратный ключ защиты) не хранится в базе и не зависит от конфигурации. Любые операции с данными и метаданными её не затрагивают.
Можно ли очистить только документы, оставив справочники и настройки?
Да. Пометьте на удаление документы нужного периода (вручную или внешней обработкой) и запустите удаление помеченных объектов. Справочники без ссылок на удаляемые документы останутся. Но остатки в регистрах, сформированные этими документами, тоже уйдут — это нормально.
Чем откат конфигурации к типовой отличается от обновления?
При обновлении вы переходите на новый релиз, сохраняя свои доработки (они переносятся при объединении). При откате к типовой доработки, наоборот, убираются — конфигурация становится ровно такой, как в поставке 1С.
Почему после удаления помеченных объектов номера документов не начались заново?
Удаление не сбрасывает внутренние счётчики нумерации. Чтобы нумерация пошла с первого номера, нужна новая база из файла конфигурации, а не чистка существующей.
Обязательно ли выгонять пользователей для очистки данных?
Для удаления помеченных объектов — желательно, иначе кто-то может создавать новые ссылки на удаляемые объекты. Для загрузки .dt, тестирования и исправления, обновления структуры — обязательно: эти операции требуют монопольного доступа.