Тестирование и исправление информационной базы. Тестирование и исправление информационной базы Проверка конфигурации 1с 8.3 на ошибки

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

Перед выполнением тестирования и исправления необходимо сделать резервную копию базы. Если же вы не можете зайти в конфигуратор, то в папке с установленной программой 1С есть утилита для тестирования и исправления, которая не требует запуска программы в режиме конфигуратор. Обо всем этом поговорим ниже.

Рассмотрим этот инструмент и как с ним работать. Особенно подробно разберем какие флаги надо ставить в интерфейсе.

Запустим программу в режиме конфигуратор:

Выбираем из меню Администрирование пункт “Тестирование и исправление”:

Какие галочки ставить?

Существуют различные варианты настройки тестирования, рассмотрим эти галки:

  • Реиндексация таблиц информационной базы - это полное перестроение индексов для таблиц базы данных. Реиндексация повышает скорость работы информационной базы. Процедура длительная, но никогда не будет лишней.
  • Проверка логической целостности информационной базы - проверять логическую и структурную целостность БД, исправляет ошибки в данных;
  • Проверка ссылочной целостности информационной базы - проверка «битых ссылок» в базе данных. Такие ошибки могут возникать при непосредственном удалении объектов системы или сбоях. Существует 3 варианта действий для исправления таких ошибок:
    • Создавать объекты - система создает элементы-заглушки, которые можно потом заполнить необходимой информацией,
    • Очищать ссылки - «битые» ссылки будут очищены,
    • Не изменять - система только покажет вам ошибки.
  • Пересчет итогов. Итоги - таблица предварительно подсчитанных результатов в регистрах накопления, расчета и бухгалтерии. Пересчет итогов, также как реиндексация, никогда не будет вредна и даст плюс в скорости работы программы;
  • Сжатие таблиц информационной базы - при удалении данных 1С не удаляет строки таблиц, а лишь «помечает» их на удаление. Они не видны пользователю, но продолжат находится в БД. Сжатие базы данных удаляет эти данные безвозвратно. Так же такого же эффекта можно достичь выгрузкой и загрузкой файла информационной базы (*.dt);
  • Реструктуризация таблиц информационной базы - долгий процесс, с помощью которого система осуществляет пересоздание таблиц базы. Такая процедура происходит и при внесение изменений в структуру конфигурации.

В нашем примере проставим все галочки как показано на рисунке и нажимаем “Выполнить”:

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

После окончания тестирования нажимаем “Закрыть”:

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

Тестирование и исправление закончено.

Если конфигуратор не открывается: утилита chdbfl.exe

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

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

После того как нажали копировать, нажимаем правой кнопкой на пустом месте окна папки и нажимаем “Вставить”. Копия сделана, запускаем утилиту:

Появляется главное окно утилиты. Нам нужно указать имя файла базы данных. Нажимаем на три точки. Открывается окно выбора файла БД. Ищем каталог вашей базы и в нем указываем на файл 1Cv8.1CD. Нажимаем “Открыть”.

Ставим галочку “Исправлять обнаруженные ошибки” и нажимаем “Выполнить”.

Ждем окончания операции. Она может занять продолжительное время, в зависимости от размера базы.

После выполнения, если были исправлены ошибки они отобразятся в окне утилиты. В моем случае ошибок не обнаружено. Нажимаем “Закрыть” и пробуем зайти в программу. Если зайти все же не получается, вам необходимо обратиться к специалисту.

С ошибками в работе баз данных, возникающими по самым разным причинам, начиная с отключения электричества, заканчивая поломкой оборудования, сталкивался любой пользователь и системный администратор. И если пользователь просто видит, что программа дает, например, перезагрузиться, но закрыть ее не получается, то администратор будет ошибки искать и бороться с ними.

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

Тестирование и исправление информационной базы 1С мы рассмотрим на примере конфигурации 1С Бухгалтерия редакции 3.0 (релиз – 3.0.54.20), платформа - 8.3.10.2561. Для более старых редакций и других конфигураций, а также версий платформы 8.2, алгоритм работы данной утилиты аналогичен.

Начнем с нашего обязательного напоминания о том, что перед ЛЮБЫМИ манипуляциями с конфигуратором 1С, в том числе и перед тем, как провести тестирование и исправление базы 1С 8.3, рекомендуется создать резервную копию той базы данных, с которой мы собираемся иметь дело.

Нужный нам режим работы, созданный, чтобы протестировать базу 1С и исправить найденные ошибки, доступен в конфигураторе, в разделе меню «Администрирование».


Запустив утилиту, мы увидим следующее окно:


Оно содержит перечень проверок и режимов, а также способы тестирования. Остановимся на каждом из них подробнее.

Реиндексация таблиц ИБ – при постановке галочки проводится реиндексация таблиц. Это процесс полного перестроения индексов таблиц БД. Реиндексация достаточно сильно улучшает производительность и быстродействие систем 1С.

