Как делать свертку базы. Что такое свертка информационной базы данных и для чего она нужна? Как осуществляется свертка

  • 21.01.2024

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

1С v7.7 считается устаревшей на данный момент, но есть компании которые до сих пор ей пользуются. Так как прогресс не стоит на месте, то большинство 1С-специалистов давно переквалифицировались на платформу 1С:v8 и забыли "семерку", следовательно и заниматься ей не хотят. В этой статье я расскажу вам о том, как свернуть базу (выполнить архивацию периода). Свертку базы я выбрал не случайно, дело в том, что у тех, кто сейчас пользуется "семеркой" конфигурации баз очень сильно изменены и стандартными средствами воспользоваться не получится. Данная статья будет написана опираясь на конфигурацию основанную на 1С: Торговля и Склад 9.2.

Лирическое отступление: Все обработки представленные здесь принадлежат своим авторам и я ни в коей мере не претендую на их авторство.

Введем обозначения:

  1. Полная база - наша рабочая база, которую будем сворачивать.
  2. Пустая база - база содержащая только константы и справочники.
  3. База без документов - база содержащая в себе остатки, но не содержащая документы движения за период.
  4. Свернутая база - база содержащая остатки и документы движения за период.

Итак, разработаем небольшой алгоритм для выполнения свертки базы:

  1. Проверка информационной базы на ошибки;
  2. Добавление в конфигурацию документа для работы с регистрами;
  3. Создание копии информационной базы;
  4. Удаление всех документов и периодических реквизитов из базы;
  5. Формирование и перенос остатков из "Полной базы" в "Пустую";
  6. Перенос документов осуществляющих движение за период свертки из "Полной базы" в "Базу без документов" ;
  7. Проведение документов и восстановление последовательностей в "Свернутой базе".

А теперь каждый шаг по порядку с картинками и разъяснениями:

1. Проверка информационной базы на ошибки - данный шаг осуществляется в конфигураторе. (Администрирование - Тестирование и исправление).

Теперь нужно настроить процесс тестирования и исправления, для этого нажмем кнопку "Настройка":

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

2. Добавление в конфигурацию документа для работы с регистрами - данный документ позволяет нам создать документ содержащий данные нужного нам регистра. Скачать документ можно . Внутри архива есть пояснение как добавить документ в базу, но я продублирую это здесь. Открываем конфигуратор и вызываем мастера объединений конфигураций (Конфигурация-Объединение конфигураций), откроется окно выбора файла конфигурации. Укажем путь к месту куда распаковали и выберем файл 1Cv7.MD.

Нам нужен только один документ, поэтому убираем все галочки кроме "Документы", проверяем что бы переключатели внизу окна стояли как на скриншоте и нажимаем "OK". Программа добавит документ и откроет конфигурацию. Теперь необходимо сохранить изменения, для этого нужно нажать кнопку "Сохранить" и принять изменения.

3. Создание копии информационной базы - здесь все банально, просто копируем каталог информационной базы (той, которую мы проверили и в которую добавили документ) в новый каталог и указываем к ней путь в окне выбора конфигурации 1С.

4. Удаление всех документов и периодических реквизитов из базы - для выполнения этой процедуры нам потребуется *.bat-файл. Скачиваем, копируем в папку с копией информационной базы и запускаем - данное действие позволит удалить все документы из базы. Следующим шагом необходимо запустить 1С в монопольном режиме в режиме 1С:Предприятие (Запустить нужно копию без документов), произойдет переиндексация базы. Теперь необходимо очистить базу от периодических реквизитов - для этого запустим тестирование и исправление базы в конфигураторе (аналогично пункту 1).

5. Формирование и перенос остатков из "Полной базы" в "Пустую" - что бы выполнить этот шаг, открываем "Полную базу" и формируем документ "ОстаткиПоРегистру" который мы интегрировали в конфигурацию. Документы нужно формировать на предыдущий за днем свертки день, например, если мы сворачиваем базу на 01.01.2011 то документы должны быть сформированы на 31.12.2010. Чтобы создать документ нам необходимо открыть общий журнал документов, нажать кнопку "Insert" на клавиатуре или "Ввод новой строки" в окне общего журнала.

Затем нужно выбрать документ "ОстаткиПоРегистру" и нажать "OK". Должна открыться форма документа, как показано ниже:

Теперь нам нужно сформировать остатки по каждому регистру нашей базы. Для этого выбираем нужный нам регистр в выпадающем списке и нажимаем кнопку "Заполнить", главное не забыть на какую дату формируем остатки. Если свертка базы выполняется на 01.01.11 то остатки формируем на 31.12.10. После заполнения документа нажимаем кнопку "Записать" и "Закрыть", документ проводить нельзя. Данную операцию необходимо проделать для каждого регистра вашей базы (нужный регистр выбираем из выпадающего списка, не забываем про дату). Все документы "ОстаткиПоРегистру" должны быть сформированы одним днем.

