Администрирование · 13 мин
Как сделать проверку в 1С: от тестирования базы до контроля данных
Как выполнить проверку в 1С: тестирование и исправление базы, контроль остатков, проверка заполнения реквизитов и данных перед отчётностью. Пошаговые инструкции.
Под проверкой в 1С обычно понимают несколько разных задач: техническое тестирование и исправление информационной базы, контроль корректности учётных данных перед закрытием периода, проверку заполнения реквизитов в документах и справочниках, а также встроенные механизмы проверки при проведении документов. Каждая из этих задач решается своим инструментом, и важно сразу понимать, какая именно проверка вам нужна.
Чаще всего пользователи ищут проверку, когда программа выдаёт ошибку, документ не проводится, отчёт показывает странные цифры или база стала работать медленно и нестабильно. В этих случаях последовательность действий различается: иногда достаточно штатной обработки в пользовательском режиме, а иногда требуется запуск конфигуратора с процедурой тестирования и исправления.
Ниже разобраны основные сценарии проверки в типовых конфигурациях 1С (Бухгалтерия, Управление торговлей, Зарплата и управление персоналом) и в файловых базах на платформе 1С:Предприятие 8.3. Названия пунктов меню могут немного отличаться в зависимости от версии конфигурации, но общая логика сохраняется.
Какие виды проверок существуют в 1С
Прежде чем запускать какие-либо процедуры, определите тип проблемы. От этого зависит выбор инструмента и риски. Условно все проверки делятся на четыре группы.
Первая группа — техническая проверка физической и логической целостности базы. Она нужна при сбоях: программа аварийно завершается, появляются ошибки формата потока, «битые» ссылки, пропадают документы. Выполняется через конфигуратор или утилиту chdbfl для файловых баз.
Вторая группа — проверка учётных данных: остатков по счетам, взаиморасчётов, складских остатков, соответствия данных бухгалтерского и налогового учёта. Для этого в типовых конфигурациях есть специальные отчёты и обработки.
Третья группа — проверка заполнения данных в объектах: обязательных реквизитов, корректности ИНН, номеров документов, дат. Часть таких проверок выполняется автоматически при записи и проведении, часть — специальными обработками.
Четвёртая группа — проверка логики конфигурации и расширений, актуальная для разработчиков: синтаксический контроль модулей, проверка конфигурации в конфигураторе.
Тестирование и исправление, утилита chdbfl
Текст сообщения, заполнение документа, остатки
Экспресс-проверка, анализ остатков, перепроведение
Проверка ссылочной целостности в конфигураторе
Тестирование и исправление базы через конфигуратор
Это основной инструмент технической проверки информационной базы. Запускается он в режиме конфигуратора через меню «Администрирование → Тестирование и исправление». Перед запуском обязательно сделайте резервную копию: для файловой базы достаточно скопировать файл 1Cv8.1CD, для клиент-серверной — выполнить выгрузку в dt или средствами СУБД.
В окне тестирования доступны несколько проверок. «Реиндексация таблиц» перестраивает индексы и помогает при замедлении работы. «Проверка логической целостности» выявляет ошибки в данных. «Проверка ссылочной целостности» находит ссылки на несуществующие объекты — именно она нужна при «битых» ссылках. «Пересчёт итогов» восстанавливает итоги по регистрам, что влияет на скорость отчётов. «Проверка физической целостности» доступна только для файловых баз.
В нижней части окна выбирается режим: «Тестирование» (только диагностика без изменений) или «Тестирование и исправление» (с устранением найденных ошибок). Для ссылочной целостности дополнительно задаётся, что делать с объектами, содержащими битые ссылки: создавать объекты, очищать ссылки или не изменять. Разумный первый шаг — запустить только тестирование, изучить список ошибок и уже потом выбирать способ исправления.
Проверка файловой базы утилитой chdbfl
Если база повреждена настолько, что конфигуратор не открывается или тестирование завершается с ошибкой, используйте утилиту chdbfl.exe. Она находится в каталоге bin установленной платформы, в папке соответствующей версии. Утилита работает только с файловыми базами и проверяет физическую целостность файла 1Cv8.1CD на низком уровне.
Порядок действий простой: закройте все сеансы 1С, скопируйте файл базы в отдельный каталог как резервную копию, запустите chdbfl.exe, укажите путь к файлу 1Cv8.1CD, отметьте флаг «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Сначала рекомендуется запуск без флага исправления, чтобы оценить масштаб повреждений.
После работы chdbfl базу стоит дополнительно проверить штатным тестированием в конфигураторе: утилита устраняет физические повреждения, но логические ошибки в данных могут остаться. Учтите, что при серьёзных повреждениях часть данных может быть утрачена — именно поэтому исправление выполняется на копии, а не на единственном экземпляре базы.
- 1Завершите все сеансы пользователей и закройте 1С
- 2Скопируйте файл 1Cv8.1CD в отдельную папку как резервную копию
- 3Запустите chdbfl.exe из каталога платформы и проверьте файл без исправления
- 4При наличии ошибок запустите повторно с флагом исправления
- 5Откройте базу в конфигураторе и выполните тестирование логической и ссылочной целостности
- 6Проверьте работу базы в пользовательском режиме: откройте ключевые документы и отчёты
Как проверить учётные данные перед закрытием периода
Техническая целостность базы не гарантирует правильность учёта. Для контроля данных в типовых конфигурациях есть специальные инструменты. В 1С:Бухгалтерии это «Экспресс-проверка ведения учёта» (раздел «Отчёты»): обработка проверяет типовые ошибки — отрицательные остатки, незакрытые счета, расхождения между бухгалтерским и налоговым учётом, корректность курсов валют.
Дополнительно полезны отчёты «Анализ состояния налогового учёта по налогу на прибыль» и «Анализ состояния налогового учёта по НДС». Они визуально показывают связь между данными бухгалтерского и налогового учёта и помогают найти документ, из-за которого возникло расхождение. Для проверки взаиморасчётов используются акты сверки с контрагентами и отчёт «Анализ расчётов».
В конфигурациях по торговле и складу ключевая проверка — контроль отрицательных остатков по регистрам товаров. Отрицательный остаток почти всегда означает ошибку в последовательности проведения документов: продажа проведена раньше поступления. Лечится это восстановлением последовательности или перепроведением документов за период в хронологическом порядке.
Как проверить результат контроля данных
Все разделы отмечены как пройденные
Есть ошибки с указанием документов-источников
Нет отрицательных значений на конец периода
Отрицательные остатки по номенклатуре
Сальдо совпадает с актами сверок
Расхождения, «висящие» авансы
Счета затрат закрыты в конце месяца
Остатки на счетах 20, 25, 26, 44 после закрытия месяца
Проверка заполнения реквизитов и данных в документах
Большинство типовых объектов 1С имеют встроенную проверку заполнения: при записи или проведении система контролирует обязательные реквизиты и выдаёт сообщения с указанием поля и причины отказа. Если документ не проводится, внимательно прочитайте текст сообщения — в подавляющем большинстве случаев там прямо указано, чего не хватает: не заполнен договор, не указан склад, не хватает товара на остатке.
Для массовой проверки данных в справочниках используются обработки поиска дублей и контроля реквизитов. Например, в разделах администрирования типовых конфигураций есть «Поиск и удаление дублей» — обработка находит дублирующиеся элементы справочников по заданным правилам (по наименованию, ИНН и другим полям) и позволяет объединить их с заменой ссылок во всех документах.
Для проверки контрагентов в типовых конфигурациях есть сервис проверки ИНН и КПП по данным ФНС, а также проверка контрагентов в документах. Если конфигурация доработана и штатных проверок недостаточно, разработчик может реализовать собственные контроли через процедуру ОбработкаПроверкиЗаполнения в модуле объекта — это стандартный механизм платформы для произвольных проверок при записи.
Проверка конфигурации и расширений для разработчиков
Если вы дорабатываете конфигурацию или подключаете расширение, проверка выполняется в конфигураторе через меню «Конфигурация → Проверка конфигурации». Доступны режимы: синтаксический контроль модулей, проверка логической целостности структур метаданных, контроль прав, проверка модулей в разных режимах компиляции (тонкий клиент, веб-клиент, сервер).
Обязательно включайте проверку для всех режимов компиляции, которые реально используются в вашей системе: код, корректный на сервере, может не компилироваться в веб-клиенте из-за недоступных там типов. Ошибки выводятся в окне служебных сообщений с указанием модуля и строки.
Для расширений дополнительно проверяйте совместимость после обновления основной конфигурации: типовое обновление может изменить процедуры, которые расширение переопределяет. Признак проблемы — ошибки вида «Процедура или функция с указанным именем не определена» сразу после обновления.
Частые ошибки и ограничения проверок
Важно понимать границы возможностей штатных инструментов. Тестирование и исправление устраняет технические повреждения, но не исправляет методологические ошибки учёта: если документы введены с неверными данными, никакая техническая проверка это не найдёт. И наоборот — экспресс-проверка учёта не лечит повреждённую физически базу.
Ещё одно ограничение — время выполнения. На больших базах полное тестирование со всеми проверками может занимать часы и требует монопольного доступа. Планируйте такие работы на нерабочее время и предупреждайте пользователей. Для клиент-серверных баз часть задач (реиндексацию, обновление статистики) целесообразнее выполнять средствами СУБД по регламенту.
Если после всех проверок ошибка воспроизводится, полезно локализовать её: повторяется ли она у другого пользователя, на другом компьютере, в копии базы. Это отделяет проблемы данных от проблем конкретного рабочего места — например, повреждённого кэша метаданных, который лечится очисткой кэша или переподключением базы в списке.
Как выбрать способ проверки
Что важно запомнить
Проверка в 1С бывает технической (тестирование и исправление, chdbfl) и учётной (экспресс-проверка, контроль остатков). Любую процедуру, изменяющую данные, начинайте с резервной копии. Сначала диагностируйте, потом исправляйте — и проверяйте результат в пользовательском режиме.
Часто задаваемые вопросы
Можно ли запускать тестирование и исправление, пока пользователи работают в базе?
Нет, процедура требует монопольного доступа к базе. Все сеансы должны быть завершены, иначе конфигуратор выдаст ошибку разделения доступа. В клиент-серверном варианте работающие пользователи дополнительно создают риск блокировок, поэтому проверку планируют на нерабочее время.
Чем отличается выгрузка в dt от копирования файла базы?
Копирование файла 1Cv8.1CD сохраняет базу как есть, включая возможные повреждения, но делается быстро. Выгрузка в dt — это логическая выгрузка данных через конфигуратор; она занимает больше времени, но при загрузке из dt структура базы создаётся заново, что иногда само по себе устраняет мелкие дефекты. Для надёжности перед серьёзными работами делают оба варианта.
Документ не проводится, а сообщение об ошибке непонятно. Что делать?
Скопируйте полный текст сообщения и проверьте указанные в нём объекты: реквизиты документа, остатки по регистрам, дату запрета изменения данных. Часто причина в закрытом периоде, отсутствии товара на складе на дату документа или незаполненном договоре. Если сообщение ссылается на программную ошибку, проверьте наличие обновлений конфигурации — возможно, это известная ошибка, исправленная в свежем релизе.
Как часто нужно делать тестирование и исправление базы?
Регулярно запускать его «для профилактики» не требуется — это инструмент устранения проблем, а не регламентная операция. Достаточно выполнять проверку при появлении симптомов: ошибки, сбои, битые ссылки. Регламентными должны быть другие процедуры: резервное копирование, обновление статистики и реиндексация средствами СУБД для клиент-серверных баз.
Нашлись дубли контрагентов. Удалять их вручную?
Нет, ручное удаление опасно: на элемент могут ссылаться документы, и после удаления появятся битые ссылки. Используйте штатную обработку «Поиск и удаление дублей» — она заменяет все ссылки на выбранный «правильный» элемент и только потом помечает дубли на удаление. После этого выполните удаление помеченных объектов штатной обработкой с контролем ссылочной целостности.
Экспресс-проверка показала ошибки, но отчёты вроде правильные. Можно игнорировать?
Не стоит. Экспресс-проверка выявляет условия, которые могут не влиять на текущие отчёты, но проявятся позже — например, при формировании регламентированной отчётности или закрытии года. Разберите каждое замечание: часть может оказаться следствием особенностей вашего учёта, но большинство указывает на реальные ошибки в документах, которые проще исправить сразу.