Работа с файловой базой данных 1С часто сопряжена с техническими ограничениями. Когда объем файла 1Cv8.1CD достигает значительных размеров (в нашем случае 14,5 Гб), система начинает работать нестабильно. Это происходит из-за внутреннего ограничения файлового формата: размер одной таблицы не может превышать 4 Гб. Если этот порог пройден, программа может закрываться с ошибкой через несколько секунд после запуска. Рассмотрим подробнее, как решить эту проблему, сохранив корректность учета и данные по акцизным маркам.
Прежде чем приступать к радикальным мерам вроде свертки, проанализируем, чем именно занято место. В конфигурации 1С:Розница основными «пожирателями» пространства часто являются не сами документы, а технические данные и история изменений. Разберем основные узлы, которые стоит проверить:
ЗамерыПроизводительности способен раздуться до нескольких гигабайт. Его очистка абсолютно безопасна для учета._InfoRg (хранилище версий) может занимать до 80% объема базы.1Cv8FTxt также могут занимать значительное место, затрудняя работу файловой системы..lgf или .lgp) не влияют на размер .1CD, но замедляют дисковые операции.Если база еще открывается, попробуем сначала «облегчить» её без потери оперативных данных. Выясним причину через стандартные средства. Зайдем в «Администрирование» — «Обслуживание» — «Отчеты администратора» — «Анализ клиент-серверного варианта работы» (даже в файловой базе этот отчет покажет распределение места по таблицам).
Выполним следующие шаги для очистки:
.1CD не освобождается сразу после удаления записей. Нужно запустить Configurator, выбрать «Администрирование» — «Тестирование и исправление» и обязательно отметить пункт «Сжатие таблиц информационной базы».Если штатная свертка в 1С:Розница дает некорректные результаты (остатки различаются в 10 раз), наиболее надежным способом будет перенос данных в идентичную пустую базу. Разберем по шагам, как это сделать правильно.
Шаг 1: Подготовка конфигурации. Создадим пустую информационную базу из того же шаблона (той же версии), что и текущая. Это гарантирует совпадение метаданных.
Шаг 2: Перенос справочников. Воспользуемся стандартной обработкой УниверсальныйОбменДаннымиXML. Посмотрим на настройки: нам нужно перенести все справочники («Номенклатура», «Контрагенты», «Склады», «Дисконтные карты» и т.д.). Важно сохранять уникальные идентификаторы (GUID), чтобы в будущем не возникло проблем с сопоставлением данных.
Шаг 3: Перенос остатков. Вместо использования сложного механизма свертки, сформируем отчет «Ведомость по товарам на складах» на дату отсечения. На основании этих данных создадим документы ВводОстатковПоСкладам в новой базе. Проанализируем ситуацию с ценами: также потребуется перенести актуальные документы УстановкаЦенНоменклатуры, чтобы розничные продажи могли продолжаться.
Для магазинов, торгующих алкоголем, обычного переноса остатков недостаточно. Акцизные марки требуют особого внимания. Рассмотрим, какие данные критически важны:
Номенклатура и справочником АлкогольнаяПродукцияЕГАИС. Если при переносе эти связи разорвутся, вы не сможете корректно отправить отчет в УТМ.Для переноса этих данных лучше всего использовать написание небольшого кода, который выгрузит записи регистров сведений. Пример логики для программиста:
// Пример логики выборки записей для переноса
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| АкцизныеМаркиЕГАИС.НомерУпаковки,
| АкцизныеМаркиЕГАИС.Штрихкод
|ИЗ
| РегистрСведений.АкцизныеМаркиЕГАИС КАК АкцизныеМаркиЕГАИС";
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
// Запись в новую базу через COM-соединение или XML
КонецЦикла;
Выясним причину, по которой остатки после свертки «разлетаются». Чаще всего это происходит из-за отрицательных остатков. Если на момент свертки по складу числится «минус 10 штук» товара, а приходом за период было «100 штук», система может некорректно схлопнуть движения, если документы не были перепроведены или нарушена последовательность партионного учета.
Перед началом свертки необходимо:
Рассмотрим ситуацию, когда оптимизация помогает лишь временно. Если бизнес растет, 15 Гб — это явный сигнал к переходу на SQL. Рассмотрим преимущества:
Во-первых, снимается ограничение в 4 Гб на таблицу. Во-вторых, надежность данных в SQL версии на порядок выше. Если бюджет ограничен, можно использовать бесплатную PostgreSQL и лицензию на сервер 1С (для малого бизнеса существуют специальные лицензии на 5-10 пользователей по доступной цене).
Проанализируем железо: если файловая база «загибается», проверьте скорость диска. Использование SSD (особенно NVMe) вместо HDD значительно ускорит процесс свертки и тестирования базы, сократив время простоя магазина с нескольких дней до нескольких часов.
Разберем краткий алгоритм действий для спасения базы 1С:Розница:
Следуя этим шагам, мы сможем вернуть работоспособность системе и обеспечить быструю работу кассовой зоны без ошибок и вылетов.