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

Пройдите опрос. Монитор технологий. ИИ-блок


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

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

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

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

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

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

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

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

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

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

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

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

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

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

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

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

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

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

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

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

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

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

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

 Все, что вы хотели знать об итогах в 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