При длительной эксплуатации распределенных информационных баз (УРБД) на платформе 1С:Предприятие 7.7 объем накопленных исторических данных приводит к замедлению работы, разрастанию таблиц и длительному формированию пакетов автообмена. Стандартная процедура свертки или удаления неактуального ассортимента штатным механизмом генерирует миллионы записей регистрации изменений в служебной таблице. В результате при очередной выгрузке формируется огромный файл обмена, загрузка которого способна парализовать работу периферийных узлов на длительное время.
Разберем, как правильно организовать процедуру автономной обрезки центральной базы (ЦБ) и периферийных баз (ПБ) так, чтобы массивы удаляемых исторических данных не мигрировали по каналам связи, а обмен продолжил функционировать стабильно.
Рассмотрим основной и наиболее гибкий сценарий, при котором обрезка выполняется непосредственно в рабочей центральной базе, после чего накопленные изменения принудительно обнуляются.
Разберем по шагам строгую последовательность действий:
Документ.ВводОстатков или универсальный корректировщик регистров), в конфигураторе для данного метаданного устанавливаем правило миграции «Все базы» (если остатки должны уйти в ПБ) либо «Место создания» (если в каждом узле остатки будут формироваться автономно).Удалить() и Записать() регистрируют каждую операцию, очищаем таблицу 1SUPDTS (или _1SUPDTS в формате SQL). Чтобы не затереть новые важные объекты, которые могли создаваться параллельно, рекомендуется точечно очищать записи по идентификаторам удаленных типов метаданных, либо полностью занулять таблицу, если перед сверткой был выполнен полный обмен.1SUPDTS выполняется автономно на стороне каждой периферийной базы.Проанализируем альтернативный метод, который исключает ручные манипуляции с системными таблицами УРБД. Он отлично подходит для ситуаций, когда периферийных узлов немного, а каналы связи позволяют передать компактный архив за разумное время.
Разберем порядок действий при таком подходе:
Преимущество метода: гарантируется абсолютная идентичность ссылочной структуры и отсутствие битых ссылок. Недостаток: метод не подходит для распределенных сетей с режимом работы 24/7 и узкими каналами связи.
Выясним способ ускоренной свертки без длительного прерывания работы филиалов с помощью манипуляций на уровне SQL-сервера:
Проанализируем частый вопрос: если в процессе свертки в конфигурацию добавляются новые документы (например, универсальный документ корректировки регистров), вызовет ли передача нового файла 1Cv7.MD в периферийную базу автоматический пересчет всех регистров?
Поведение платформы 1С 7.7 в данном случае строго регламентировано:
При реализации автономной схемы свертки обратите внимание на следующие нюансы:
1. Риск появления битых ссылок: если в ПБ задним числом будет введен документ, содержащий ссылку на позицию номенклатуры, которая уже физически удалена из ЦБ, то при последующем обмене в центральной базе данный реквизит отобразится как «Объект не найден». Удалять номенклатуру следует только тогда, когда она гарантированно вычищена из всех табличных частей на всех узлах.
2. Границы последовательностей: после массового удаления документов прошлых периодов необходимо программно или интерактивно скорректировать границу последовательности документов (таблица 1SSTREAM), чтобы предотвратить попытки системы перепровести удаленный исторический период при первом же проведении документа задним числом.