Консультант по 1С в Крыму. +7(978)857-2035

Помогу с 1С!

программист 1С Симферополь

Позвоните:
+7(978)857-2035

Свертка базы 1С

/ Просмотров: 22361

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

Комментариев: 1 RSS
Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)