1с тестирование и исправление. Тестирование и исправление информационной базы. Как исправить ошибки в номерах, датах и суммах полученных счетов-фактур, зарегистрированных в прошлых налоговых периодах

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

Особенно это критично при работе в файловом варианте работы системы.

Для исправления и диагностики ошибочных состояний ИБ «1С:Предприятия» предназначена процедура Тестирование и исправление информационных базы . Для запуска процедуры необходимо зайти в Конфигуратор, меню Администрирование - Тестирование и исправление информационной базы.

На экран выведется диалог:

Тестирование и исправление ИБ работает с базами в файловом и клиент-серверном режиме работы.

В данном диалоге необходимо установить требуемые виды тестирования и проверки.

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

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

Включить проверку ссылочной целостности ИБ отключая от проверки логическую целостности невозможно. Также отключение проверки ссылочной целостности не означает, что выключена проверка типа ссылок.

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

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

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

Тестирование может быть прервано нажатием комбинации клавиш Ctrl+Break.

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

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

Работа ИБ в монопольном режиме не переводит базу данных MS SQL в однопользовательский режим (single user).

После завершения работы монопольный режим снимается.

Для восстановления файлового варианта БД есть утилита chdbfl.exe

Обслуживание 1С

Напоследок хочется немного, дополнить к теме .

Бывает с «1С:Предприятие» такое что ИБ начинает глючить, вроде все работает и нечего не меняли и объяснить не как не можем. Первое что надо сделать это — Тестирование и исправление базы, а потом если не помогло можно брать в руки отладчик.

Не реже одного раза в месяц желательно выполнять Тестирование и исправление информационной базы . Не забываем .

П.С. Чтобы расслабится посмотрите отличное видео
95 квартал — «Беременная жена»

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

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

Первым предложением каждого специалиста в такой ситуации, станет восстановление резервной копии. Если таковой не имеется или она устарела, необходимо будет предпринять ряд несложных действий, например, протестировать базу 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С:Бухгалтерия (8.3 редакция 3.0)

2017-12-19T18:21:22+00:00

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

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

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

3. Выберите пункт "Администрирование"-"Тестирование и исправление..." :

4. Перед нами много вариантов проверок и исправлений, которые нужно выбрать и нажать кнопку "Выполнить". В принципе, можно выбрать их все, но наиболее разумным будет выполнять эти проверки и исправления по-порядку и после каждого исправления проверять - не пропали ли ошибки в базе:

5. Будем тестировать и исправлять сразу (второй вариант):

6. Если база очень большого размера, то можно ограничить выполнение проверок во времени. Не будем этого делать:

7. Реиндексация таблиц информационной базы. Что это такое? Для каждой таблицы (например, справочника) в базе строится индекс для ускорения поиска по определенным полям. Так вот, это исправление заново строит все индексы:

8. Проверка логической целостности информационной базы проверяет и исправляет логические ошибки в структурах таблиц:

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

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

10. Пересчет итогов. Итоги - грубо говоря, это индексы для регистров, в которых хранится информация, создаваемая документами. Например, наличие итогов по регистру остатков товара позволяет нам быстро получать значение остатков товара на некоторую дату. Эта проверка заново пересчитывает все итоги за все время. Замечу, что обычно это очень долгая по времени проверка.

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

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

13. Выбрав нужный пункт, запускайте проверку (кнопка "Выполнить"):

14. После всех проверок откроется окно Служебные сообщения с информацией о результатах тестирования:

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

Тестируем через обновлятор

Для пользователей моего всё ещё проще.

Отметьте нужную базу в списке, а затем из пункта "Ещё" выберите пункт "6.06 Тестирование и исправление баз":

Откроется окно с опциями полностью совпадающими с опциями конфигуратора:

Отметьте нужные и нажмите кнопку "ОК".

При этом обновлятор:

  • сам заблокирует базу и выгонит работающих пользователей;
  • сам создаст резервную копию базы;
  • сам запустит конфигуратор для автоматического тестирования в соответствии с отмеченными настройками;
  • сам пустит всех пользователей обратно после тестирования
  • всю информацию о результатах тестирования вы увидите в окне обновлятора на закладке Отчёт .

При этом, если вам потребуется восстановить (откатить) базу на созданную резервную копию перед тестированием - отметьте базу галкой, а затем из пункта "Ещё" выберите вариант "6.01 Восстановить файл данных базы из zip, 7z, rar".

Ошибка 1С «Файл базы данных поврежден» регулярно возникает при работе с версиями платформ 8.2 и 8.3. Данная ошибка может возникнуть как при запуске информационной базы, так и в процессе какой-либо операции. Рассмотрим, как можно исправить данную ошибку.

Рис. 1. Окно с ошибкой

В первую очередь, ОБЯЗАТЕЛЬНО(!!!) сделайте копию поврежденной базы. Лучше сделать копию файла 1Cv8.1CD. Для этого необходимо перейти в каталог, где хранится база, скопировать ее и сохранить в любом для Вас удобном каталоге.


Рис. 2. Копирование базы


Рис. 3. Вставка базы в каталог

После копирования базы, необходимо внутреннее тестирование. Для этого заходим в нашу базу через конфигуратор, переходим по вкладке “Администрирование” и нажимаем на “Тестирование и исправление”.


Рис. 4. Запуск Конфигуратора


Рис. 5. Тестирование и исправление

Перед нами появляется окно тестирование и исправления информационной базы. Ставим галочки, как показано на рисунке 6 и запускаем тестирование.


Рис. 6. Запуск тестирования и исправления

После внутреннего тестирования необходимо провести еще и внешнее тестирование. Для этого мы закрываем конфигуратор и открываем утилиту chdbfl.exe. Она находится в папке с платформой, которая, как правило, находится в папке C:\Program Files (x86)\1cv8\8.3.10.2252\bin.

Рис.7. Путь к утилите

Запускаем данный файл, в поле “Имя файла БД” прописываем путь, где лежит наша база и ставим галочку “Исправлять обнаруженные ошибки, далее выполняем тестирование.


Рис. 8. Запуск внешнего тестирования

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

Пивкин Андрей. Специалист Линии консультаций