После формирования всех документов "ОстаткиПоРегистру" нам необходимо перенести их в "Пустую Базу". Для переноса нам потребуется вот обработка. Скачиваем, распаковываем и в "Полной Базе" открываем файл "Universal.ert" (Файл->Открыть-Universal.ert). Откроется окно как на рисунку внизу:

Теперь необходимо настроить обработку, для этого пошагово (как на скрине внизу) выполните все требования обработки:

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

Проверяем соответствия со скрином сверху, если все сходится, то нажимаем "OK" -> "Перенос документов".

Начнется перенос остатков в "Пустую Базу", после окончания переноса необходимо открыть нашу "Пустую базу" в которую были перенесены остатки и провести все документы "ОстаткиПоРегистру". Для этого открываем общий журнал документов, переходим на дату переноса (в нашем случае 31.12.10) и проводим все документы "ОстаткиПоРегистру".

7. Перенос документов осуществляющих движение за период свертки из "Полной базы" в "Базу без документов" - данный шаг выполняется как и предыдущий, с использованием обработки . Пользоваться мы ей уже умеем, поэтому делаем все как на скрине из пункта 6:

Переходим на вкладку "Документы", выбираем абсолютно все документы и устанавливаем диапазон дат с начала периода до текущего момента, в нашем случае с 01.01.11 до 13.10.11. Также устанавливаем переключатели "Вкл. помеченные на удаление" и "Вкл. проведенные" соответственно скриншота.

Следующим шагом будет переход на вкладку "Доп. настройки". На ней необходимо поставить галочки как на скриншоте, диапазон дат указываете свой:

После установки всех галочек и переключателей нажимаем "OK"->"Перенос документов" (скрин из пункта 6):

7. Проведение документов и восстановление последовательностей в "Свернутой базе" - по окончании переноса документов необходимо будет перепровести всю "свернутую" базу с начала периода по текущую дату (в нашем случаем 01.01.11-13.10.11). "Операции"->"Проведение документов":

P.S.: Решение проблем с документом "ОстаткиПоРегистру":

После публикации статьи мне на почту пришло очень много просьб с вопросами, почему же не заполняется документ "ОстаткиПоРегистру" и выдает ошибку. Что бы решить данную проблему и ответить на вопрос всем, оставлю здесь руководство по доработке документа.

1. Откройте конфигуратор и выберите документ "ОстаткиПоРегистру".

2. Откройте форму документа:

3. Нажмите кнопку "Новый" и добавьте нужное количество Ресурсов и Измерений.
а) Для ресурса настройки вот такие:



б) Для измерения настройки вот такие:


Для своей базы я создавал порядка 10 измерений и 9 ресурсов.

4. Откройте форму документа в конфигураторе и нажмите кнопку "Форма":

5. В открывшейся форме выделите табличную часть и нажмите кнопку показанную на рисунке "Добавить реквизиты":

6. В нижней части выделите все новые ресурсы и измерения и вставьте в документ:

7. После вставки сохраните документ.

P.S.: Если что-то непонятно, почта всегда открыта для вас!

P.P.S.: Процесс свертки периода, описанный в этой статье, не подходит для свертки бухгалтерских итогов. Для свертки бухгалтерских итогов следует использовать стандартную обработку wrap.ert, либо разрабатывать новую методику.

Свертка базы 1С 8.2 — действия, направленные на уменьшение объема базы данных путём компоновки и архивирования данных за прошлый период. Со временем размер базы данных, особенно в крупных организациях, существенно увеличивается.

Причин для свертки информационной базы 1С 8.3 может быть множество:

  • большой объем данных на дисках (для файловой БД размер более 12 Гб — критический, в один прекрасный день программа просто не откроется);
  • вследствие большого объема может упасть быстродействие базы данных;
  • документы за прошлые периоды «мазолят глаза».

Порой за 3-4 года работы база 1С «вырастает» минимум до 4-5 гигибайт объема.

Получите 267 видеоуроков по 1С бесплатно:

Для того чтобы избавиться от старых данных и в тоже время не потерять текущие, необходимо произвести свертку базы данных 1С .

Что такое свертка базы в 1С

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

Как свернуть базу 1С

Процедура свертки производится обычно с помощью специализированных обработок от фирмы 1С, которые есть на диске ИТС как для 1С 7.7, так и для 1С версии 8. Однако, надо понимать, что свертка базы обработкой с диска ИТС может производиться только с типовой конфигурацией. В противном случае могут появиться ошибки, которые будут видны не сразу. Если у Вас не типовая конфигурация, для свертки базы Вам лучше обратиться к .

