www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Автоматизация  

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

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

 Читать далее...

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

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

 Читать далее...

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

 Читать далее...

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 11314
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 11438
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 8923
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 5355
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 6197
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 6092
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 8947
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 5542
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 5752
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 9926
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 13319
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 14812
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 16545
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 11407
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 9405
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 7652
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 6774
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 5651
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 5272
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 5600
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 Все, что вы хотели знать об итогах в 1С

Архив номеров / 2015 / Выпуск №4 (149) / Все, что вы хотели знать об итогах в 1С

Рубрика: Базы данных /  Изучаем «1С»

 ОЛЕГ ФИЛИППОВ, АНТ-Информ, заместитель начальника отдела разработки, comol@mail.ru

Все, что вы хотели знать об итогах в 1С

В статье речь пойдет о механизме итогов, существующем в платформе «1С:Предприятие» для ускорения чтения данных.

Немного теории

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

Итак, для чего же вообще придумали «Итоги» в 1С? Представьте себе, что ваша учетная система решает одну лишь простую задачу – учет количества товара на складе. «Пришло 10 штук «товара1», ушло 5, в остатке …?» Остаток будет равен «приход – уход», что логично. А теперь представим, что данный товар приходит каждый день, и не единожды. Тогда как посчитать остаток? Достаточно просто – из всех приходов вычесть все расходы. Атеперь представьте, что система существует несколько лет. Соответственно операция получения остатков замедлится на столько, сколько дней будет существовать система. Через некоторое время учет в данной системе станет просто невозможен.

Рисунок 1. Структура хранения базы данныхКак была решена данная проблема? Вариантов существует множество. Но все они сводятся примерно к одному – нужна отдельная табличка, в которую будут записываться не движение товара, а именно его остатки на складе. Собственно, эту таблицу и называют «итогами» в 1С. Если посмотреть «структуру хранения БД», к примеру, с помощью специальной обработки [1], то по таблицам регистров накопления можно заметить картину, аналогичную представленной на рис. 1

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

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

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

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

Статью целиком читайте в журнале «Системный администратор», №4 за 2015 г. на страницах 35-37.

PDF-версию данного номера можно приобрести в нашем магазине.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru