Свертка 1с 8.2 бухгалтерия 2.0. Что такое свертка информационной базы данных и для чего она нужна? Удаление данных прошлых периодов
Предыстория
В компании, где я работаю, возникла ситуация, когда настала необходимость урезать базу, т.е. удалить все документы и движения до определенной даты. К этому моменту база данных весила почти 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С сильно увеличиваются в размерах, что может плохо сказаться на скорости работы системы. Да и видеть старые документы пятилетней давности не всегда требуется и часто мешает. Что бы избавится от старых документов, отчистить базу и ускорить программу разработчики 1С придумали простое действие — свертка информационной базы 1С.
Что такое свертка базы в 1С 8.3 ? Свертка — это ввод актуальных остатков на определенную дату и удаление старых, ненужных документов. Ниже я расскажу как сделать свертку для типовой конфигурации на примере 1С Бухгалтерия 3.0.
Эта инструкция подойдет и для других современных конфигураций — Управление торговлей (УТ) 11, Зарплата и управление персоналом (ЗУП) 3.0, ERP 2.0, Управление небольшой фирмой (УНФ). Если конфигурация не типовая — процедуру необходимо делать крайне осторожно и хорошо проверить данные после свертки.
Первым делом — обязательно сделайте . Если что то пойдет не так — вы всегда сможете вернутся к первоначальным данным.
Свертку необходимо производить без работающих в системе пользователей. Поэтому заранее попросите выйти из программы коллег.
Инструкция по свертке базы
Зайдите в программу 1С в режиме Предприятия. Зайдите на вкладку “Администрирование”, выберите пункт “Свертка информационной базы”:
В открывшемся окне программа сама предложит сделать резервную копию программы — не стоит отказываться:
Если программа не сможет по какой то причине создать копию — обязательно сделайте её вручную, по данной инструкции. Переходим к следующему этапу, нажимая кнопку “Далее”. Система предложит выбрать какие организации нуждаются в свертке и на какой период.
Выберем “Все организации” и период 2015 год:
На следующем этапе система предложит выбрать регистры для формирования остатков. Данные настройки лучше оставить по умолчанию и продолжить процесс далее.
На этапе “Просмотр операций” система сформирует документы ввода остатков, которые доступные для просмотра и проверки.
Если операции введены корректно — можно переходить к автоматизированной проверке. Там вы можете увидеть аналог оборотно-сальдовой ведомости до и после операции свертки.
Проверка свертки 1С
Если у вас появились сомнения, операцию всегда можно отменить и вернутся к первоначальному состоянию.
После ручной проверки можно данных можно переходить к последнему этапу — пометка на удаление старых документов. Этот этап может занять от 10 минут до нескольких часов, в зависимости от объема базы и количества операций.
Вот и всё — свертка базы 1С Бухгалтерия 8.3 готова! В любом случае после удаления старых документов рекомендую проверить основные отчеты на схожесть информации. В крайнем случае вы всегда можете восстановить базу данных из резервной копии.
После окончания процесса рекомендуется запустить обработку “Удаление помеченных объектов”, что бы избавиться от ненужных документов. Созданные документы свертки расположены в разделе “Операции”, в пункте “Операции, введенные вручную”.
Если вам нужно сделать свертку в 1С 8.2 и 7.7, то она практически не отличается от приведенных выше, за исключением того, что она делается отдельными обработками.
В этой статье я расскажу об алгоритме, который используется в процессе, называемом 1с свертка базы.
Cвертка базы 1c (сворачивание базы 1с) - это процедура, применяемая для оптимизации данных, накопленных в базе 1С. Свертка базы 1с проводится для улучшения качества работы пользователей.
Причины свертки базы 1С
Давайте рассматривать теоретический вопрос о свёртке базы данных с точки зрения практического примера. Например, сегодня - 14 марта 2008 года. Я работаю с базой 1С, которая ведётся с 01 января 2003 года. База ведётся уже 5-ый год. Базу сложно обслуживать программисту (усложнение системы из-за увеличения количества элементов). С базой также сложно работать пользователям (скорость работы программы).
Как можно оптимизировать работу с базой 1С?
Программисту, по большому счёту, наплевать на объём базы, потому что программист работает не с данными, а с алгоритмами обработки данных. Проблемы при работе с большой базой данных могут возникнуть у программиста, выполняющего администрирование базы, разве что в тех случаях, когда нужно восстановить последовательность после перепроведения документа в прошлом периоде, или тогда, когда нужно перепровести все документы вследствие внесения изменений в алгоритм каких-либо расчётов. Поэтому оптимизация базы, как правило, проводится с целью повышения качества работы пользователей базы.
Функциональные особенности при работе с данными
Функции пользователей, работающих с базой 1С, можно разделить на три группы:
- Ввод первичных данных;
- Анализ введённых данных;
- Планирование будущих данных.
Пройдёмся по функциональным группам пользователей.
- Тем, кто вводит данные, не нужны остатки и обороты даже за "вчера". Не говоря уже о данных за прошлый месяц или за позапрошлый год.
- Тем, кто анализирует данные, нужны данные за прошлые периоды. Но здесь нужно уточнять, какие именно данные им нужны. Об этом поговорим ниже.
- Тем, кто планирует данные, нужны результаты анализа прошлых периодов. Другими словами, для нужд пользователей этой группы также нужны данные, накопленные в предыдущих периодах.
Детализация данных для свертки базы 1с
Чтобы определить, какие данные нужны для анализа и планирования, прежде всего нужно уточнить степень детализации данных. Заранее скажу, что детализация данных, необходимых для анализа и планирования, и является ключом к решению задачи о свёртке базы 1С.
Какие бывают уровни детализации данных в базе 1С? Я могу назвать такие:
- Проводка по счетам в бухгалтерском учёте.
- Движение регистра в оперативном учёте.
- Документ.
- Оборот за день (неделю, декаду, месяц, квартал, полугодие, год).
- Остаток на начало и на конец периода (дня, недели, декады, месяца, квартала, года).
После того, как будет определён достаточный уровень детализации данных, необходимых для проведения эффективного анализа и планирования, можно говорить о степени сжатия данных при свёртке базы.
Работа с данными в "сжатом" периоде после 1с свертки базы
Если данные в определённом периоде "свёрнуты" или "сжаты", то понимается, что их количественно стало меньше на определённую величину. Если количество данных уменьшается, то определённые данные теряются безвозвратно.
Как можно получить доступ к свёрнутым данным, если в этом возникнет необходимость? Это очень важный вопрос, и на него нужно ответить, прежде чем проводить свёртку базы данных 1С.
Для примера, приведу два крайних случая.
Случай 1: Финансовый директор в любой день 2008 года хочет иметь возможность посмотреть детальную карточку взаиморасчётов с покупателем "Альфа" за март 2005 года.
При таком условии свёртка базы 1с невозможна, потому что сворачивать (сжимать) данные ниже уровня проводки (движения регистра) невозможно.
Исключением можно считать такой способ работы, при котором свёртка базы всё-таки проводится, и в рабочей базе от данных свёрнутого периода остаются только остатки на начало рабочего периода. Тогда у предприятия появляется две рабочих базы:
- Рабочая база, в которую вводятся данные о текущих операциях.
- Архивная база, в которой хранятся данные об операциях прошлых периодов.
При этом у финансового директора, например, имеется доступ ко второй базе, работа с которой была фактически остановлена. И финансовый директор при желании может в любой момент войти в "старую" базу и получить все необходимые ему данные в предыдущих периодах.
Случай 2: Финансовый директор хочет в любой день 2008 года иметь возможность узнать величину расходов на аренду всех складских помещений предприятия за 3 квартал 2005 года. И более детальная информация (карточка взаиморасчётов с арендодателем склада, например) ему не нужна.
В таком случае 1с свёртка базы проводится таким образом:
- Специальным запросом выбираются обороты по статье "Складские расходы" с детализацией по кварталам.
- Для каждого квартала, получаемого в запросе, создаётся новый документ "Операция" (или другой специальный документ), в который вносится сумма оборота по статье "Складские расходы". Документ записывается и проводится.
- Специальная обработка удаляет все документы, которые вводили данные за сворачиваемый период по статье "Складские расходы" (кроме нашего специального документа, который мы создали при свёртке базы).
Исключением также можно считать такой способ работы, при котором свёртка базы проводится с перенесением только входящих осатков на начало рабочего периода. У предприятия появляются две базы ("рабочая" и "старая"). А финансовый директор создаёт в MS Excel, например, специальную табличку для личного пользования. В этой табличке он будет проводить анализ и планирование данных. В табличку он вручную заносит итоговые значения по нужным ему финансовым показателям за анализируемый период. Данные для анализа он берёт из "архивной" базы.
Стандартный алгоритм свертки базы 1С
В большинстве же случаев свёртка базы проводится банальнее.
- Обработка создаёт новые документы типа "Ввод начальных остатков".
- Запрос выбирает остатки по всем бухгалтерским счетам, измерениям регистров и прочим значимым хранилищам данных на конец сворачиваемого периода.
- Получаемые в запросе данные вносятся в документы типа "Ввод начальных остатков".
- Документ сохраняется и проводится последним днём сворачиваемого периода.
- Все документы 1С за сворачиваемый период удаляются.
Методы свертки базы 1С
Таким образом, можно выделить два способа сворачивания данных в базе 1С:
- В свёрнутом периоде все операции удаляются, а на начало рабочего периода вносятся только начальные остатки, имеющиеся на конец свёрнутого периода.
- То же, что и в первом способе, но в свёрнутом периоде оставляются обороты по показателям, которые необходимы в текущем режиме в рабочем периоде, с необходимым уровнем детализации. На начало рабочего периода переносятся остатки, рассчитанные с учётом оборотов, оставшихся в свёрнутом периоде.
В январе у многих появляется желание начать всё с чистого листа, и я очень часто слышу от клиентов и читателей вопрос: «А можем мы создать новую базу 1С, оставить в прошлом все ошибки и начать вести учет правильно? Есть какая-то автоматическая возможность «обрезать» базу 1С на начало года?». Такое желание вполне понятно и объяснимо, ведь кому-то досталась база в не очень хорошем состоянии от прошлого бухгалтера, а кто-то просто учился и допускал много недочетов, теперь же есть необходимые знания, навыки и стремление работать правильно, но не хочется тянуть за собой постоянно груз прошлых ошибок. В программе 1С: Бухгалтерия предприятия 8 редакции 3.0 есть такая функция, как свертка информационной базы, которая позволяет автоматически сформировать остатки на начала выбранного периода и удалить старые документы.
Чем удобна свертка базы 1С? В том случае, если вы просто создадите новую пустую базу и начнёте вручную вносить остатки по всем счетам, то потратите достаточно много времени на эту работу, ведь нужно будет перенести не только суммы остатков, но и данные всех справочников, необходимых для работы (контрагенты, физические лица, сотрудники, номенклатура и пр.). При свертке программа сама автоматически сформирует остатки по счетам, которые при необходимости вы сможете скорректировать, все элементы справочников останутся в базе, а старые документы будут удалены. В том случае, если вы хотите также «почистить» справочники, можно будет вручную удалить лишние элементы. Это займет намного меньше времени, чем ввод всех нужных элементов в новую базу.
Важный нюанс: после проведения свертки документы до выбранной даты в вашей текущей базе будут удалены, но вам обязательно нужно сохранить эту информацию в другой базе, ведь она еще может понадобиться при дальнейшей работе. Обычно, я создаю вторую идентичную базу (в списке баз в названии можно указать, что одна из баз относится к периоду, например, до 2017 года, а другая – с 2017 года), а затем уже можно производить свертку одной из них, в которой будет осуществляться ведение учета в текущем году. Вторая база просто служит архивом данных прошлых лет, к которому в любое время можно обратиться.
После того, как мы разобрались с копиями базы и проверили данные по ОСВ, переходим в раздел «Администрирование» и выбираем пункт «Свертка информационной базы».
Первым делом, программа снова предложит вам сделать копию базы. Если копия у вас уже есть, то этот пункт можно пропустить (снять галочку). Если копии пока нет, то не пропускаем ни в коем случае!
Затем необходимо указать год, на начало которого мы будем формировать остатки. Как правильно, это текущий год, но один раз в своей практике я встречалась с просьбой при свертке оставить в программе данные за три последних года (на тот момент учет в базе велся больше 5 лет). Если в базе ведется несколько организаций, то отмечаем, будет ли осуществляться свертка по всем или только по выбранным.
На следующем этапе необходимо указать, данные по каким регистрам мы будем сворачивать. Если у вас нет каких-либо особых пожеланий, то все настройки можно оставить без изменения.
Затем мы видим на экране перечень операций, которые были автоматически сформированы для отражения остатков на начало выбранного периода. Есть возможность открыть каждую операцию для просмотра и при необходимости отредактировать данные. Но можно будет внимательно изучить сформированные проводки и после окончания свертки.
На следующем этапе осуществляется проверка данных: сверяются остатки по счетам до свертки и после неё. В идеальном случае суммы должны совпадать. Если возникают какие-то расхождения, то нужно обязательно распечатать сформированный программой отчет и детально разобраться с каждым счетом, по которому возникли отличия.
На последнем этапе свертки осуществляется удаление старых документов, этот процесс может занять достаточно долгое время, особенно, если учет в программе велся много лет.
Затем программа сообщит об успешном окончании свертки.
Конечно, свертка не является «волшебной таблеткой» и не решит быстро все проблемы, если учет в базе долгое время велся не очень аккуратно. Возможно, после проведения свертки потребуется корректировать остатки или разбираться, почему автоматически были удалены не все документы. В этом случае придется потратить определенное количество времени на доведение базы до оптимального состояния: поработать с документами ввода остатков и проанализировать, почему программа не смогла удалить некоторые старые документы. Единственное, о чем я хочу вас попросить – обязательно делайте копии информационной базы! А если состояние базы очень запущенное или велик объем введенных документов, то для выполнения свертки лучше обратиться за помощью к опытным специалистам.
Свертка базы 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С.