Сами обработки свертки делают, по сути, следующие процедуры:

  • вводится документ «Ввода остатков» по всем счетам/регистрам на требуемую дату;
  • удаляют документы до требуемый даты.

Для примера: свертка базы 1С 8.2 бухгалтерия 2.0 за 3 года занимает порядка 2-3 часов. 1С Бухгалтерия 3.0 за 2 года сворачивалась около часа.

Скачать обработки для свертки 1С

Для свертывания лучше всего скачать свежую обработку свертки для 1С (7.7 и 8) от официальных разработчиков — фирмы 1С, на сайте http://its.1c.ru/ . Также обработку можно скачать от сторонних разработчиков или даже купить доработанные версию по функционалу от частных программистов 1С.

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

Важно! Свертка информационной базы доступна только в локальном режиме работы.

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

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

Обработка свертки делает следующие процедуры:

  • создает документы ввода остатков «Операция (регистры Инфокрафт)» по всем счетам/регистрам на требуемую дату;
  • помечает на удаление документы до требуемый даты.

Важно! Перед выполнением свертки базы рекомендуется:

  1. Произвести предварительное тестирование свертки на копии рабочей информационной базы.
  2. Только по результатам успешного тестирования принимать решение о возможности использования для рабочей информационной базы.
Пошаговая инструкция по свертке информационной базы:
  1. Создание резервной копию ИБ : необходимо зайти в базу в режиме «Конфигуратора», пункт меню «Администрирование» - «Выгрузить информационную базу».
  2. Перед сверткой следует сформировать отчеты по тем объектам конфигурации, информация о которых из прошлых периодов будет нужна в будущих периодах. В конфигурации «Формула ЖКХ + Бухгалтерия» отчет «Оборотно-сальдовая ведомость» до свертки можно не формировать, поскольку проверка остатков по регистрам бухгалтерии до и после свертки включена как один из этапов обработки.
  3. Запустить обработку из подсистемы «Администрирование» - «Сервис». Если свертка выполняется на уже созданной копии программы, то флаг «Создать резервную копию» можно не устанавливать. В обратном случае - необходимо указать каталог резервной копии ИБ.

4. Настройка свертки . На этом этапе определяется на начало какого года будут сформированы остатки. По умолчанию установлен флаг «Установить дату запрета изменения данных» - она будет установлена на 31.12.2016 года в случае формирования остатков на начало 2017 года. Есть возможность провести свертку базы по всем организациям или только по одной.

5. Формирование остатков . На данном этапе идет определение состава сворачиваемых объектов и способа свертки. Предусмотрены следующие действия с регистрами:

    • Не сворачивать - свертка объектов не производится, т.е. все движения регистра останутся, а документы-регистраторы не будут помечены на удаление;
    • Свернуть - сворачиваются объекты, предшествующие дате свертки, т.е. документы-регистраторы будут помечены на удаления, а движения регистров будут содержать данные на дату свертки;
    • Очистить - удаляются объекты, предшествующие дате свертки, при этом документы ввода остатков не создаются. Режим доступен только для регистров сведений.

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

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

6. Просмотр операций . На данном этапеможно открыть сформированные остатки на 01.01.2017г., в базу операции запишутся 31.12.2016г. Допускается остатки откорректировать и даже создать новую операцию ввода остатков по кнопке «Создать».


Ниже приведен вариант созданной операции по регистрам сведений «Услуги зданий»:


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

Предыстория

В компании, где я работаю, возникла ситуация, когда настала необходимость урезать базу, т.е. удалить все документы и движения до определенной даты. К этому моменту база данных весила почти 350Гб, и очень тяжело было с ним работать. Также страдало быстродействие 1С и регламентные операции с БД выполнялись очень долго.

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

В общем вопрос оставался нерешенным и вернулись к тому, чтобы решить задачу своими силами.

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

И в скором времени вопрос был решен - обрезали базу за 2 дня, уменьшили его на 70%.

Обрезание базы УТ с объемом 350 Гб за 2 дня.

Решил выполнить задачу по такому алгоритму:

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

Задача была разделена на 5 подзадач:

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

2.Сформировать остатки на дату свертки.

3.Удалить все документы и движения до даты свертки.

4.Загрузить документы из текущей базы в новую базу.

5.Заменить рабочую базу новой (обрезанной) базой.

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

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

1. Формирование остатков на дату свертки.

Остатки формировал типовой обработкой «СверткаБазы.epf».

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

В обработке поставил ограничение на количество строк в одном документе 50 000.

Делал не спеша, и в течении 1-2 дня все сформировалось (получилось около 400 документов).

Примечание:

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

- при формировании остатков, лучше просмотреть все регистры, т.к. бывает, что не по всем регистрам начальные остатки вам нужны. Иногда бывают ситуации, когда регистр уже нигде не используется. В итоге это сэкономит ваше время.

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

