Как перенести справочники и цены между базами 1С:Розница 2.3 и оптимизировать объем базы?

Программист 1С v8.3 (Управляемые формы) 1С:Розница Управленческий учет Торговля и дистрибуция
← На главную

В процессе длительной эксплуатации 1С:Розница размер информационной базы может значительно увеличиться, что приводит к замедлению работы системы. Когда количество документов, например чеков, исчисляется миллионами, стандартная свертка становится ресурсоемкой задачей. Рассмотрим, как эффективно решить проблему переноса справочников и цен в новую базу, а также как облегчить текущую конфигурацию.

Оптимизация текущей разросшейся базы

Перед тем как принимать решение о создании новой базы, попробуем уменьшить объем текущей. Часто база «раздувается» из-за накопления служебной и вспомогательной информации.

  1. Очистка временных данных: Проверьте регистр сведений ЗамерыВремени. Очистка этого регистра часто позволяет значительно уменьшить размер базы без ущерба для бизнес-процессов.
  2. Работа с чеками: Не обязательно удалять все чеки сразу. Можно выполнять удаление архивных данных поэтапно, например, за один год за раз, чтобы не перегружать транзакционный лог сервера базы данных.
  3. Свертка базы: После частичного удаления ненужных данных выполните стандартную свертку. В результате будут созданы документы Ввод начальных остатков, которые зафиксируют состояние учета на определенную дату, сохранив при этом актуальные цены и остатки.

Перенос НСИ и цен в новую базу

Если принято решение о создании «чистой» базы, перенос данных лучше выполнять поэтапно, чтобы избежать проблем с нарушением ссылочной целостности.

Для переноса справочников используйте штатную обработку ВыгрузкаЗагрузкаДанныхXML83, которая входит в состав библиотеки стандартных подсистем (БСП). Основные шаги:

  1. Перенос справочников: Выгрузите необходимые справочники (Контрагенты, Номенклатура, Виды номенклатуры). Система автоматически подтянет связанные объекты.
  2. Перенос штрихкодов: Помните, что регистр Штрихкоды необходимо выгружать отдельным этапом. При загрузке убедитесь, что сопоставление объектов происходит по GUID, чтобы связи между товаром и его штрихкодом сохранились.
  3. Перенос цен: Так как типовые механизмы не всегда позволяют корректно перенести динамику цен, рекомендуется автоматизировать процесс через создание документа УстановкаЦенНоменклатуры.

Алгоритм формирования цен и остатков

Для переноса актуальных цен и остатков рекомендуем следующий подход:

  1. Создание документа установки цен: Напишите обработку, которая собирает текущие цены по видам цен и формирует документ УстановкаЦенНоменклатуры. Это позволит перенести только «живые» цены, которые используются в текущем периоде.
  2. Перенос остатков: Воспользуйтесь функционалом инвентаризации. Создайте Приказ на пересчет товаров в старой базе, выгрузите его, а затем загрузите в новую базу как документ Оприходование товаров. Это гарантирует, что в новой системе будет только корректный актуальный остаток товаров.

Пример логики для формирования документа установки цен может выглядеть следующим образом:


// Пример заполнения документа установки цен
ДокументОбъект = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
ДокументОбъект.Дата = ТекущаяДата();
// Далее заполняем табличную часть данными из запроса к регистру цен
// ...
ДокументОбъект.Записать();

Важные рекомендации по работе с объектами

При переносе данных всегда обращайте внимание на следующие аспекты:

Подводя итог, можно сказать, что перенос данных — это отличная возможность «оздоровить» информационную базу, избавившись от накопленного годами «мусора». Используйте комбинированный подход: очистку временных регистров для текущей базы и точечный перенос справочников и остатков для формирования новой.

← На главную