Проблема с разрастанием таблицы rg328.dbf (регистр остатков партий) до критического порога в 2 Гб — это классическая ситуация для баз «Торговля и склад» на платформе 1С 7.7, которые ведутся много лет без свертки. Формат DBF имеет внутреннее ограничение на размер файла, и как только он достигает 1.9–2 Гб, 1С начинает выдавать ошибки записи, не позволяя открыть период или провести документ. В этой статье мы подробно разберем, как выйти из этой ситуации, используя проверенные методы сообщества 1С.
Проанализируем структуру этого файла. В конфигурации «Торговля и склад» RG328 хранит итоги (остатки) регистра «ПартииНаличие». Основные причины его аномального роста:
RG328 растет в геометрической прогрессии.Перевод базы в формат SQL полностью снимает ограничение в 2 Гб на размер таблицы. Разберем по шагам, как правильно выполнить этот переход, учитывая нюансы современных операционных систем и версий SQL.
Шаг 1: Подготовка SQL-сервера.
Важно учитывать, что бесплатные версии (Express) имеют свои ограничения на размер базы данных (от 4 до 10 Гб в зависимости от версии). Для больших баз 1С 7.7 лучше использовать SQL Server Standard. Как показал опыт автора темы, при использовании Express-версии загрузка данных может прерываться из-за достижения лимита файла .mdf.
Шаг 2: Использование «секретного релиза» или патча BkEnd.dll.
Платформа 1С 7.7 официально поддерживает только старые версии SQL (до 2005 включительно). Для работы с современными SQL Server 2012, 2016, 2018 и выше необходимо применить модифицированную библиотеку BkEnd.dll. Это позволяет 1С корректно работать с системными таблицами новых версий SQL, которые изменили свои имена (например, sysprocesses).
Шаг 3: Процесс миграции данных.
Рассмотрим правильную последовательность действий в Конфигураторе:
.zip архив).sa).Если переход на SQL пока невозможен, попробуем «похудеть» текущую DBF-базу. Выясним причину разрастания, проанализировав содержимое rg328.dbf любым DBF-редактором. Если мы видим огромное количество записей с нулевыми остатками, но старыми датами, нам поможет пересчет.
Рассмотрим радикальный, но эффективный метод очистки итогов:
rg328.dbf и rg328.cdx из каталога базы.1С заново создаст файл rg328.dbf на основе движений документов (таблица ra328.dbf). Если проблема была в «фантомных» записях, размер файла существенно уменьшится.
Существует техническая возможность заставить 1С работать с DBF-файлами размером до 4 Гб. Для этого используется замена библиотеки dbeng32.dll. Разберем плюсы и минусы этого подхода:
Плюсы:
Минусы:
.cdx начнут рассыпаться.Рассмотрим организационные меры, которые помогут избежать разрастания регистров:
RG328, которые никогда не закроются сами собой.Резюме: Если ваша база на 1С 7.7 достигла лимита в 2 Гб, оптимальным выходом будет переход на SQL Server Standard 2005/2008 (или более новый с использованием патча BkEnd.dll). Это обеспечит стабильную работу и высокую скорость, о чем и сообщил автор темы после успешной настройки.