Обрезание базы 1С

Публикация № 1822143 27.03.23

База данных - Свертка базы

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

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

Обрезание базы 1С

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для переноса остатков в конфигурации новой базы должен быть документ КорректировкаЗаписейРегистров. Это стандартный документ для типовых конфигураций. В самописных или нетиповых конфигурациях этот документ необходимо добавить.

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

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

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

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

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

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

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

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

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

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

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

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

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

1.Перенести ДКорректировкаЗаписейРегистров

Перенести s_ОбъектыДоСреза

Сдвинуть документы где Дата среза между Датой движений и Датой документа

Удалить Предопределенные в базе 2

2.Отправка констант

Отправка пользователей ИБ

Отправка ссылочных объектов

Отправка независимых регистров сведений (*s_ИсторияОбъектов)

4.Отправка среза подчиненных регистров

5.Загрузка документов из регистра Объекты до среза

6.Отправка измененных объектов через узел обмена

7.Запрет проведения после среза

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

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

C:UsersEldarAppDataLocalMicrosoftWindowsINetCacheContent.WordA533;1_подключение.png

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

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

C:UsersEldarAppDataLocalMicrosoftWindowsINetCacheContent.WordA533;3_МД.PNG

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

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

C:UsersEldarAppDataLocalMicrosoftWindowsINetCacheContent.WordA533;4_Запуск.png

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

 

Все

Наименование Файл Версия Размер

531 2 7200 руб.

Техподдержка

Наименование Файл Версия Размер

1 2400 руб.

531 0 1000 руб.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. TelekaevAB 29.03.23 11:29 Сейчас в теме
Для какой конфигурации подойдёт эта обработка?
2. rudsergo 31.03.23 08:50 Сейчас в теме
Добрый день! Можно ли Вашими силами реализовать и перенос регистров бухгалтерских. Конфигурация 1с:Бухгалтерия ред.2?
Оставьте свое сообщение

См. также

Быстрая свертка базы для УТ 10.3

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

Обработка позволяет сделать процесс свертки базы данных намного более быстрым и удобным.

8400 руб.

31.01.2022    6305    10    5    

11

Свертка базы УНФ для 1.6

Свертка базы Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Управленческий учет Платные (руб)

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

4800 руб.

20.04.2021    12973    42    33    

49

Свертка базы - или как свернуть базу УТ 10.3

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

Как свернуть УТ 10.3. Цель свертки - свернуть остатки по товарам и по взаиморасчетам с контрагентами.

5520 руб.

04.04.2019    47572    270    44    

84

Правильная свертка или свертка базы по правилам

Свертка базы Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Обработка "Свертка базы по правилам" предназначена для свертки информационных баз системы программ "1С:Предприятие" версии 8.2. Основой обработки являются специальные правила свертки, которые создаются индивидуально для каждой конфигурации информационной базы. Встроенный в обработку генератор правил позволяет быстро создать правила свертки для любой конфигурации. Например, для конфигурации "1С:Бухгалтерия 8, ред. 3.0" правила свертки были созданы за 15 минут!

2400 руб.

22.07.2013    156794    587    527    

385

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

Обмен между базами 1C Оптовая торговля Свертка базы Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Хотите точно знать, что вы выгружаете? Хотите сворачивать товары по НДС или фильтровать товары по доп. реквизиту? Вы волшебник, которому необходимо превращать одних контрагентов в других? Хотите при выгрузке превратить группу товаров в один? Или просто нужен удобный OLE обмен между 1C Управление торговлей (ред. 11 или 10) и 1С Бухгалтерия предприятия (ред. 2 или 3). Тогда эта обработка для вас!

10900 руб.

19.04.2013    161068    335    390    

320

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

Свертка базы Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Разработка универсальна, работает на любой конфигурации, на версиях платформ 8.1 и 8.2. Исходные коды открыты. Усекаются сразу все разделы учета (регистры бухгалтерии, регистры накопления, регистры сведений). Разработка представляет из себя cf-файл с одним единственным документом: ЗакрытиеПериода. В нём содержится функционал как по заполнению, так и по очистке регистров. Так же для версии 8.2 возможна переброска данных в "чистую" базу нажатием одной кнопки.

4000 руб.

21.02.2011    105034    111    246    

299