Контроль логической целостности ИБ – механизм проверки организации данных, а также нахождения ошибок в логической и структурной целостности исследуемой БД.

Ссылочная целостность ИБ – проверяет ИБ на наличие «битых» или «пустых» ссылок, которые появляются при некорректной обработке информации, а зачастую и при удалении данных или некорректно настроенном обмене данными.

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

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

Реструктуризация таблиц ИБ – во время этого процесса система пересоздает таблицы БД. Обычно это происходит при внесении изменений в структуру метаданных конфигурации. Процесс может занять длительное время.

Чуть ниже этого списка находится поле выбора вида тестирования: будет ли проходить просто тестирование, при котором система покажет имеющиеся ошибки, но не будет их исправлять, или тестирование с дальнейшим исправлением. В этом случае система постарается исправить все найденные ошибки.

Еще ниже находятся варианты работы с «битыми» ссылками и при частичной потере данных. Доступны три варианта:

  • Создавать объекты – система создает пустой элемент, который потом можно будет заполнить данными вручную.
  • Очищать ссылки – «битые» ссылки и объекты с частичными данными будут удалены.
  • Не изменять – только показав ошибки, объекты система менять не станет.

И последняя зона нашего окна – возможность приостановить и продолжить прерванное тестирование. Дело в том, что в некоторых БД процесс тестирования и исправления может занять длительное время (от 1-2, до 20-30 часов). При наличии подозрений на то, что система будет проводить проверку очень долго, можно поставить галочку «Прервать выполнение проверки через» и установить временной промежуток, по истечении которого выполнение проверки будет приостановлено.


При наличии галочки «Продолжить прерванное ранее тестирование», нажатие кнопки «Выполнить» продолжит тестирование с места остановки.

Утилита chdbfl.exe

Если в силу ряда причин попасть в конфигуратор мы не можем – нет прав на запуск, например, то можно воспользоваться утилитой «chdbfl.exe». Это, по сути, аналог тестирования и исправления файловой (для SQL не подходит) информационной базы. Она проводит проверку физической целостности БД. Рассмотрим, где она находится и как ею пользоваться.

Заходим в папку с установленной платформой. Скачивать файл не надо.


После запуска мы увидим следующее окно:


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


После окончания проверки система сообщит о найденных ошибках.

Иногда в базах 1с случаются неприятности — не запускается 1с отчет который раньше работал, не проводится документ из-за непонятной ошибки, невозможно войти в программу… Одним из главных средств исправления ошибок 1с является тестирование и исправление базы 1с 8.3 с помощью встроенной в платформу утилиты.

Хочу заметить, что при любой некорректной работе 1С Предприятие 8.3 основными методиками восстановления работоспособности программы являются:

  1. Очистка кеша 1С Предприятие;
  2. Тестирование и исправление базы 1с 8.3.

Методика удаления кеша 1С подробно изложена в статье . Рассмотрим второй сервисный инструмент администрирования платформы 1С.

Тестирование и исправление базы 1с 8.3 с помощью встроенной утилиты

Для запуска данной операции не нужно обладать какими-либо специальными знаниями, поэтому с этим справится любой пользователь без обращения к 1с специалистам. Для запуска тестирования и исправления необходимо войти в конфигуратор 1с и выбрать пункт «Администрирование» — «Тестирование и исправление…»

Описание утилиты «Тестирование и исправление информационной базы 1с»

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

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

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

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

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

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

Для выявления и исправления этих ошибок выбираем данный пункт меню, при этом ниже активируются варианты обработок таких ошибок (см. рис. выше). Мы можем выбрать, каким образом исправлять ошибки при при наличии ссылок на несуществующие объекты : создавать объекты , очищать ссылки , не изменять ; и при частичной потере данных : создавать объекты , удалять объект , не изменять .

  • Пересчет итогов

Для выполнения быстрых выборок данных в базе 1с существуют таблицы с уже просчитанными данными с периодичностью месяц. Когда мы обращаемся за этими данными — они не собираются из основных таблиц (это заняло бы много времени), а выдаются сразу же из данных таблиц итогов. Соответственно, что бы этот механизм работал, необходимо иметь корректные итоги за прошедшие периоды. Поэтому в случае, если 1с «обманывает» в отчетах, то исправляется такая ошибка этим пунктом меню.

  • Сжатие таблиц информационной базы

Удаление объектов в базе данных — операция достаточно кропотливая и долгая, поэтому в конфигурациях 1с процесс удаления разделен на 2 этапа. Когда вы удаляете объекты в конфигурации, в базе данных 1с данные зануляются и из-за этого не участвуют в дальнейших операциях, хотя физически остаются на месте. Что бы вычистить таблицы от этих записей делают тестирование и исправление базы 1с 8.3 с пунктом меню «Сжатие таблиц информационной базы».

  • Реструктуризация таблиц информационной базы

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

Тестирование и исправление базы 1с 8.3 на практике

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

