Рубрики

Регистр накопления или регистр бухгалтерии?

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

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

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

При разработке «1С:Управление производственным предприятием 8» была сделана попытка найти компромисс, когда большинство основных движений и расчетов производятся на регистрах накопления, а в регистры бухгалтерии они просто транслируются. С точки зрения технологии работы такая концепция позволила использовать эту конфигурацию при большом количестве пользователей. Однако сам подход до сих пор встречает искреннее непонимание бухгалтеров, переходящих на «1С:Управление производственным предприятием 8», например, с «1С:Бухгалтерии 8»: проводка сделана ручной операцией, а для расчета, скажем, стоимости списания, не используется.

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

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

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

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

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

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

Вопросы параллельности работы системы

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

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

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

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

Вопросы скорости работы

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

Для проведения описываемого теста был создан специальный документ «Документ для контроля времени движений регистров» и разработан функционал, записывающий в отдельный регистр время выполнения системой действий, требующих контроля. Тест проводился на основе типовой конфигурации «1С:Бухгалтерия 8 КОРП» версии 2.0.8.2, на платформе 1С 8.1.15.14, , использовался клиент-серверный вариант (64-разрядный сервер 1С, СУБД – Microsoft SQL Server 2008).

Тест состоял из 3 частей:

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

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

Документ для контроля времени движений регистров при проведении по очереди формировал записи в регистры трех разных типов:

  • Регистр бухгалтерии Хозрасчетный Дт 62.01 Кт 90.01.1, вся аналитика заполнена;
  • Типовой оборотный регистр накопления НДС Продажи (название в метаданных – НДСЗаписиКнигиПродаж);
  • Специально созданный регистр НДС Продажи_Остатки (название в метаданных - НДСЗаписиКнигиПродажОстатки), идентичный типовому регистру НДСПродажи по составу измерений и ресурсов, но имеющий тип «Остатки».

Регистр НДС продажи выбран, потому что по данным достаточно хорошо соответствует корреспонденции Дт 62.01 Кт 90.01.1 (выручка от продажи услуг).

Перед контрольным замером документы были перепроведены по 2 раза.

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

Общее количество записей в регистрах на момент тестирования – Хозрасчетный и НДС Продажи - по 270 000, НДС Продажи_Остатки - 250 000.

Документ проводился оператором вручную.


Показатели выполнения:

ДокументПроцедураКоличество строк в документеВремя выполнения, с
Документ для контроля времени движений регистров 1 
 Проведение по регистру
НДСПродажи
 0,016
 Проведение по регистру
НДСПродажи Остатки
 0,015
 Проведение по регистру
Хозрасчетный
 0,046
 ИТОГО10,077
Документ для контроля времени движений регистров 10000 
 Проведение по регистру
НДСПродажи
 4,899
 Проведение по регистру
НДСПродажи Остатки
 4,743
 Проведение по регистру
Хозрасчетный
 48,703
 ИТОГО1000058,345
Документ для контроля времени движений регистров 20000 
 Проведение по регистру
НДСПродажи
 8,331
 Проведение по регистру
НДСПродажи Остатки
 8,253
 Проведение по регистру
Хозрасчетный
 68,499
 ИТОГО2000085,083

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

Сравнение времени выполнения запросов по регистрам разного вида
(регистр бухгалтерии и регистр накопления вида «обороты»)

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

  • Регистр бухгалтерии Хозрасчетный, заполненный только данными, необходимыми для тестирования;
  • Типовой оборотный регистр накопления НДС Продажи.


Тексты запросов:

code-1

Общее количество записей в регистрах на момент тестирования – Хозрасчетный и НДС Продажи - по 270 000.

Из формы документов (Документ для контроля времени движений регистров), оператором последовательно вызывались 4 описанных выше запроса.


Показатели выполнения:

ДокументПроцедураКоличество строк в документеВремя выполнения, с
Документ для контроля времени движений регистров 1 
 Запрос по регистру
НДС продажи
 0,141
 Запрос по регистру
НДС продажи
Виртуальная таблица Обороты
 1,450
 Запрос по регистру
хозрасчетный
 0,141
 Запрос по регистру
хозрасчетный
Виртуальная таблица Обороты
 0,234
 ИТОГО11,966
Документ для контроля времени движений регистров 10000 
 Запрос по регистру
НДС продажи
 0,468
 Запрос по регистру
НДС продажи
Виртуальная таблица обороты
 0,468
 Запрос по регистру
хозрасчетный
 0,390
 Запрос по регистру
хозрасчетный
Виртуальная таблица Обороты
 2,824
 ИТОГО100004,150
Документ для контроля времени движений регистров 20000 
 Запрос по регистру
НДС продажи
 0,936
 Запрос по регистру
НДС продажи
Виртуальная таблица обороты
 0,874
 Запрос по регистру
хозрасчетный
 0,765
 Запрос по регистру
хозрасчетный
Виртуальная таблица Обороты
 5,523
 ИТОГО200008,098

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

Сравнение времени выполнения запросов по регистрам другого вида
(регистр бухгалтерии и регистр накопления вида «остатки»)

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

  • Регистр бухгалтерии Хозрасчетный, заполненный только данными, необходимыми для тестирования;
  • Специально созданный регистр накопления НДС Продажи Остатки, по данным соответствующий аналитике корреспонденции Дт 62.01 Кт 90.01.1 (выручка от продажи услуг).


Тексты запросов:

code-2

Общее количество записей в регистрах на момент тестирования – Хозрасчетный и НДС Продажи Остатки – по 250 000.

Из формы документов (Документ для контроля времени движений регистров), оператором последовательно вызывались 6 описанных выше запросов.


Показатели выполнения:

ДокументПроцедураВремя выполнения, с
Документ для контроля времени
движений регистров
  
 Запрос по регистру
НДС продажи _ Остатки
0,202
 Запрос по регистру
НДС продажи _ Остатки
таблица Остатки
8,986
 Запрос по регистру
НДС продажи _ Остатки
таблица Остатки и обороты
11,466
 Запрос по регистру
хозрасчетный
0,390
 Запрос по регистру
хозрасчетный
таблица Остатки
13,557
 Запрос по регистру
хозрасчетный
таблица Остатки и Обороты
35,193
 ИТОГО69,794

Таким образом, чтение виртуальной таблицы остатков и виртуальной таблицы остатков и оборотов из регистра накопления типа «остатки и обороты» в условиях, сопоставимых с тестовыми, производится существенно быстрее чтения аналогичных таблиц из регистра бухгалтерии. Чтение реальных таблиц – примерно на одном уровне. При необходимости получения данных именно по остаткам или по остаткам и оборотам использование регистра накопления предпочтительнее использования регистра бухгалтерии.

Общие выводы

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

 
ГК Трейд Софт, Москва
Автор: Филиппов Е.В.
Дата публикации: 07.12.2010 г.
(0.029 c.)

Мы Вам перезвоним

*
*
 

Я даю Согласие на обработку персональных данных в соответствии с Политикой Конфиденциальности