Обрезание (сворачивание) базы 1С

Механизм обрезки (свертки) базы 1С. Описан процесс переноса среза остатков в новую базу. Реализован способ обмена между базами без длительного отключения рабочей базы. Представлено прикладное решение - обработка по переносу данных. Есть 2 варианта запуска: на обычных и управляемых формах. Поставляется как часть программного продукта «Обработка Командер 1С», описанного в статье автора https://infostart.ru/public/682078/.

Арт.: 1822143

Продано: 14

1.png
6.png
1.png
2.png
3.png
1.png
6.png
1.png
2.png
3.png
Лицензии

7200 руб.

Техподдержка и обновления

3600 руб.

3000 руб.

Обрезание (сворачивание) базы 1С

Для оптимизации базы 1С применяют операцию обрезания. Это позволяет экономить место на диске, экономить время архивирования базы и скрыть архивные данные.

Обрезание базы происходит следующим образом. Выбирается дата среза, с которой в базе ведется учет по документам. До даты среза удаляются все документы. Вместо этих документов переносятся все остатки и данные периодических регистров сведений на дату среза.

Таким образом из базы можно вырезать блок данных, например, все документы до начала текущего года. Перенесенные остатки на дату среза позволят продолжить работу в штатном режиме. Теоретически, база должна работать как раньше, до обрезания. На практике возникает много нюансов, связанных с заменой движений документов на итоговые данные на дату среза.

В данной статье рассмотрены проблемы, с которыми столкнулся автор при обрезании рабочей базы 1С. Также представлена обработка, с помощью которой переносились данные.

Поставляется как часть программного продукта «Обработка Командер 1С», описанного в статье автора //infostart.ru/public/682078/.

К статье приложена видео-инструкция, где подробно рассмотрен процесс обрезания базы.

Технические требования

Обработка тестировалась на платформе 8.3.9.2170, обработка универсальна, поэтому будет работать и на более поздних версиях платформы.

Перенос данных в исходной базе работает в толстом и в тонком клиенте.

Есть ограничение по регистрам. Регистры расчета (Зарплата) не доступны для отправки, т.к. на практике не было необходимости их переносить.

Поэтапный перенос данных в новую базу

В начале был вопрос как делать обрезание базы. Рассматривались такие варианты

1. остановить рабочую базу (выгнать всех пользователей), в рабочей базе перенести остатки на дату среза и удалить все документы до даты среза с движениями.

2. остановить рабочую базу и перенести данные в новую базу.

3. создать узел обмена в рабочей базе для ведения списка измененных объектов, перенести данные в новую базу, по узлу обмена перенести объекты, которые были изменены/созданы во время переноса данных.

Рабочую базу надо было обрезать на 3 месяца назад. В базе накопились документы за 6 лет работы. Удаление документов с движениями заняло бы неделю. Останавливать на такое долгое время рабочую базу, естественно, нельзя. Поэтому первый вариант был отвергнут сразу. Также и 2 вариант был не пригоден, т.к. в момент переноса вылезло много ошибок и ньюансов, которые приходилось решать. Да и сам перенос занял сутки, что тоже критично для крупного предприятия.

Поэтапный перенос без остановки рабочей базы по 3 варианту позволил решить все проблемы по созданию обрезанной копии рабочей базы с актуальными данными не отключая пользователей.

Подготовка конфигурации

Конфигурацию новой базы берем из рабочей базы, т.к. все алгоритмы должны также работать и метаданные должны полностью соответствовать для копирования объектов.

Для переноса остатков в конфигурации новой базы должен быть документ КорректировкаЗаписейРегистров или ОперацияБух (для БП). Это стандартный документ для типовых конфигураций. В самописных или нетиповых конфигурациях этот документ необходимо добавить. Этот функционал не получается сделать универсальным под все конфигурации, т.к. остатки по регистрам в 1С нельзя записать без документа-регистратора. Соответственно необходимо учитывать специфику конфигурации: нужным документом вводить остатки. Обработка на данный момент автоматически перенесет остатки в следующих конфигурациях: УТ11, БП3, Альфа-Авто.  

Ссылки на документы до среза

На практике был добавлен регистр сведений _ОбъектыДоСреза в новую конфигурацию. Этот регистр нужен для учета документов, которые заведены до даты среза и на которые будут ссылки при переносе данных. Например, документы-партии в регистре «Товары на складах» при партионном учете. При переносе данных, если склад не пустой, то очень вероятно, что остатки будут на документах-партиях, заведенных до даты среза. Соответственно, в отчетах по складу вместо этих документов будут ссылки без объектов, многих пользователей это пугает. Также может быть большая проблема при проведении документов по партиям, т.к. в этих алгоритмах документы-партии сортируются по дате. Ссылка без объекта выдаст ошибку.

