Компьютеры Windows Интернет

1с 8.1 бухгалтерия предприятия 1.6 свертка. Как делать свертку базы. Пошаговая инструкция по свертке информационной базы

Предыстория

В компании, где я работаю, возникла ситуация, когда настала необходимость урезать базу, т.е. удалить все документы и движения до определенной даты. К этому моменту база данных весила почти 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.Перенес все документы которые встречались в документах ввода начальных остатков.
Эту процедуру можно делать после свертки, но желательно инструменты подготовить заранее.

Что такое свертка базы и для чего она нужна?

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

    Увеличение скорости работы системы.

    Уменьшение размера информационной базы.

ВАЖНО. Перед выполнением свертки базы рекомендуется:
1. Произвести предварительное тестирование свертки на копии рабочей информационной базы.
2. Только по результатам успешного тестирования принимать решение о возможности использования для рабочей информационной базы.


На диске ИТС присутствует обработка для конфигурации 1.6 Бухгалтерия предприятия. Для версии 2.0 она не подходит, поскольку в 2.0 отсутствует документ "Корректировка записей регистров". Поэтому скачиваем обработку по ссылке: С К А Ч А Т Ь (для того чтобы ее скачать нужно зарегистрироваться).

1) Создадим резервную копию: заходим в базу через Конфигуратор, пункт меню Администрирование - Выгрузить информационную базу.

2) Заходим в базу через режим 1С:Предприятие. Нам нужно проверить на ту дату, по которую будем делать свертку базы, все ли документы сделаны по закрытию месяца (пункт меню Операции - Регламентные операции). Я буду делать по 31.03.2009 год. Значит документы по Закрытию месяца должны быть за март 2009 г.:

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

4) Через пункт меню Файл - Открыть добавляем внешнюю обработку Свертка базы 2.0.

Закладка "Общие настройки":

Дата свертки . Под датой свертки понимается последняя секунда, входящая в сворачиваемый период. Так, для того чтобы свернуть в информационной базе данные за 1 квартал 2009 года, в качестве даты свертки требуется указать 31.03.2009 23:59:59.

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


Закладка "Настройка способа свертки" : на этом этапе определяется, какие объекты и за какой период следует сворачивать. Предусмотрены следующие способы обработки объектов:

    Не обрабатывать - свертка объектов не производится.

  1. На дату - сворачиваются объекты, предшествующие дате свертки. Если заполнить параметр "Дата окончания", то будут свернуты объекты, предшествующие дате окончания. Таким образом, можно указать для различных объектов различные даты свертки. Если параметр "Дата окончания" не указан, то свертка производится по дату свертки, указанную на закладке "Общие настройки".
  2. За период - сворачиваются все объекты, лежащие в указанном интервале.

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

Есть возможность заполнить состав сворачиваемых объектов и способ свертки по умолчанию с помощью кнопки "Заполнить настройки по умолчанию". При этом для сворачиваемых объектов будут назначены следующие настройки:

      1. Для всех документов устанавливается режим свертки "на дату".
      2. Для всех регистров накопления и бухгалтерии устанавливается режим свертки "на дату".
      3. Для всех периодических регистров сведений, для которых документ "Корректировка записей регистров" не является регистратором, устанавливается режим свертки "не обрабатывать", для всех остальных периодических регистров сведений режим "на дату".
      4. Для всех непериодических регистров сведений устанавливается режим свертки "не обрабатывать".

Существует возможность сохранять и восстанавливать сделанные ранее настройки свертки, для этого предназначены кнопки "Выгрузить в XML" и "Загрузить из XML".

Я заполню настройки по умолчанию:

Закладке "Документы ввода остатков": на этом этапе будут сформированы документы ввода остатков по регистрам накопления, сведений, бухгалтерии. Созданные документы будут расположены в следующей секунде за датой свертки, т.е. если дата свертки 31.03.2009 23:59:59, то документы будут созданы 01.04.2009 00:00:00.
В качестве документов ввода остатков используются документы "Корректировка записей регистров" и "Операция (бухгалтерский и налоговый учет)".
Документы ввода остатков создаются с отключенными движениями. Документы ввода остатков содержат комментарий, включающий в себя текст "[Сформирован обработкой свертки базы]".
Для каждого регистра/счета создается отдельный документ ввода остатков. Количество документов ввода остатков для каждого регистра/счета определяется параметром "Количество строк в документе ввода остатков" (подробнее см. выше).

Свернуть базу (кнопка "Свернуть базу" в нижней командной панели). На этом этапе производится удаление объектов за сворачиваемый период.

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

В этой статье я расскажу об алгоритме, который используется в процессе, называемом 1с свертка базы.

Cвертка базы 1c (сворачивание базы 1с) - это процедура, применяемая для оптимизации данных, накопленных в базе 1С. Свертка базы 1с проводится для улучшения качества работы пользователей.

Причины свертки базы 1С

