В процессе длительной эксплуатации 1С:Розница размер информационной базы может значительно увеличиться, что приводит к замедлению работы системы. Когда количество документов, например чеков, исчисляется миллионами, стандартная свертка становится ресурсоемкой задачей. Рассмотрим, как эффективно решить проблему переноса справочников и цен в новую базу, а также как облегчить текущую конфигурацию.
Перед тем как принимать решение о создании новой базы, попробуем уменьшить объем текущей. Часто база «раздувается» из-за накопления служебной и вспомогательной информации.
ЗамерыВремени. Очистка этого регистра часто позволяет значительно уменьшить размер базы без ущерба для бизнес-процессов.Ввод начальных остатков, которые зафиксируют состояние учета на определенную дату, сохранив при этом актуальные цены и остатки.Если принято решение о создании «чистой» базы, перенос данных лучше выполнять поэтапно, чтобы избежать проблем с нарушением ссылочной целостности.
Для переноса справочников используйте штатную обработку ВыгрузкаЗагрузкаДанныхXML83, которая входит в состав библиотеки стандартных подсистем (БСП). Основные шаги:
Штрихкоды необходимо выгружать отдельным этапом. При загрузке убедитесь, что сопоставление объектов происходит по GUID, чтобы связи между товаром и его штрихкодом сохранились.УстановкаЦенНоменклатуры.Для переноса актуальных цен и остатков рекомендуем следующий подход:
УстановкаЦенНоменклатуры. Это позволит перенести только «живые» цены, которые используются в текущем периоде.Приказ на пересчет товаров в старой базе, выгрузите его, а затем загрузите в новую базу как документ Оприходование товаров. Это гарантирует, что в новой системе будет только корректный актуальный остаток товаров.Пример логики для формирования документа установки цен может выглядеть следующим образом:
// Пример заполнения документа установки цен
ДокументОбъект = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
ДокументОбъект.Дата = ТекущаяДата();
// Далее заполняем табличную часть данными из запроса к регистру цен
// ...
ДокументОбъект.Записать();
При переносе данных всегда обращайте внимание на следующие аспекты:
ВыгрузкаЗагрузкаДанныхXML83 всегда выбирайте только необходимые объекты. Избыточный перенос может привести к копированию огромного количества ненужных ссылок, что снова приведет к раздуванию базы.ЕдиницыИзмерения и ВидыНоменклатуры. Если при загрузке они не будут найдены, данные не загрузятся корректно.ПланОбмена. Это самый надежный способ поддерживать идентичные конфигурации в актуальном состоянии, так как система сама отслеживает изменения в объектах.Подводя итог, можно сказать, что перенос данных — это отличная возможность «оздоровить» информационную базу, избавившись от накопленного годами «мусора». Используйте комбинированный подход: очистку временных регистров для текущей базы и точечный перенос справочников и остатков для формирования новой.