При переносе данных анализируются все ссылочные объекты. Если встречается документ до даты среза, то записываем ссылку на него в регистр _ОбъектыДоСреза. После переноса всех объектов в новую базу переносим все документы из регистра без движений. Естественно, делаем запрет в новой базе на проведение документов до даты среза во избежание дублирования движений.

Документы со смещенными движениями

В 1С версии 8 появилась возможность у документов делать движения на произвольную дату, не только на дату самого документа. В базе могут быть документы до даты среза, имеющие движения после даты среза. Такие документы не перенесутся вообще либо перенесутся без движений. На практике такие документы искусственно корректируются так, чтобы все движения были за одну дату, которая равна дате документа.

Удаление предопределенных документов

При отправке ссылочных объектов (справочники, документы и др.) в новую базу внутренние идентификаторы этих объектов копируются. Это самый надежный способ соответствия объектов старой и новой базы. Связь по реквизитам не так удобна, т.к. все поля можно изменить (можно завести несколько элементов справочников с одним кодом и наименованием) и все ссылки можно стандартизировать (они задаются видом объекта и идентификатором).

Проблема возникает с предопределенными элементами. При создании новой базы во время первого обновления базы данных предопределенные элементы создаются с новыми идентификаторами, отличными от идентификаторов из старой базы. Решается эта проблема просто: удалением всех предопределенных элементов до начала переноса. При переносе эти объекты создадутся, как и непредопределенные, с нужными внутренними идентификаторами.

Непосредственный перенос данных

Порядок переноса данных можно менять. Но можно выделить первичные и вторичные объекты. Вторичные объекты ссылаются на первичные, м.б. за небольшим исключением.

К первичным объектам можно отнести: Константы, Пользователи, Справочники, Планы видов характеристик, Планы счетов.

К вторичным объектам можно отнести: Документы и Регистры.

Примерный план переноса данных

    1.Добавить в конфигурацию документ по записи остатков в регистры, при отсутствии (КорректировкаРегистров,ОперацияБух,др)
      В конфигурацию-приемнике (временно):
              Добавить регистр сведений _ОбъектыДоСреза, _Параметры (из файла конфигурации)
              Удалить регламентные задания, подписки на события
      Сдвинуть документы где Дата среза между Датой движений и Датой документа
      Переименовать реквизит Заблокирован для справочников (Встречался у Контрагентов)
      (!) В модуле перечислений могут совпадать экспортные методы (Проц./Функ.) с именем одного из значений перечисления, переименовать методы временно.
      Установить версия совместимости минимум Версия 8.3.6 (до 8.3.10 не возникает ошибка создания таблиц с 1 номером).
      Создать в исходной конфигурации план обмена со всеми Спр,Док,ПВХ для учитывания изменений во время переноса данных (если нет)
      Запрет редактирования в исходной базе на дату среза
    2.Выгрузить предопределенные (Справочники,Планы видов характеристик,Планы счетов)
      Создать узел обмена для добавленного плана обмена
      Отправка справочников,планов видов характеристик,Задач,Бизнес-процессов
      Отправка констант,планов обмена
    3.Отправка остатков остаточных регистров накопления
      Отправка регистров сведений (выборочно)
      Отправка регистров бухгалтерии (при наличии)
    4.Отправка документов
    5.Регистрация документов с разным количеством движений
      Загрузка документов из регистра Объекты до среза
      Отправка пользователей ИБ
    6.Отправка измененных объектов через узел обмена
    7.Загрузка оригинальной конфигурации в обрезанную базу

      Установка даты запрета изменения данных после среза (рекомендуется)

Обработка переноса данных

Для создания обрезанной копии исходной базы необходимо подготовить конфигурацию как было описано ранее. В исходной базе запускается обработка «Командер 1С».

На закладке «Конфигурация» устанавливаем флаг «Итоги» чтобы увидеть общее количество объектов по видам метаданных. Можно наложить условие вывода, например, выводить только те метаданные, в которых заведен хотя бы 1 объект текущей базы.

Далее на вкладке "База" задаем параметры подключения к новой базе. Допускается файловый и серверный варианты подключения.

При успешном подключении появится зеленая надпись «Подключено…» и справа внизу появится надпись "Внешняя база".

Далее возвращаемся во вкладку "Конфигурация" и поэтапно выбираем виды метаданных с помощью клавиши Shift и мышки. Выбираем действие "Выгрузить обрезанную базу", задаем дату среза и вспомогательный счет (если необходимо будет переносить проводки). Для некоторых видов метаданных можно указать отбор по любым полям объекта, если не всё нужно переносить (либо доотправить необходимо часть объектов).

После настройки всех параметров запускаем обмен по кнопке «Выполнить».

После выполнения выгрузки появится сообщение о результате выполнения операций.