3.В нерабочее время очистить зарегистрированные в плане обмена объекты и сделать копию базы с отключенными регламентами.

4.Удаление документов и очистка регистров.

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

У меня стояла задача оставить эти документы в непроведенном виде для информационных целей.

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

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

Примечание:

- по регистрам сведений нужно чистить только периодические. Если регистр не периодический, то он скорее всего очистится полностью.

6.Активизаровать движения документов корректировки записей регистров обработкой «СверткаБазы.epf». При этом обработка эти документы переносит на предыдущую дату (это удобно для сверки остатков в двух базах).

8.Проверить корректность ввода остатков и исправить (для этой цели можно привлечь сотрудников бухгалтерии)

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

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

Примечание!

Как известно, при непосредственном удалении объектов не происходит контроль ссылочной целостности.
Соответственно, после удаления объектов в текущей базе остаются объекты ссылающиеся на несуществующие объекты ("Объект не найден").
У меня задача не стояла, чтобы эти объекты были в свернутой базе. Но битые ссылки могут отрицательно сказаться и на разного рода обмены между базами, и на другие процессы.
По этому я их перенес в свернутую базу, но после того как базу свернул.
1.Сделал правила обмена, которые переносят документы (только номер, дата в непроведенном виде).
2.Перенес все документы которые встречались в документах ввода начальных остатков.
Эту процедуру можно делать после свертки, но желательно инструменты подготовить заранее.

Опубликовано 13.01.2017 09:22 Просмотров: 6504

В январе у многих появляется желание начать всё с чистого листа, и я очень часто слышу от клиентов и читателей вопрос: «А можем мы создать новую базу 1С, оставить в прошлом все ошибки и начать вести учет правильно? Есть какая-то автоматическая возможность «обрезать» базу 1С на начало года?». Такое желание вполне понятно и объяснимо, ведь кому-то досталась база в не очень хорошем состоянии от прошлого бухгалтера, а кто-то просто учился и допускал много недочетов, теперь же есть необходимые знания, навыки и стремление работать правильно, но не хочется тянуть за собой постоянно груз прошлых ошибок. В программе 1С: Бухгалтерия предприятия 8 редакции 3.0 есть такая функция, как свертка информационной базы, которая позволяет автоматически сформировать остатки на начала выбранного периода и удалить старые документы.

Чем удобна свертка базы 1С? В том случае, если вы просто создадите новую пустую базу и начнёте вручную вносить остатки по всем счетам, то потратите достаточно много времени на эту работу, ведь нужно будет перенести не только суммы остатков, но и данные всех справочников, необходимых для работы (контрагенты, физические лица, сотрудники, номенклатура и пр.). При свертке программа сама автоматически сформирует остатки по счетам, которые при необходимости вы сможете скорректировать, все элементы справочников останутся в базе, а старые документы будут удалены. В том случае, если вы хотите также «почистить» справочники, можно будет вручную удалить лишние элементы. Это займет намного меньше времени, чем ввод всех нужных элементов в новую базу.

Важный нюанс: после проведения свертки документы до выбранной даты в вашей текущей базе будут удалены, но вам обязательно нужно сохранить эту информацию в другой базе, ведь она еще может понадобиться при дальнейшей работе. Обычно, я создаю вторую идентичную базу (в списке баз в названии можно указать, что одна из баз относится к периоду, например, до 2017 года, а другая – с 2017 года), а затем уже можно производить свертку одной из них, в которой будет осуществляться ведение учета в текущем году. Вторая база просто служит архивом данных прошлых лет, к которому в любое время можно обратиться.

После того, как мы разобрались с копиями базы и проверили данные по ОСВ, переходим в раздел «Администрирование» и выбираем пункт «Свертка информационной базы».

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

Затем необходимо указать год, на начало которого мы будем формировать остатки. Как правильно, это текущий год, но один раз в своей практике я встречалась с просьбой при свертке оставить в программе данные за три последних года (на тот момент учет в базе велся больше 5 лет). Если в базе ведется несколько организаций, то отмечаем, будет ли осуществляться свертка по всем или только по выбранным.

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

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

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

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

Затем программа сообщит об успешном окончании свертки.

Конечно, свертка не является «волшебной таблеткой» и не решит быстро все проблемы, если учет в базе долгое время велся не очень аккуратно. Возможно, после проведения свертки потребуется корректировать остатки или разбираться, почему автоматически были удалены не все документы. В этом случае придется потратить определенное количество времени на доведение базы до оптимального состояния: поработать с документами ввода остатков и проанализировать, почему программа не смогла удалить некоторые старые документы. Единственное, о чем я хочу вас попросить – обязательно делайте копии информационной базы! А если состояние базы очень запущенное или велик объем введенных документов, то для выполнения свертки лучше обратиться за помощью к опытным специалистам.