Свёртка базы данных 1С

Как сделать, чтобы 1С работала быстрее?

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

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

Перед тем, как говорить о сворачивании базы данных, давайте рассмотрим методы хранения данных в базе 1С.

Метод хранения данных в базе 1С

База 1С - это журнал регистрации операций. Операция - это оборот (проводка по счетам в бухгалтерском учёте или движение регистра в оперативном учёте).

Финансовый или управленческий учёт оперирует двумя величинами:

  • обороты
  • остатки

Обороты для нужд финансового учёта формируются за такие периоды:

  • операция (проводка в бухгалтерском учёте, движение по регистру в оперативном учёте)
  • неделя
  • декада
  • месяц
  • квартал
  • год

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

Остатки, соответственно, формируются на начало и конец таких периодов:

  • месяц
  • квартал
  • год

Таблицы базы данных 1С

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

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

Причины сворачивания базы данных 1С

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

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

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

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

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

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

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

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

Детализация данных

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

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

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

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

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

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

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

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

Случай 1:

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

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

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

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

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

Случай 2:

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

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

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

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

Стандартный алгоритм сворачивания базы данных 1С

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

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

Методы сворачивания базы данных 1С

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

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

Эпилог

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

Реклама:
Смотрите также:
Найти каталог базы данных 1С
Методика экспортирования данных 1С во внешние приложения
Налоговая накладная
Сохранить глаза при работе за компьютером