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

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

Электронный документооборот  

5 способов повысить безопасность электронной подписи

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

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

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

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

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

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

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

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

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

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

1001 и 1 книга  
19.03.2018г.
Просмотров: 9934
Комментарии: 0
Потоковая обработка данных

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

19.03.2018г.
Просмотров: 8145
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

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

19.03.2018г.
Просмотров: 8251
Комментарии: 0
Конкурентное программирование на SCALA

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

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

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

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

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

Друзья сайта  

 Все, что вы хотели знать об итогах в 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-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru