При активной работе в конфигурации «Торговля и Склад» редакции 9.2 на платформе 1С 7.7 в файловом режиме (DBF) часто возникает критическая ошибка с кодом -10, -100 или -120 при открытии нового месяца или проведении документов. Данная проблема указывает на то, что один из файлов базы данных достиг физического предела файловой системы DBF — 2 ГБ (2 147 483 647 байт). В частности, файл RG4674.dbf отвечает за хранение рассчитанных итогов регистра накопления «Заявки» (или «Заказы покупателей»). Разберем по шагам, почему разрастается этот файл и какими способами можно уменьшить его размер, вернув работоспособность системе.
Регистр «Заявки» в типовой конфигурации является остаточным. Это означает, что при проведении документа «Заявка покупателя» формируется приход в регистр. Чтобы запись закрылась, должен произойти расход — оформление документа «Реализация» или специального документа отмены.
Проанализируем механизм работы движка 1С 7.7 с файлами итогов:
RG*.dbf попериодно (обычно по месяцам). Если запись регистра не закрылась в текущем месяце, платформа автоматически дублирует комбинацию всех измерений этого остатка на конец следующего месяца, затем на конец следующего и так далее до текущей даты.RG4674.dbf в каждом новом периоде. В итоге размер таблицы перешагивает порог в 2 ГБ.Частая ошибка при попытке решить проблему — изменить код проведения документов (убрать движения по регистру), перепровести документы и выполнить стандартную процедуру «Упаковка таблиц». В результате размер файла RG4674.dbf не только не уменьшается, но может даже немного вырасти.
Рассмотрим причину такого поведения платформы:
RA*.dbf).RG*.dbf продолжат хранить накопленные ранее виртуальные остатки до тех пор, пока не будет выполнен полноценный пересчет итогов регистров.Самое правильное решение с точки зрения методики учета 1С — закрыть все зависшие остатки специальными документами. Для этого в конфигурации «Торговля и Склад» предусмотрен документ Отмена заявок покупателей.
Рассмотрим алгоритм действий по шагам:
RA4674.dbf и полностью обнулит остатки по зависшим заявкам.После обнуления остатков при пересчете итогов платформа удалит пустые записи из файла RG4674.dbf за все последующие периоды, и файл уменьшится в несколько раз.
Если бизнес-процесс компании не требует анализа невыполненных покупательских хотелок и менеджеры не работают с отчетами по заявкам, движения по регистру можно отключить. Однако делать это нужно строго в определенной последовательности.
Разберем порядок выполнения работ:
Заявка покупателя (а также в документах Реализация, Отмена заявок и других, обращающихся к этому регистру).В критических ситуациях, когда файл RG4674.dbf уже ровно 2 ГБ и платформа не позволяет запустить штатные процедуры проведения или тестирования из-за ошибок доступа, применяют метод пересборки таблицы итогов.
Важно: Перед выполнением процедур обязательно создайте полную резервную копию каталога базы данных.
Проанализируем шаги выполнения сброса:
RG4674.dbf.RG4674.dbf сторонним DBF-редактором (удалив все записи) либо заменим его пустым аналогичным по структуре файлом. Файл индекса RG4674.cdx можно удалить — платформа пересоздаст его автоматически.RG4674.dbf на основе существующих записей в таблице движений RA4674.dbf.Если регистр «Заявки» не используется ни в одном из отчетов и резервирование товаров оформляется отдельным регистром «РезервыТМЦ», данный регистр является избыточным.
Для полного исключения проблемы выполним следующие действия:
Заявки в отчетах и модулях документов. При необходимости перепишем логику ввода документов на основании (например, ввод Реализации на основании Заявки по табличной части документа-основания, а не по остаткам регистра).Заявки в Конфигураторе и сохраним структуру метаданных. Платформа физически удалит файлы RA4674.dbf и RG4674.dbf, что навсегда избавит базу от ошибки превышения лимита по данному объекту.Подводя итог: главная причина разрастания файлов итогов и ошибок доступа к DBF-таблицам в 1С 7.7 — наличие незакрытых остатков за прошлые периоды. Регулярная отмена просроченных заказов или своевременная очистка ненужных регистров позволяет стабильно работать в файловом режиме без сбоев.