Давайте рассматривать теоретический вопрос о свёртке базы данных с точки зрения практического примера. Например, сегодня - 14 марта 2008 года. Я работаю с базой 1С, которая ведётся с 01 января 2003 года. База ведётся уже 5-ый год. Базу сложно обслуживать программисту (усложнение системы из-за увеличения количества элементов). С базой также сложно работать пользователям (скорость работы программы).

Как можно оптимизировать работу с базой 1С?

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

Функциональные особенности при работе с данными

Функции пользователей, работающих с базой 1С, можно разделить на три группы:

  1. Ввод первичных данных;
  2. Анализ введённых данных;
  3. Планирование будущих данных.

Пройдёмся по функциональным группам пользователей.

  1. Тем, кто вводит данные, не нужны остатки и обороты даже за "вчера". Не говоря уже о данных за прошлый месяц или за позапрошлый год.
  2. Тем, кто анализирует данные, нужны данные за прошлые периоды. Но здесь нужно уточнять, какие именно данные им нужны. Об этом поговорим ниже.
  3. Тем, кто планирует данные, нужны результаты анализа прошлых периодов. Другими словами, для нужд пользователей этой группы также нужны данные, накопленные в предыдущих периодах.

Детализация данных для свертки базы 1с

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

Какие бывают уровни детализации данных в базе 1С? Я могу назвать такие:

  • Проводка по счетам в бухгалтерском учёте.
  • Движение регистра в оперативном учёте.
  • Документ.
  • Оборот за день (неделю, декаду, месяц, квартал, полугодие, год).
  • Остаток на начало и на конец периода (дня, недели, декады, месяца, квартала, года).

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

Работа с данными в "сжатом" периоде после 1с свертки базы

Если данные в определённом периоде "свёрнуты" или "сжаты", то понимается, что их количественно стало меньше на определённую величину. Если количество данных уменьшается, то определённые данные теряются безвозвратно.

Как можно получить доступ к свёрнутым данным, если в этом возникнет необходимость? Это очень важный вопрос, и на него нужно ответить, прежде чем проводить свёртку базы данных 1С.

Для примера, приведу два крайних случая.

Случай 1: Финансовый директор в любой день 2008 года хочет иметь возможность посмотреть детальную карточку взаиморасчётов с покупателем "Альфа" за март 2005 года.

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

Исключением можно считать такой способ работы, при котором свёртка базы всё-таки проводится, и в рабочей базе от данных свёрнутого периода остаются только остатки на начало рабочего периода. Тогда у предприятия появляется две рабочих базы:

  1. Рабочая база, в которую вводятся данные о текущих операциях.
  2. Архивная база, в которой хранятся данные об операциях прошлых периодов.

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

Случай 2: Финансовый директор хочет в любой день 2008 года иметь возможность узнать величину расходов на аренду всех складских помещений предприятия за 3 квартал 2005 года. И более детальная информация (карточка взаиморасчётов с арендодателем склада, например) ему не нужна.

В таком случае 1с свёртка базы проводится таким образом:

  1. Специальным запросом выбираются обороты по статье "Складские расходы" с детализацией по кварталам.
  2. Для каждого квартала, получаемого в запросе, создаётся новый документ "Операция" (или другой специальный документ), в который вносится сумма оборота по статье "Складские расходы". Документ записывается и проводится.
  3. Специальная обработка удаляет все документы, которые вводили данные за сворачиваемый период по статье "Складские расходы" (кроме нашего специального документа, который мы создали при свёртке базы).

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

Стандартный алгоритм свертки базы 1С

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

  1. Обработка создаёт новые документы типа "Ввод начальных остатков".
  2. Запрос выбирает остатки по всем бухгалтерским счетам, измерениям регистров и прочим значимым хранилищам данных на конец сворачиваемого периода.
  3. Получаемые в запросе данные вносятся в документы типа "Ввод начальных остатков".
  4. Документ сохраняется и проводится последним днём сворачиваемого периода.
  5. Все документы 1С за сворачиваемый период удаляются.

Методы свертки базы 1С

Таким образом, можно выделить два способа сворачивания данных в базе 1С:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

Особенность свертки от «1С-ИжТиСи» - весь объем работ умещается в рамки технологического окна заказчика - времени, когда с базой никто не работает.

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

Главное отличие решения «1С-ИжТиСи» от типового механизма свертки 1С в том, что операции по изменению данных производятся в максимально сжатые сроки, например, когда размер технологического окна не превышает 2-3 часов.

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

Кому нужна свертка информационных баз 1С

Любым компаниям, работающим в «1С:Предприятие» продолжительное время:

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

Когда стоит проводить свертку

Свертку стоит производить в следующих случаях:

  • Объем базы свыше 50 Гб.
  • Учет в базе ведется более 5 лет.
  • Размер базы вызывает сложности при создании бэкапа.
  • Перед обновлением конфигурации, которая давно не обновлялась.

Организация процесса свертки информационных баз 1С

Типовой план свертки состоит из нескольких этапов:

1. Демо-свертка: 5-10 рабочих дней

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

2. Проверка результатов демо-свертки: 5 рабочих дней