Начало года - идеальное время для свёртки базы

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

Свёртка преследует следующие цели:

  • Ускорить работу программы
  • Сократить размер базы
  • Очистить справочники от неактуальных записей

В чем помогает свертка

Ускорить работу программы (Сократив размер базы)

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

Кроме того огромные базы чаще дают сбой, “падают” и в общем работают весьма ненадежно.

Скрыть данные прошлых периодов

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

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

В процессе работы в базе 1С накапливается неиспользуемая номенклатура. Она мешает при оформлении поступлений и реализаций, при выборе товара из списка. Это приводит к ошибкам и пересорту. Кроме того большое количество позиций замедляет выгрузку на автономную кассы, например, во Фронтол,когда вместе с 3 тыс. используемых товаров выгружается ещё 10 тыс. неиспользуемых. Свернув базу, вы избавитесь от старых товаров. Мы вместе со сверткой используем обработку Удаление неактуальной номенклатуры.

Неудобства работы в свернутой базе

Документы и отчеты за “свернутый период” станут недоступны. Придется иметь отдельную базу за старый период и смотреть историю там, собрать в одном отчете данные за все время уже не получиться.

Как работает свертка

Суть мероприятия следующая: выбирается дата (идеальный вариант — начало года или квартала) к примеру 1 янв 2016. На эту дату делается «снимок» остатков по всем разрезам учета (остатки ТМЦ, взаиморасчеты с покупателями, поставщиками и комиссионерами, остатки по кассам и расчетным счетам), а полученные данные выгружаются в файлы на жестком диске. Затем на основе прежней создается новая информационная база, которая содержит все необходимые справочники (номенклатура, типы цен, единицы измерения, цены, контрагенты и договоры, банки и расчетные счета, склады, кассы, материально-ответственные лица и т.д.) и путем создания соответствующих документов ввода остатков в новую базу вводятся остатки по всем разрезам учета (на основе данных из файлов, сохраненных на жестком диске) на 01.01.2016. Остатки в новой и прежней базах сверяются. Их полное совпадение служит показателем успешности проведенной работы. Если же будут небольшие погрешности, то они легко исправляются «руками».

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

Как сделать свертку базы

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

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

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

Свертка базы 1С:Управление торговлей

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

1. Часто в программе используются те регистры, которые не нужны. Например НДС (их там штук 7 регистров). Во-первых из-за них свертка идет дольше, а во-вторых они мешают удалению документов.

2. Если используются партии товаров. В этом случае это тоже не даст удалить ряд документов. Мы можем установить по среднему, или в вводе остатков заменить документ партии на вспомогательный документ — тем самым после перепроведения очистим ссылки на удаленные документы.

3. Взаиморасчеты по документам. Мы можем перезакрыть долги или также на начало ввода остатков повесить все на вспомогательный документ.

4. Есть целая куча регистров сведений (цена, списанные товары, доступ к документам, соответствия при обмене и т.д.), которые «держат» документы и справочники.

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

Стоимость свёртки

Стоимость зависит от сложности вашей конфигурации (розница — дешевле, комплексная — дороже) и объёма данных (стоимость свёртки базы в 3 Гига и 30 Гигов будет различаться).
Чтобы узнать стоимость - оставьте заявку. Мы свяжемся с вами, проанализируем вашу базу и определим окончательную стоимость.
Средний диапазон цен - от 8 000 до 15 000 руб.

Минусы и альтернативы свёртки

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

Главный недостаток это то, что у вас появляется несколько баз. Например «База 2011-2012» и «База 2013».

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

Сворачивать базы действительно имеет смысл только в двух случаях:

  1. если она действительно старая (хотя бы старше 4-5 лет)
  2. если данные нужно не просто защитить (паролями например), а надежно скрыть (удалив её физически с компьютера)

Во всех остальных случая стоит обратить внимание на альтернативы.

Альтернатива: Отключить неиспользуемые модули

Даже если вы не используте некоторые возможности программы, это не значит, что она не тратит на них ресурсы вашего компьютера.

Таких потенциально ненужных, но ресурсоемких разделов программы не много:

  • Контроль доступа на уровне записей
  • Учет остатков по организациям (в дополнение к учету остатков по складам)
  • Учет данных для книг покупок/продаж при том, что вы формируете их в бухгалтерии

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

  • Расчет себестоимости (для расчета прибыли от продаж, маржи)
  • Расчет себестоимости в разрезе партий (при том, что в вашем достаточно расчета «по среднему»)
  • Расчеты с клиентами в разрезе расчетных документов

Для примера я провел небольшое исследование. Взял базу фирмы, которая не использует возможности по расчету прибыли. Исходный размер базы — 1.6 Гб. После удаление записей, связанных с расчетом себестоимости размер базы уменьшился до 1 Гб. После удаления всех остальных неиспользуемых таблиц, размер снизился до 0.8 Гб.

Альтернатива: Убрать с глаз долой неактуальную номенклатуру и контрагентов

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

Основное неудобство в том, что такие товары

  • 1. мешаются в списке у менеджеров, которые оформляют поступление или реализацию. Это увеличивает вероятность ошибок и пересорта.
  • 2. выгрузка на автономную кассы (во Фронтол например) происходит медленно. Т.к выгружается не 3000 позиций, которые стоят на полке, а еще 10 000 тех, которые уже несколько лет как не продаются.
  • 3. если на кассе не используются штрих-коды и кассир выбирает товар из списка, то большой список также увеличивает вероятность ошибки и пересорта.

Эти конкретные проблемы легко можно убрать и без помощи свертки.

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

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

На этот случай у нас припасена обработка

Альтернатива: увеличить безопасность системы

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

В случае, если защититься нужно от своих сотрудников, то на помощь придет SQL-сервер и чёткая система доступа.

Альтернатива: увеличить мощность сервера

1С 8 совместно с SQL-сервером способна нормально работать с базами огромного размера. База в 20-50 ГБ это вообще не проблема, при условии достаточно мощного компьютера.

Свертка базы 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С:Предприятие 8 может эксплуатироваться в двух режимах:

  • файловый (база расположена на компьютере пользователя или в локальной сети),
  • клиент-серверный (база расположена на отдельном сервере).

Данная статья актуальна только для первого варианта. В случае файлового размещения у программы есть существенное ограничение - размер одной таблицы базы данных не может превышать 4 Гб . Как только размер любой таблицы базы данных (а в случае с конфигурацией 1С:Бухгалтерия 3.0 самой "тяжелой" таблицей является регистр бухгалтерии) превысит 4 Гб, база перестанет запускаться, а при приближении к данному порогу вы ощутите заметное снижение производительности программы (другими словами, появятся "тормоза").

Так вот свертка позволяет уменьшить размер таблиц базы данных (в первую очередь регистра бухгалтерии). Операция свертки базы заключается в следующем:

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

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

Как делать свертку

В разделе Администрирование открываем обработку свертки:

Появляется такое окно:


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



Натыкаемся на ошибку платформы.


При перезапуске ситуация повторяется. Сделаем копию вручную. Идем в конфигуратор:



Выбираем путь сохранения копии и даем название:


Появится сообщение:


Возвращаемся в обработку свертки. Признак создания копии снимаем. Нажимаем Далее :


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


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


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


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


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


На следующем экране программа предупреждает о начале процедуры удаления документов до 2016 года. Соглашаемся


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

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

Пусть вас это не смущает - наша задача была "облегчить" регистр бухгалтерии, и мы ее добились.

При необходимости вы можете на сайте пройти полноценное (и бесплатное)

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

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




Close