Ситуации, когда в магазине внезапно гаснет свет или происходит скачок напряжения, нередко приводят к плачевным последствиям для файловых баз данных «1С:Предприятие». Одной из типичных проблем в версии 1С:Розница 2.2.12 является появление критических ошибок в режиме рабочего места кассира (РМК), связанных с «исчезновением» метаданных или повреждением регистров налогообложения. Рассмотрим подробно, как диагностировать и устранить эти неисправности, если стандартные средства выдают массу ошибок.
Когда компьютер отключается резко, операционная система не успевает корректно завершить запись данных в файл 1Cv8.1cd. В результате нарушается физическая целостность таблиц. Сообщение о том, что «такого регистра вообще нет», хотя конфигурация не менялась, прямо указывает на повреждение таблицы Config или DBSchema. Система просто перестает «видеть» описание объекта в структуре базы.
В версии 2.2.12 РМК при открытии или пробитии чека активно обращается к регистрам, отвечающим за системы налогообложения (УСН, ЕНВД, Патент). Если ссылки в этих таблицах «битые», кассир увидит ошибку, а программа может вести себя неадекватно. Проанализируем последовательность шагов по спасению данных.
Прежде чем открывать Конфигуратор или пытаться что-то изменить в самой программе, необходимо убедиться, что файл базы данных исправен на физическом уровне. Разберем работу с утилитой chdbfl.exe, которая входит в комплект поставки платформы 1С.
1Cv8.1cd перед любыми манипуляциями!C:\Program Files\1cv8\номер_версии\bin\chdbfl.exe).Если утилита сообщает об исправлении множества ошибок, это хороший знак, но это лишь первый этап. chdbfl.exe чинит структуру контейнера, но не логические связи между данными.
После физического ремонта базы перейдем к логическому. Разберем, какие настройки в режиме «Тестирование и исправление» (ТиИ) наиболее важны в нашем случае. Поскольку автор темы указал, что ТиИ выдает «кучу ошибок», нам нужно действовать аккуратно.
Запустите Конфигуратор и выберите пункт меню Администрирование — Тестирование и исправление. Рекомендуем выставлять следующие параметры:
Часто ошибки РМК «залипают» в локальных временных файлах. Даже если база уже исправлена, старый кэш может выдавать сообщение об отсутствии регистра. Проанализируем самый надежный способ очистки:
При таком подходе создается новая папка кэша с уникальным идентификатором, и система будет вынуждена перечитать структуру метаданных из файла базы «с нуля».
Рассмотрим ситуацию, когда база открылась, но РМК продолжает выдавать ошибку налогообложения. В «1С:Розница 2.2» настройки налогов распределены по нескольким объектам. Нам необходимо проверить их вручную через меню «Все функции» (или «Функции для технического специалиста»):
Выясним причину, почему ошибка может возникать на этапе печати чека. При аварийном завершении работы 1С может отправить команду в драйвер кассы, но не получить ответ. В итоге в кассе смена может быть закрыта, а в 1С — открыта (или наоборот).
Если база «базовая» и стандартное ТиИ не помогает, попробуем метод полной пересборки структуры. Это можно сделать через механизм выгрузки информационной базы:
// Алгоритм действий:
1. Администрирование -> Выгрузить информационную базу (получаем файл .dt)
2. Создаем новую пустую папку на диске
3. Добавляем в список 1С новую пустую базу в эту папку
4. Заходим в Конфигуратор новой базы
5. Администрирование -> Загрузить информационную базу (выбираем наш .dt)
Этот процесс принудительно пересоздает все таблицы и индексы. Если ошибка была в заголовке файла .1cd, этот метод часто помогает ее «вылечить».
Мы проанализировали основные способы восстановления 1С:Розница 2.2 после сбоя питания. Главный вывод: если база файловая и «ТиИ» выдает массу ошибок, не стоит пытаться продолжать работу в этой базе без полного восстановления. Помните: в базовых версиях возможности по исправлению ограничены, поэтому наличие ежедневных резервных копий — единственный гарантированный способ не потерять данные о продажах за весь период работы магазина.