продажа и поддержка программ семейства 1С
1С - доступно и ничего лишнего

Тестирование и исправление базы данных 1C

696

Прежде чем запускать проверку базу данных, обязательно нужно сделать ее резервную копию. В файловой версии необходимо скопировать всю папку с базой данных, в SQL версии желательно сделать копию средствами SQL.   Также ,на всякий случай, если может зайти в Конфигукратор перестрахуемся и выгрузим в DT  файл. В конфигураторе нужно выбрать в меню опцию Администрирование → Выгрузить информационную базу.

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

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

Исправление информационной базы внутренними средствами программы

После того, как сделана резервная копия, откроем базу в режиме Конфигуратора. Выбираем опцию меню Администрирование → Тестирование и исправление информационной базы.

В открывшемся окне нужно проставить галочки (рис.1).

Но лучше не делать этого: не все операции, перечисленные в меню,  необходимы при ремонте после аварии.

Рис.1. Окно тестирования и исправления 1с 8 с проставленными галочками во всех пунктах. Так делать НЕ НАДО:

Screenshot_2

Если отметить все пункты, запустится долгий процесс. Результаты тестирования и исправления отображается в нижней части окна. После выполнения действий нужно щелкнуть по кнопке Закрыть.

Выполнить все – не  самый лучший вариант! Квалифицированные пользователи выполняют действия поэтапно и выборочно.  

Этапы исправления

Рассмотрим все пункты меню Тестирование и исправление.

  • Реиндексация таблиц информационной базы;
  • Проверка логической целостности;
  • Проверка ссылочной целостности;
  • Пересчет итогов;
  • Сжатие таблиц;
  • Реструктуризация таблиц.

Первый этап, Реиндексация таблиц информационной базы, помогает решить 90% проблем. Что происходит в процессе реиндексации?

Внесение данных в справочники, создание новых документов сопровождается их автоматическим упорядочиванием. Названия выстраиваются по  алфавиту, документы – по датам и т.д. При этом физический порядок следования записей не меняется. Записи выводятся на экран в определенном порядке, потому что им присвоены номера (индексы), и соответствие индекса физическому номеру записи содержится в таблицах индексов.

Индексы очень важны:

  • Поиск в индексированных таблицах происходит во много раз быстрее, чем в неиндексированных;
  • Индексный номер – это уникальный «код» записи, по индексам выполняется связь между записями из разных таблиц;
  • Индексные таблицы – это каркас информационной базы; без них программа 1с не работает.

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

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

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

Итак, при переиндексации происходят такие процессы:

  • Записи заново ранжируются и упорядочиваются;
  • Восстанавливается связь между таблицами и другими объектами;
  • Во многих случаях – восстанавливается работа программы.

После переиндексации можно проверить – восстановилась ли работоспособность базы.

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

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

Пересчет итогов – длительная и рискованная процедура. В 1с производится пересчет результатов в штатном режиме, но он ведется не «от начала времен», а с начала месяца. Итоговые значения отслеживаются в регистрах, это ускоряет работу. Если включить пересчет итогов в режиме тестирования и исправления, то пересчет совершится от момента создания базы, причем правильные текущие значения регистров могут «поплыть» из-за давно удаленных или исправленных «задним числом» документов. В результате длительная работа по пересчету не принесет пользы.

Если нет необходимости, то от пересчета итогов лучше воздержаться.

Сжатие таблиц – это процедура физического удаления записей, которые были помечены на удаление и перестали выводиться на экран. Таких записей может быть очень много, они без пользы раздувают объем базы данных.

Сжатие таблиц – полезная функция, хотя ее выполнять не обязательно.

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

Если никакие версии не менялись, то реструктуризация не нужна, эта длительная процедура ничего не добавит и не изменит.

Итак, при исправлении «упавшей» программы необходимы и полезны опции:

  • Реиндексация таблиц информационной базы
  • Проверка логической целостности
  • Проверка ссылочной целостности

Что делать, если не удается запустить Тестирование и исправление?

Если база сильно повреждена и даже в Конфигуратор не удается войти, остается еще одна возможность восстановления: воспользуйтесь утилитой  chdbfl.exe. Файл можно найти в папке Bin каталога установки программы.

Подведем итоги. Если программа не запускается после аварийного прерывания работы, нужно сделать следующее:

  • Сделать резервную копию;
  • Попытаться войти через Конфигуратор и воспользоваться опцией Тестирование и исправление;
  • Если в Конфигуратор не удается войти, найти программу exe и попытаться спасти данные при помощи этой программы;
  • Если все попытки не дают результата, нужно обратиться за помощью к специалистам;
  • В случае невосстановимой потери данных установить последнюю работоспособную резервную копию;
  • Если резервное копирование не выполнялось – восстанавливать данные по первичным документам и бумажным распечаткам.

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

 

 

Для составления статьи применялась информация с blog.it-terminal.ru

 

Не смогли определиться?
Звоните - поможем!