В тонком клиенте функционал аналогичен.

К статье приложена подробная практическая видео-инструкция по сворачиванию базы Альфа-Авто.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.150.29

Достоинства

- Перезапись предопределенных элементов для достижения одинаковых внутренних идентификаторов между исходной и обрезанной базой. При обновлении базы данных в обрезанной базе предопределенные элементы создаются с новыми внутренними идентификаторами. В обработке есть функция по перезаписи таких элементов (счета плана счетов, предопределенные справочники и планы видов характеристик), описано в инструкции.

- Пошаговый, выборочный перенос данных. В приложенной инструкции описана методика переноса тяжелых объектов в условии нестабильного сеанса. Бывают перегруженные базы, перенос данных из которых даже по 1 виду метаданных может занять несколько дней. Предложено решение через сортировку отправляемых данных и протоколирование процесса переноса.

- Обработка позволяет использовать произвольные отборы при переносе данных. Отборы можно применять выборочно для разных видов объектов. Позволяет урезать нежелательную информацию. Отборы задаются аналогично выражениям в языке запросов 1С, любой сложности.

- Вычисление планируемого времени выполнения процесса. Для длительных операций обработка показывает, сколько времени потребуется для завершения при текущей скорости процесса (примерно).

- Отправка электронного письма по завершению переноса переноса.

- Возможность отправлять объекты, зарегистрированные в плане обмена. С помощью этой функции можно не прерывать работу в исходной базе при переносе данных. По окончанию основного переноса данных измененные во время переноса объекты можно точечно выгрузить по узлу плана обмена. По данной методике остановка рабочей базы составит несколько минут.

Статистика:
Просмотры 5736
Загрузки 14
Рейтинг 18
Создание 27.03.23 10:10
Обновление 31.08.24 11:05
№ Публикации 1822143
Характеристики:
Теги

1С обрезание базы обрезка базы свертка базы сворачивание базы сжатие базы обмен данными перенос данных обмен между базами

Рубрики Свертка базы
Кому Системный администратор ,
Программист
Тип файла Внешняя обработка (ert,epf)
Платформа 8.3.8
Конфигурация Конфигурации 1cv8 ,
1С:Бухгалтерия 3.0
Операционная система Не имеет значения
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Управленческий учет
Доступ к файлу Платные (руб)
Код открыт Да
Наименование Файл Версия Размер
Конфигурация для добавления объектов в новую базу .cf 261,62Kb 0 Скачать
Инструкция Обрезание (сворачивание) базы .mp4 921 193,76Mb 2 Скачать
1. TelekaevAB 29.03.23 11:29 Сейчас в теме
Для какой конфигурации подойдёт эта обработка?
2. rudsergo 31.03.23 08:50 Сейчас в теме
Добрый день! Можно ли Вашими силами реализовать и перенос регистров бухгалтерских. Конфигурация 1с:Бухгалтерия ред.2?

Оставьте свое сообщение

См. также

Database Compression Tool (DCT) Универсальный инструмент сжатия, свертки и конвертации баз данных 1С

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и в...

8400 7140 руб.

SALE! 15%

Многофункциональная выгрузка из 1С:УТ 11/ УТ 10 в 1С:БП2, БП3 (соответствия товаров, контрагентов, складов, статей ДДС)+Свёр...

Хотите точно знать, что вы выгружаете? Хотите сворачивать товары по НДС или фильтровать товары по доп. реквизиту? Вы волшебник, которому необходимо превращать одних контрагентов в других? Хотите при выгрузке превратить группу товаров в один...

10900 руб.

Свертка информационной базы для 1С: УНФ 1.6

Обработка свертки базы 1С УНФ 1.6 выполнена в виде расширения конфигурации, которое встраивается в вашу базу без снятия с поддержки, и адаптирована под релиз УНФ 1.6.

4800 руб.

Универсальная свертка базы 1С:Предприятие 8

Разработка универсальна, работает на любой конфигурации, на версиях платформ 8.1 и 8.2. Исходные коды открыты. Усекаются сразу все разделы учета (регистры бухгалтерии, регистры накопления, регистры сведений). Разработка представляет из себя...

4800 руб.

Оптимизированная свертка информационной базы 1С 8.3 Бухгалтерии 3.0

Расширение позволяет за 1-2 дня свернуть информационную базу 1С Бухгалтерии 3.0 с десятками миллионов документов. Использует оптимизированный алгоритм определения документов, на которые нет ссылок, для последующего удаления 16 фоновыми зада...

38400 руб.

Обработка "Командер 1С"

Внешняя обработка с разнообразным функционалом для расширения возможностей любой конфигурации 1С. Работает автономно в толстом и тонком клиентах. Инструмент для обработки данных, восстановления и исправления ошибок. Функции обработки структ...

7200 руб.