Интернет Windows Android

Как сделать тестирование и исправление. Тестирование и исправление информационной базы

Создано 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". Отмечаем "галочкой" необходимость исправлять обнаруженные ошибки и нажимаем "Выполнить".


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


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

Теперь, когда резервная копия сделана, запустите базу в режиме конфигуратора:

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

Выберите пункт ‘Администрирование’-‘Тестирование и исправление…’ :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выбрав нужный пункт, запустите проверку нажав на кнопку ‘Выполнить’.

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

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

Ошибки могут проявляться не столь грубо, но любые странности и неточности являются поводом для «ремонтных работ».

Причины, ведущие к проблемам:

  • Аварийное прекращение работы (внезапное отключение питания);
  • Физический износ жесткого диска;
  • Сбои в работе компьютера.

Перед исправлением базы сделайте резервную копию

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

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

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

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

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

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

Наличие резервных копий – страховка от потери данных. Однако нельзя поручиться, что в резервных копиях все идеально, поэтому актуальность опции Тестирование и Исправление не уменьшается.

Рис. 1. Выгрузка данных.

Подведем итог:

  • Резервные копии нужно делать регулярно;
  • Резервные копии нужно хранить на другом носителе;
  • Для автоматизации есть программа Бэкапер-1С Резервные копии бухгалтерии;
  • Перед тестированием и исправлением обязательно делают копию базы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 3. Выбор утилиты chdbfl.exe

По записи в командной строке, показанной на рис.3, видно, что путь к файлу лежит через каталог 1сv8.2, или 1сv8.3, короче говоря, через каталог программы. Он может быть расположен в папке Program Files или в другой папке. Нужно найти место расположения каталога и открыть его. Внутри каталога открыть папку Bin,

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

Рис.4. Окно программы chdbfl.exe

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

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

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

vk.com/buhcenter группа вконтакте.
1-bc.ru сайт компании, на котором можно ознакомиться с услугами.
 Реиндексация таблиц информационной базы.
Для быстрого поиска информации к основным таблицам с основными данными добавляются вспомогательные таблицы, в которых данные сортируются по заданным полям основной таблицы - таблицы индексирования. За счет использования таблиц индексирования в разы увеличивается производительность 1с, поскольку нет необходимости перебирать всю основную таблицу данных для выборки, можно воспользоваться индексным файлом и выбрать необходимые записи оттуда.
При записи данных в основные таблицы данных, таблицы индексирования так же заполняются. Но по разным техническим причинам индексы могут сбиваться, что в итоге может приводить к ошибкам. Для исправления данного класса ошибок, когда выполняется тестирование и исправление базы 1с 8.3 необходимо установить галочку у данного пункта меню.
 Проверка логической целостности информационной базы
В момент создания новых объектов в конфигурации 1с в базе данных создаются новые таблицы, в которых указываются связи с другими таблицами базы. По различным причинам связи могут становиться некорректными (например из за некорректного обновления или неожиданного отключения электричества в момент записи). Что бы исправить такого рода ошибки выбираем данный пункт меню.
 Проверка ссылочной целостности информационной базы
Вероятно, вам приходилось видеть «битые ссылки» в 1с конфигурациях. Если нет, то вы счастливчик!
Для выявления и исправления этих ошибок выбираем данный пункт меню, при этом ниже активируются варианты обработок таких ошибок (см. рис. выше). Мы можем выбрать, каким образом исправлять ошибки при при наличии ссылок на несуществующие объекты: создавать объекты, очищать ссылки, не изменять; и при частичной потере данных: создавать объекты, удалять объект, не изменять.
 Пересчет итогов
Для выполнения быстрых выборок данных в базе 1с существуют таблицы с уже просчитанными данными с периодичностью месяц. Когда мы обращаемся за этими данными - они не собираются из основных таблиц (это заняло бы много времени), а выдаются сразу же из данных таблиц итогов. Соответственно, что бы этот механизм работал, необходимо иметь корректные итоги за прошедшие периоды. Поэтому в случае, если 1с «обманывает» в отчетах, то исправляется такая ошибка этим пунктом меню.
 Сжатие таблиц информационной базы
Удаление объектов в базе данных - операция достаточно кропотливая и долгая, поэтому в конфигурациях 1с процесс удаления разделен на 2 этапа. Когда вы удаляете объекты в конфигурации, в базе данных 1с данные зануляются и из-за этого не участвуют в дальнейших операциях, хотя физически остаются на месте. Что бы вычистить таблицы от этих записей делают тестирование и исправление базы 1с 8.3 с пунктом меню «Сжатие таблиц информационной базы».
 Реструктуризация таблиц информационной базы
При изменении реквизитов какого либо объекта метаданных 1с, базе данных необходимо дополнить все таблицы измененного объекта новыми записями. Это делается через реструктуризацию таблиц базы данных. В процессе реструктуризации создаются копии таблиц базы данных с структурой текущей конфигурации, после этого осуществляется перенос данных в созданные таблицы. В случае добавления реквизита в метаданных 1с, для него будет создана незаполненная колонка в новой таблице; в случае удаления реквизита - в новой таблице колонка под этот реквизит не будет создана, и, соответственно, он не перенесется.
В процессе реструктуризации будут пересозданы все таблицы базы данных, поэтому эта операция - самая длительная.

После аварийного завершения работы программы 1С рекоменудется протестировать и переиндексировать информационную базу (ИБ).

Порядок действий:

1. Сделайте копию информационной базы любым из способов:

2. Запустите программу 1С 7.7

3. В диалоговом окне «Запуск 1С» в раскрывающемся списке «В режиме» выберите "Конфигуратор". В списке информационных баз выберите нужную базу. И нажмите кнопку OK.

4. Запустится «Конфигуратор».

5. Выберите меню "Администрирование" - "Тестирование и исправление ИБ…"

6. В открывшемся диалоговом окне «Тестирование и исправление информационной базы» проверьте, чтобы были отмечены галочками следующие пункты:

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

По умолчанию должны быть установлены все этапы тестирования, кроме упаковки таблиц ИБ

7. Установите переключатель «Тестирование и исправление» (если Вы хотите провести тестирование, установите «Только тестирование»).

8. Щелкните по кнопке «Настройка».

В открывшемся диалоговом окне «Настройка исправления информационной базы» установите два переключателя «Создавать объекты» - OK - Выполнить.

9. Появится диалоговое окно Конфигуратора с сообщением: «Перед выполнением операции рекомендуется сделать резервную копию базы данных, т.к. исправление базы данных - операция необратимая. Продолжить?». Нажмите OK.

10. После завершения тестирования в появившемся окне Конфигуратора с сообщением «Тестирование информационной базы завершено» нажмите OK - Выход.

Закройте Конфигуратор.

Примечание:

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

Восстановление информационной копии из архивной копии производится в каталог с текущей информационной базой, и всё ее содержимое будет заменено информацией из архивной копии.

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

Внимание:

Если Вы не чувствуете себя достаточно подготовленным пользователем программы, - доверьте работу с информационной базой специалистам!