Тестирование и исправление базы 1с 8.3 может производиться в двух режимах:

  1. Тестирование. В этом режиме база тестируется и производятся технические исправления незначительных ошибок.
  2. Тестирование и исправление. В этом режиме база 1С тестируется и пытается произвести исправления всех замеченных ошибок (см. рис. выше).

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

Похожее

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

1 шаг. Первое и самое важное, что нужно сделать перед исправлением любой конфигурации, – . Мы не зря привели 2 способа создания резервной копии базы 1С. Даже если конфигурация перестала запускаться в режиме конфигуратора, вы всегда сможете сделать ее копию, воспользовавшись 1 способом - копированием фала конфигурации.

2 шаг. Запускаем систему 1с в режиме конфигуратора. В главном меню программы выберите «Администрирование – Тестирование и исправление…».

Если ваша конфигурация повреждена на столько, что не запускается даже в режиме Конфигуратора, то для ее восстановления можно , которая входит в комплект поставки 1С Предприятие 8.

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

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

Давайте рассмотрим все режимы проверки и исправления по-порядку:

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

Для ускорения поиска по определенным реквизитам объектов нашей конфигурации система 1с формирует индексы. В данном режиме исправления система сформирует все индексы заново.

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

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

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

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

Пересчет итогов

Итоги - это своеобразные индексы для регистров. Например, итоги по регистру остатков товаров позволяют нам быстро получать остатки товаров на нужную дату и т.д. В данном режиме система пересчитывает все итоги за все периоды. Как правило это очень долгая по времени проверка.

Сжатие таблиц информационной базы

Данный режим больше относится к повышению быстродействия работы конфигурации, нежели к устранению ошибок, но тем не менее.

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

Реструктуризация таблиц информационной базы

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

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

Создано 10.03.2016 13:43 Опубликовано 10.03.2016 13:43 Автор: Administrator Просмотров: 6202

Многие пользователи могут столкнуться с тем, что в программе 1С случился сбой, стали появляться ошибки, программа внезапно "виснет" или закрывается. В этом случае просто необходимо выполнить тестирование и исправление информационной базы, так как этот встроенный механизм почти всегда помогает решить подобного рода проблемы.

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

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

Когда "Конфигуратор" запущен, в меню нажимаем "Администрирование" и из выпавшего списка выбираем соответствующий пункт.

В открывшемся окне мы имеем право сами настроить вариант проверки, предлагается отметить "галочками" нужные позиции.


Первый пункт отмечаем, так как эта настройка выполнит перестроение индексов таблиц, что увеличит производительность системы. Установка "галочки" во втором пункте позволит проверить целостность таблиц базы и устранить в них ошибки. Далее выбираем проверку ссылочной целостности информационной базы, чтобы проверить все ссылки на объекты, ведь некоторые из них могут уже не существовать или быть разрушенными. При таком выборе активным становится поле, расположенное ниже, в котором можно указать, что делать с такими объектами: создавать новые, очищать или ничего не делать. Выбор следующего пункта приведет к пересчету итогов в регистрах накопления. Благодаря "галочке" напротив сжатия таблиц информационной базы при выполнении тестирования и исправления будут наконец удалены те данные, которые мы в свое время помечали на удаление и даже потом удаляли, но они все также оставались в базе, просто не были видны нам. Тем самым объем нашей базы уменьшится. И последнее в этом списке - реструктуризация, она нужна для того, чтобы образовались новые таблицы с нужной структурой, бояться этого не стоит, потому что все старые данные перенесутся в новые. Таким образом, как видим, для устранения проблем по всем фронтам рекомендуется отмечать все пункты.

После того, как определились с проверками и режимами, проверяем, чтобы ниже было отмечено выполнять "Тестирование и исправление".

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

Когда настройка тестирования проведена, можно запустить процесс по кнопке "Выполнить".

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

К сожалению бывают ситуации, что из-за сбоя в программе мы даже не можем запустить "Конфигуратор". Тогда придется действовать другим образом, а именно провести тестирование компонентой chdbfl.exe. Этот процесс аналогичен тестированию и исправлению, рассмотренному выше. Нам также в первую очередь потребуется сделать копию базы, но так как в этом случае работа протекает без конфигуратора, то делаем копию простым копированием каталога информационной базы.

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


Теперь, зная точный путь к базе, находим каталог и копируем.

Далее требуется найти и запустить утилиту chdbfl.exe, она устанавливается вместе с платформой 1С и найти ее можно в папке "Bin" каталога установки, чаще всего адрес выглядит подобным образом C:\Program Files (x86)\1cv8\8.3.7.1845\bin, где 8.3.7.1845 - номер релиза платформы. Но если трудности с поиском все-таки возникли, уточнить адрес можно щелкнув правой кнопкой мыши по ярлыку "1С Предприятие".

Итак, мы находим в папке "bin" нужную нам утилиту и запускаем ее двойным щелчком левой кнопки мыши.

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


Когда операция завершится, в окне утилиты мы увидим результат. После этого закрываем окно и пробуем зайти в программу.


Ios