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

Иногда при работе с 1С могут возникать сбои или ошибки.

В данной статье мы поговорим о тестировании и исправлении информационной базы 1С.

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

Если у Вас возникла необходимость провести процедуру тестирования и исправления информационной базы 1С:

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

Во вторых: После создания резервной копии следует открыть Конфигуратор, далее в меню: Администрирование -> Тестирование и исправление…

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

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

Реиндексация таблиц - это перестроение индексов таблиц, направленное на повышение быстродействия работы базы.

Проверка логической целостности – это целое множество проверок логики базы данных

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

Пересчет итогов – расчет итогов таблиц регистров накопления

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

Действие «Сжатие таблиц информационной базы» доступно только для файлового варианта. Остальные варианты работают и в файловом и в серверном режиме.

Реструктуризация таблиц – пример можно привести такой: берется таблица № 1, создается копия ее структуры, назовем, как Таблица № 2 и данные из таблицы № 1 копируются порциями в таблицу № 2.

Имеется возможность выполнять только тестирование или тестирование с исправлением.

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

Первая настройка: «При наличии ссылок на несуществующие объекты» означает, что в базе будет произведен поиск «битых ссылок» (когда какой-то реквизит ссылается, к примеру, на элемент справочника, а физически данный элемент уже в базе отсутствует. В результате, встречаются записи типа «Объект не найден <……>») и вариант обработки таких ссылок:

Попытка создать несуществующий объект;

Ничего не изменять.

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

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

  • ограничение времени тестирования и исправления;
  • сохранение параметров тестирования между этапами;
  • продолжение прерванного ранее тестирования и исправления;
  • поддержка тестирования и исправления порциями в командной строке запуска.

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

Утилита chdbfl

Вариант с тестированием базы средствами самой программы 1С – не единственный. В комплект поставки платформы 1С: Предприятие входит еще вспомогательная утилита для тестирования и исправления файлового варианта базы данных.

Опять-таки перед всеми операциями с базой обязательно создавайте копию.

После удачного резервного копирования надо открыть утилиту chdbfl. Она находится в каталоге установленной программы 1С.

Путь к ней, как правило, такой: C:\Program Files\1cv82\ «релиз платформы 1с» \bin

Там находится файл: «chdbfl.exe»

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

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

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

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

1С8 Параметры консольного вызова тестирования и исправления

DESIGNER (CONFIG в 8.0) Запуск в режиме Конфигуратора.

/@ Путь к файлу с параметрами командной строки.

/F Путь к файловой информационной базе (исключая имя файла).
/S Адрес информационной базы на сервере 1С:Предприятия.
/IBName запуск информационной базы по имени базы в списке информационнх баз. При необходимости имя должно быть взято в двойные кавычки. При этом, если имя содержит двойные кавычки, то нужно заменить каждые двойные кавычки на две двойные кавычки. Если в списках баз будет найдено более чем одна база с указанным именем, то пользователю будет выдана ошибка.

/N Имя пользователя, как оно задано в Конфигураторе.
/P пароль пользователя, имя которого указано в параметре /N. Если у пользователя нет пароля, этот параметр можно опустить.

/Out[ -NoTruncate] Задаёт файл для вывода служебных сообщений. Если задано -NoTruncate, файл не очищается (не используется в тонком клиенте). C 8.2.15 файл сообщений открывается в режиме, допускающем совместное чтение, и во время пакетного режима запуска Конфигураторa запись в этот файл выполняется сразу, а не буферизуется.

/UC [код доступа] — позволяет выполнить установку соединения с информационной базой, на которую установлена блокировка установки соединений. Если при установке блокировки задан непустой код доступа, то для установки соединения необходимо в параметре /UC указать этот код доступа.

/DumpIB[ИмяФайла] Выгрузка информационной базы.

/IBCheckAndRepair выполнить тестирование и исправление информационной базы.
. -ReIndex реиндексация таблиц;
-LogIntegrity проверка логической целостности или
-LogAndRefsIntegrity проверка логической и ссылочной целостности;
-RecalcTotals пересчет итогов;
-IBCompression сжатие таблиц;
-Rebuild реструктуризация таблиц информационной базы;

