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

15.02.2023 Обслуживание

В процессе свертки информационной базы данных в ней выполняются следующие действия:

  • формируются документы ввода остатков на дату, когда осуществляется свертка;
  • удаляются документы и движения по регистрам, которые были в программе до даты свертки включительно.

Свертка информационной базы данных позволяет:

  • ускорить работу системы;
  • уменьшить размер 1С ИБД.

ВНИМАНИЕ! Перед тем, как приступить к свертке информационной базы необходимо:

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

Для свертки информационной базы данных используется обработка для конфигурации (редакция 1.6), которая есть на диске . Для редакции 2.0 данная обработка не подходит, поскольку в ней нет документа «Корректировка записей регистров». Заказать можно у нас на сайте.

Заказать свертку

Пошаговая инструкция по свертки базы

  • Сначала необходимо создать резервную копию информационной базы данных. Затем зайти в базу, используя режим 1С: Предприятие , и проверить все ли документы выполнены по закрытию месяца на дату свертки.
  • Далее необходимо сделать отчет Оборотно-сальдовая ведомость за тот период, за который планируется произвести свертку базы.
  • Используя команду «Открыть» (меню «Файл»), загружаем внешнюю обработку Свертка базы 2.0.
  • Свертка базы осуществляется после нажатия соответствующей кнопки на нижней панели, в процессе чего выполняется удаление объектов за указанный в обработке период. Следует отметить, что выполнение процесса может длиться достаточно долго. После проведения свертки 1С ИБД корректировать и перепроводить документы за свороченный период ни в коем случае нельзя.
    Также нельзя не сказать, что если в процессе свертки имели место ошибки, из-за которых удаление объектов было прервано или выполнено не полностью, то это может привести к тому, что по некоторым регистрам итоги будут отключены. Этот факт в свою очередь делает невозможным получение итогов по некоторым регистрам. Просмотреть перечень регистров, по которым итоги отключены, можно на закладке «Регистры с отключенными итогами». Здесь же при необходимости можно включить итоги.
    Если процесс свертки прерывался в силу каких-либо причин, то перечень документов ввода остатков всегда можно восстановить, используя кнопку «Заполнить список» на закладке «Документы ввода остатков», указав интервал дат.
  • Последний этап — удаление помеченных объектов. Его можно осуществлять, если все выше описанные этапы свертки успешно завершились.
    • В меню «Операции» нужно выбрать команду «Удаление помеченных объектов».
    • В верхней части окна содержится диалог с перечнем обнаруженных в 1С ИБД объектов, помеченных на удаление. Любой из них пользователь может открыть и просмотреть. С использованием пометок пользователь также может определить, какие объекты необходимо проверить на возможность удаления. Определить, есть ли ссылки на удаляемые объекты, поможет кнопка «Контроль». Тщательно проверив объекты для удаления, и не выявив ошибок, нужно запустить процесс удаления объектов, нажав кнопку «Удалить».

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

В процессе работы информационной базы ее размер неминуемо увеличивается. В крупных компаниям он может достигать от 5 Гигабайт в год и более. Такой стремительный рост может сказываться как на быстродействии программы, так и на сохранности данных. Чем больше размер информационной базы, тем более вероятны сбои, влекущие за собой потерю данных.

Как очистить информационную базу 1С, сохранив всю необходимую информацию?

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

Основными целями свертки являются:

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

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

О свертке стоит задуматься, если:

    “тормозит” 1С

    Большой размер базы 1С (от 5 Гигабайт и более)

    Долго выполняется обновление 1С

    “Мозолят” глаза документы прошлых лет

В рамках проекта передо мной встала задача: Как свернуть базу 1С при переходе с 1С:ERP 2.0 на 1C:ERP 2.1?

На момент необходимости свертки фирма 1С разработала штатные механизмы только для 1С:УТ 11 и 1С:БП 3.0, а также для более старых версий.

Для разработки свертки я взял за основу механизм из 1С:УТ 11. Релиз 1С:УТ 11 брал приблизительно того же времени выпуска, что и 1С: ERP 2.0.

Этапы свертки базы 1С

Свертка информационной базы осуществляется в три этапа:

    ввод остатков

    удаление данных прошлых периодов (удаление движений и пометка на удаление документов)

  • сверка остатков с рабочей базой

Ввод остатков

Для ввода остатков в любой конфигурации предусмотрены специальные документы.

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

Для части документов ввода остатков в 1С:УТ 11 предусмотрены процедуры автоматического заполнения остатками по регистрам.

Например, “товары на складах”, “взаиморасчеты с клиентами/поставщиками”, “заказы клиента/поставщику”, “возвратная тара”, “денежные средств”)

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

Например, “расчеты с сотрудниками”, частично по регистрам бухгалтерии, кадровому учету, Внеоборотные активы.

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

  • Заполнение документов «Ввод начальных остатков»

