В программе 1С пользователь может столкнуться с появлением ошибок при работе или при запуске информационной базы. В большинстве случаев для устранения подобных проблем в файловом режиме информационной базы может помочь проведение «Тестирования и исправления». Данную операцию следует выполнять под пользователем с полными правами и в режиме «Конфигуратора». Соответственно, в случае, если при запуске базы в режиме «Конфигуратора» невозможен из-за появления ошибок, данный вариант решения вопроса не подойдет.
Если все же «Конфигуратор» открывается, то прежде чем запускать проведение «Тестирования и исправления информационной базы», необходимо обязательно сделать резервное копирование, потому что «Тестирование и исправление» это необратимые операции над базой данных.
Для выполнения резервного копирования открываем программу в режиме «Конфигуратора», выбираем меню «Администрирование» - «Выгрузить информационную базу» и в открывшемся окне требуется указать каталог (папку), в который будет сохранена резервная копия информационной базы, далее нажать на кнопку «Сохранить». Резервное копирование, как и «Тестирование и исправление» выполняться должно в монопольном режиме (то есть в информационной базе работать в это время никто не должен).
После успешного выполнения копирования базы, переходим непосредственно к выполнению «Тестирования и исправления информационной базы», для этого также открываем меню «Администрирование» – «Тестирование и исправление»
В открывшемся окне отображается список необходимых проверок и режимов, которые будут произведены в результате выполнения «Тестирования и исправления». Рассмотрим подробнее.
· Реиндексация таблиц информационной базы позволяет перестроить индексы для таблиц и повысить производительность информационной базы.
· Проверка логической целостности информационной базы осуществляет проверку логической и структурной целостности базы данных, исправляет ошибки в данных.
· Проверка ссылочной целостности информационной базы подразумевает собой проверку данных на наличие «битых ссылок» в базе данных. Удаление объектов системы или сбои могут служить причиной появления такой ошибки. Существует 3 способа их устранения: Создавать объекты — система создает элементы, которые можно потом заполнить необходимой информацией, Очищать ссылки — «битые» ссылки будут удалены, Не изменять — система только покажет ошибки, без каких-либо других дополнительных действий.
· При установке флажка Пересчет итогов выполняется пересчет результатов в регистрах накопления, сведений, расчета и бухгалтерии, в результате также повышается производительность информационной базы.
· Сжатие таблиц информационной базы позволяет уменьшить в объеме информационную базу, происходит это за счет того, что при удалении данных из программы, 1С не удаляет физически эти объекты, сжатие базы удаляет такие записи окончательно.
· Реструктуризация таблиц информационной базы — процесс, с помощью которого система осуществляет пересоздание таблиц баз данных.
· Пересоздание автономной конфигурации представляет собой создание специальной формы в мобильном клиенте с автономным режимом работы, которая переформируется с теми же параметрами после изменения доступности основного сервера.
Для выполнения тестирования может потребоваться длительное время, зависит от производительности и объема информационной базы.
После установки нужных параметров для запуска «Тестирования и исправления» следует нажать на кнопку «Выполнить». Появится окно для служебных сообщений, где будут выводиться комментарии и ошибки по ходу выполнения каждого шага, после успешного его завершения должна отобразиться информация о том, что тестирование закончено. Далее требуется проверить наличие ошибки.
Также одним из способов устранения ошибок в программе является выполнение внешнего тестирования, используя файл платформы «chdbfl.exe», но применим он только для файлового режима базы.
В первую очередь необходимо также обязательно сделать резервное копирование информационной базы. Если режим «Конфигуратора» открывается, то соответственно в режиме «Конфигуратора»,как было описано в статье ранее.
Если же доступа к «Конфигуратору» нет, то в этом случае копию базы требуется сделать копированием папки либо файла с информационной базой. Для этого нужно выделить одну базу в списке информационных баз, в которой появляется ошибка. В нижней части окна отобразится путь, где расположена база, копируем его в таком виде, в каком показано на картинке, то есть то, что находится в кавычках, затем вставляем скопированное в проводник, находим файл с базой, копируем и вставляем данные в другую папку.
После успешного выполнения копирования базы, переходим непосредственно к выполнению «Внешнего тестирования», для этого необходимо перейти в папку, где находится платформа. Как правило, платформа устанавливается в «C:\Program Files\1cv8» или «C:\Program Files (x86)\1cv8», если версия 8.3, и C:\Program Files\1cv82, если версия 8.2. В каталоге с установленными версиями платформы находим ту версию платформы, с которой осуществляется запуск информационной базы, далее переходим в папку «bin» и открываем ее.
Далее в появившейся папке выбираем файл «chdbfl.exe» и запускаем его.
В результате выполненных действий открылась форма «Проверка физической целостности файла БД».
Далее нужно поставить флажок «Исправлять обнаруженные ошибки» и в поле «Имя файла БД» вставляем путь расположения базы, нажимаем на клавишу F4 или «Выбрать» и выбираем непосредственно файл информационной базы «1Cv8.1CD» и нажимаем «Открыть».
После этого по кнопке «Выполнить» запустится проведение «Внешнего тестирования». Процесс может выполняться длительное время, прерывать его нельзя, нужно обязательно дождаться завершения.
По результатам тестирования появится сообщение «Ошибок не обнаружено», но это не значит, что ошибка осталась, необходимо запустить программу и проверить наличие проблемы.
Также выполнение «Внешнего тестирования» может повлиять на уменьшение объема информационной базы
С такими же проблемами могут столкнуться и пользователи, работающие в серверных базах, в этом случае необходимо выполнять проверку базы данных 1C на целостность и исправление ошибок MS SQL. Выполнение «DBCC СHECKDB» позволяет проверить целостность таблиц и связанных с ними индексов, целостность страниц базы данных и восстановить индексы на заданной таблице.
ALTER DATABASE <ИмяБазы> SET SINGLE_USER WITH ROLLBACK IMMEDIATE
После того, как база переведена в однопользовательский режим, следует запустить команду, которая позволит устранить ошибки:
DBCC CHECKDB (<ИмяБазы>, REPAIR_ALLOW_DATA_LOSS)
По результатам выполнения команды ошибки будут исправлены и переходим к возврату базы данных в многопользовательский режим:
ALTER DATABASE <ИмяБазы> SET MULTI_USER WITH ROLLBACK IMMEDIATE