-BadRefCreate создавать объекты или
-BadRefClear очищать объекты или
-BadRefNone не изменять при частичной потере объектов:

-BadDataCreate создавать объекты или
-BadDataDelete удалять объекты или

-BadDataNone не изменять объекты;

UseStartPoint использовать сохраненную точку возврата для продолжения тестирования с того места, на котором оно было прервано в предыдущем сеансе;
TimeLimit:hhh:mm ограничение максимального времени сеанса тестирования: hhh - количество часов (0..999); mm - количество минут (0..59).

Примеры использования параметров

C:\Program Files\1cv8\bin\1cv8.exe CONFIG /F"C:\DemoTrd2" /N"Федоров (администратор)" /P"" /IBcheckAndRepair -LogIntegrity

C:\Program Files\1cv82\common\1cestart.exe DESIGNER /S"Server-1C\1C-Work82" /N"Администратор" /P"12345" /IBcheckAndRepair -LogIntegrity

Спасибо!

Beta Меню

Внешнее и внутреннее тестирование базы 1С:Предприятие

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

Процесс тестирования достаточно простой в обоих случаях, но в зависимости от размера базы и дисковой подсистемы ПК (HDD или SSD) может занимать достаточно длительный промежуток времени.


Внешнее тестирование базы данных 1С:Предприятие: проверка физической целостности файла БД

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

Перед любым тестированием обязательно сделайте копию файла 1Cv8.1CD!

Для проведения данной процедуры в указанной папке (версия платформы может быть любая)

C:\Program Files (x86)\1cv8\8.3.8.1784\bin

лежит утилита chdbfl.exe (синий бочонок с зелёной галочкой).

  1. Запускаем утилиту chdbfl.exe .
  2. В появившемся окне указываем пусть к файлу 1Cv8.1CD базы данных, которую требуется протестировать.
  3. Ставим галочку «Исправлять обнаруженные ошибки».
  4. Нажимаем «Выполнить».

После этого в папке с базой данных появится четыре новых файла с префиксом _$NEW$_. Не удаляйте эти файлы во время тестирования, они удаляться сами! Так же Вам покажется, что эта утилита «зависла» и ничего не происходит — это не так! Ни в коем случае не прерывайте работу этой утилиты! Эти действия безвозвратно испортят Вашу базу данных 1С!

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

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

Внутреннее тестирование базы данных: Тестирование и исправление информационной базы (ТиС)

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


Остались вопросы?

Что-то пошло не так? Специалисты нашей компании помогут Вам разобраться с возникшими проблемами! Обращайтесь! →

Также Ваши вопросы Вы можете задать в нашей группе ВК или на нашем YouTube канале!

Эти статьи будут Вам интересны

У нашего клиента возникла вполне стандартная ситуация: Windows 10 получила большой пакет обновления и после перезагрузки ПК при запуске 1С:Предприятие пользователь увидел окно с текстом "Не обнаружена лицензия для использования программы". Пока ничего не обычного. Но после ввода нового пин-кода 1С:Предприятие и сообщения об успешной активации при очередном входе в программу сообщение о том, что лицензия не найдена снова всплывает. Разбираемся, в чём же дело.

В этой статье мы рассмотрим данную системную утилиту «Тестирование и исправление информационной базы» в 1С 8.3 и особенности её использования.

Перед проведением любых операций необходимо !

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

Режим тестирования и исправления вызывается в конфигураторе системы 1С 8.3 выбором меню Администрирование — Тестирование и исправление.

Проверки и режимы

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

Получите 267 видеоуроков по 1С бесплатно:

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

Если по каким-то причинам тестирование и исправление не помогает или у вас нет доступа в конфигуратор, воспользуйтесь утилитой .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Иногда в базах 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 необходимо нажать кнопку «Выполнить», после чего в информационном окне внизу конфигуратора вы сможете наблюдать за ходом тестирования и исправления.

Похожее