По каждому виду операции ввода остатков я провел анализ на существование механизма ввода остатков в обработке из 1С:УТ 11, определил, какие регистры двигают данный вид операции. Для несуществующих механизмов ввода остатков разработал собственные.

  • Заполнение документов “Корректировка регистров”, “Перенос данных” и “Операция(регламентированный учет)”

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

Например, остатков на производственных регистрах, “прочие активы и пассивы”, “заказы на перемещение”, “распоряжения на выпуск”, “расчеты с фондами по страховым взносам”.

Можно доработать конфигурацию для ввода остатков по таким регистрам (механизмам) или разработать заполнение остатков с помощью документов:

    “Перенос данных” - подходит для регистров подсистем расчета зарплаты и управления кадрами

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

  • “Корректировка регистров” - подходит для остальных подсистем.
  • Сложные схемы ввода остатков

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

1. Берутся остатки по незакрытым остаткам заказов

2. Документы из остатков помечаются специальным комментарием

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

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

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

Удаление данных прошлых периодов

Удаление данных производится в два этапа:

    удаление движений документов

    пометка документов на удаление

При удалении движений по каждому регистру:

1. Выбираются все документы, которые:

    “двигали” регистр до даты свертки

2. Отключается использование итогов

3. Для каждого документа удаляются движения

Для каждого вида документов формируется список документов, не содержащих специальный комментарий. На них ставится пометка на удаление.

Сверка правильности ввода остатков с рабочей базой

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

Например, для большинства регистров первым анализируется измерение Организации. Выявляется, по каким организациям есть расхождения. Далее для каждой организации анализируются более детальные данные.

Если такие сложные системы как 1С:ERP, 1С:УПП, 1С:Комплексная автоматизация, 1С:Управление холдингом используются в большей степени для решения бухгалтерского учета, то возможно неполное или частично неправильное использование некоторого функционала программы. Это происходит из-за того, что сотрудники бухгалтерской службы производят контроль по регистрам бухгалтерии, выполняя ручные корректировки документами Операция(регламентированный учет) и не контролируют данные в соответствующих регистрах накопления.

В 1С:ERP основой для операций бухгалтерского учета являются регистры накопления. Операции формирования документов ввода остатков выполняются на основании данных регистров накопления.

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

Существует два варианта решения проблемы:

1. В рабочей базе привести остатки по регистрам накопления в порядок

2. Переписать процедуры ввода остатков с данных регистров накопления на данные регистров бухгалтерии (если данные в регистрах бухгалтерии покрывают данные в регистрах накопления). Я использовал второй способ.

Организация процесса свертки данных

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

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

Длительность процесса свертки зависит от:

    конфигурации базы

    используемых подсистем

    объема внесенных данных до даты свертки

Из-за длительности процесса возникают две существенные проблемы:

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

2. Сложность тестирования обработки свертки . На этапе разработки методологии свертки или написания кода обработки возрастает цена ошибки. Если, например, процесс свертки занимает 1 день, то процесс тестирования при 10 ошибках может занять 10 дней, если каждая ошибка выявлялась не сразу, а после каждого нового тестирования. А если свертка занимает не 1 день, а неделю? А если не 10 ошибок, а больше?...

Для решения этих проблем я использовал план обмена и обработку “Выгрузка и загрузка данных XML”.

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

Выявление ошибок написания кода обычно происходит на этапе сверки остатков, т.е. после введения остатков и удаления данных прошлых периодов. Так как этап удаления довольно длительный, а правильность введения остатков в большинстве случаев не зависит от этапа удаления, то практичнее тестирование и доработку ввода остатков делать в отдельной третьей базе. Пока в Новой базе проходил процесс удаления данных прошлых периодов, я устранял выявленные ошибки в обработке свертки и дорабатывал новые процедуры свертки. После окончания удаления старых документов и движений у меня была готова Новая база, но с неправильными остатками. На отдельной копии рабочей базы я формировал документы остатков, изменения автоматически фиксировались в плане обмена, и обработкой “Выгрузка и загрузка данных XML” переносил измененные остатки в Новую рабочую базу. При выявлении новых ошибок – повторял эти операции. Данный метод значительно ускорил разработку и тестирование процедур ввода остатков.

База клиента содержала 1,5 млн. документов в прошлом периоде.

Длительность операций составляла:

1 час – ввод остатков

6 суток – удаление движений

4 суток – установка пометок удаления

Так как процесс разработки довольно трудоемкий, а продолжительность выполнения этапов свертки велика, то на будущее я определил для себя следующую последовательность действий:

1. Добавление в рабочей базе плана обмена.

2. Создание копии базы – «новая свернутая база»

3. Запуск в свернутой базе процедуры удаления всех данных до даты свертки (самая длительная операция)

4. Анализ остатков и разработка операций ввода остатков

5. Формирование в отдельной копии процедуры ввода остатков (с регистрацией изменений в плане обмена)

6. Перенос данных ввода остатков из копии рабочей в «новую свернутую базу»

7. Проверка остатков, при необходимости повторение пунктов 5,6,7.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Предыстория

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