Увеличение производительности в автоматизированных системах на базе 1С

Нашел в своих архивах статью 4х летней давности. Писалась для CNews, но там ее "причесали", а хотелось бы опубликовать именно в таком "1с-нативном" виде.

Нашел в своих архивах статью 4х летней давности. Писалась для CNews, но там ее "причесали", а хотелось бы опубликовать именно в таком "1с-нативном" виде.

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

Традиционно факторы, влияющие на увеличение быстродействия информационных систем, специалисты, занимающиеся этой проблематикой,  делят на три обособленные группы - оборудование, СУБД и код приложения.

Как правило, вопрос выбора оборудования решается на более ранней стадии автоматизации, и оно не всегда «заточено» под будущую платформу, роли серверов максимально фрагментированы и разнесены, и любая новая закупка более мощного сервера ставит нелегкий вопрос "а куда девать старый?" Особенно трагично выглядит лицо айтишника, наблюдающего индикаторы утилизации CPU и HDD на уровне 10% от номинала после удачно проведенной комбинации по "отжиманию" немалых инвестиций у руководства. Возможности по прокачке СУБД за счет оптимизации индексов,  регулирования параллелизма и отключения журнала транзакций также быстро заканчиваются. После этого вдруг с тоской вспоминается эпоха 1С:7.7, когда все "летало" на более слабом железе и закрадывается предательская мысль: а так ли хороша восьмая платформа 1С?

Оптимизация кода с точки зрения нетривиальности решений становится  наиболее интересным и перспективным направлением приложения творчества IT-персонала.

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

Во-первых, надо четко понимать, за счет каких бизнес-процессов происходит торможение системы:

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

Далее нам нужно классифицировать пользователей по информационным ресурсам, в которых они нуждаются и по степени свежести (оперативности) этих ресурсов:

  • Менеджерам по продажам нужны оперативные остатки продаваемых ими товаров, сроки поставок отсутствующих товаров и взаиморасчеты с покупателями, причем платежи они должны видеть сразу после разнесения бухгалтером банковских выписок.
  • Бухгалтерам важно успеть к определенным датам рассчитать и перечислить налоги, сдать регламентированную отчетность, в реальном масштабе времени они отслеживают только банк и кассу.
  • Расчетчику надо успеть до 5 числа рассчитать зарплату и подать руководству на подпись платежную ведомость, а в бухгалтерию передать информацию по затратам и налогам.

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

После апгрейда оборудования и декомпозиции информационной системы могут остаться однотипные пользователи фронт-офиса, для которых время отклика системы имеет решающую роль с точки зрения успешности бизнеса. Справедливости ради, надо еще упомянуть бухгалтеров, которые получают сомнительное удовольствие от ночных посиделок в ожидании завершения процедуры закрытия месяца. Задачи по ускорению работы системы в таких случаях лежат в плоскости оптимизации кода, и порой даже 20% выигрыша во времени могут дать такой же прирост в выручке, или, как минимум,  сохранить семью бухгалтера :)

Под оптимизацией 1С-кода я понимаю несколько технологических приемов:

  • механизм управляемых блокировок: он позволяет увеличить параллельность проведения документов за счет того, что при операции типа "запись" блокируется не вся таблица, а только указанный диапазон строк. Это позволяет одномоментно проводить два документа "Реализация Товаров и Услуг", если в них нет одинаковых товаров, либо эти товары отгружаются с разных складов. Причем механизм управляемых блокировок работает независимо от СУБД (будь то MS SQL или Postrge SQL), т.к. срабатывает на уровне 1С-сервера приложений. В режим управляемых блокировок программистами 1С переведены почти во все типовые конфигурации.
  • реализация концепции "тонкий клиент": в платформе 8.1 можно было переносить выполнение некоторых наиболее трудоемких участков кода на процессор 1С-сервера. В платформе 8.2 эта концепция получила еще более глубокое развитие за счет управляемых форм и использования "четырехзвенной" архитектуры - СУБД+Сервер приложений+web-сервер+клиент. Таким образом, скорость реакции системы перестает зависеть от способностей "железа" компьютеров конечных пользователей. Концепция "тонкий клиент" в той или иной мере реализована во всех типовых конфигурациях 1С.
  • удаление/откладывание "лишних" регистров при проведении документов: "лишний" функционал в типовой конфигурации появляется из-за того, что конфигурация является максимально универсальным тиражным продуктом. За универсальность приходится расплачиваться быстродействием, т.к. не весь заложенный функционал может быть востребован данным конкретным бизнесом. Или функционал может быть востребован редко, в таких случаях движение некоторых регистров можно перенести «на потом», выполнять в фоновом режиме, или вообще отключить.
  • Отключение таблицы итогов: при проведении/перепроведении большого массива многострочных документов можно временно блокировать механизм пересчета итогов регистров сведений и регистров бухгалтерского учета с помощью команды УстановитьИспользованиеИтогов. Операция рискованная с точки зрения временного искажения данных об остатках регистров, но она того стоит. Важно после завершения не забыть вернуть режим обратно и пересчитать итоги, начиная с самого раннего проведенного документа
  • РАУЗ: В типовых конфигурациях «1С:Управление производственным предприятием» и «1С:Комплексная конфигурация» программистами 1с внедрен замечательный механизм – РАУЗ (Расширенная аналитика учета затрат). Этот механизм позволяет рассчитывать месячную себестоимость не заботясь о хронологической последовательности приходных и расходных документов внутри месяца, соответственно не надо перепроводить документы для перерасчета сумм в партионных регистрах. Себестоимость рассчитывается методом линейных уравнений. Те клиенты, кто согласились перейти с партионного учета на РАУЗ выиграли несколько дней жизни ежемесячно!
  • минимизация влияния невостребованного функционала: существуют сервисные фоновые задачи, которыми пользуются редко или никогда, например, пересчет индексов полнотекстового поиска. Его отключение дает существенный выигрыш при проведении "тяжелых" документов, таких как "закрытие месяца".
  • оптимизация запросов: задача выборки нужной информации из базы данных может быть решена множеством способов, но среди этих способов всегда существует несколько наиболее оптимальных по времени выполнения. Наличие вариативности решений делает процесс оптимизации запросов почти творческим, подчас требующим озарения. Вот лишь небольшой перечень рекомендаций, которыми стоит вооружиться программисту:
  1. максимально использовать фильтры в параметрах виртуальных таблиц, а не в условиях ГДЕ,
  2. не использовать запросы в цикле,
  3. по возможности использовать временные таблицы, и не забывать про индексацию полей-коннекторов
  • получить сертификат 1С:Эксперт по технологическим вопросам: это не совсем технологический прием, скорее правильный профессиональный путь внедренца, рассчитывающего получить место в серьезном проекте.

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

Выводы: вопросы производительности информационных систем по важности стоят в одном ряду с такими важными вопросами как функциональные возможности конфигурации и дружественность интерфейса (usability). Отечественная платформа 1С по своим возможностям (прозрачности, функциональности, масштабируемости, стоимости) уже давно достойно конкурирует с серьезными зарубежными решениями от SAP, Oracle, Microsoft.

Начать дискуссию

QIWI станет страусом

QIWI объявляет о проведении ежегодного общего собрания акционеров в 2024 году

ВТБ отчитался об успехах и сложностях импортозамещения иностранного ПО

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

Упрощенцам, даже свободным от уплаты НДС в 2025 году, придется формировать счета-фактуры. «Ночной бухгалтер» № 1725

Появляется все больше сопутствующих поправкам по налоговой реформе 2025 проблем. Упрощенцев с доходами до 60 млн рублей освободили от НДС автоматически, но при этом не убрали обязанность выставлять счета-фактуры. Бухгалтеры уже всерьез начинают называть УСН усложненной системе налогообложения.

Иллюстрация: Вера Ревина / Клерк.ру

Курсы повышения
квалификации

18
Официальное удостоверение с занесением в госреестр Рособрнадзора
Бесплатно с Отчетность

Ответственность бухгалтера после увольнения

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

Иллюстрация: Вера Ревина/Клерк.ру
1
Бухгалтерский учет

Бухучет для начинающих: рассказываем о дебетах, кредитах и первичке простым языком

Как устроена профессия бухгалтера, с какими задачами он работает и что означают все эти странные сокращения (НДС, ПСН, ЕНС и др.) — разбираемся в основах бухгалтерии.

Иллюстрация: Вера Ревина /Клерк.ру

Блогер Ивлеева должна налоговой больше 20 млн рублей

Сумма долга Анастасии Ивлеевой выросла до 20,9 млн рублей. Блогер не может выплатить задолженность уже три месяца.

Опытом делятся эксперты-практики, без воды
Бесплатно с НДФЛ

Новые налоговые базы и ставки НДФЛ с 2025 года: таблица

С 2025 года вводят новую прогрессивную шкалу НДФЛ.

Новые налоговые базы и ставки НДФЛ с 2025 года: таблица
Кадры

👍 Теперь в бизнес-аккаунте на «Клерке» можно продвигать свои вакансии

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

Верховный суд: валютный долг не должен индексироваться за просрочку

ВС РФ вынес решение, что валютный долг, в отличие от рублевой задолженности, нельзя проиндексировать за длительную просрочку.

Счета-фактуры

👎 Освобожденных от НДС упрощенцев не освободили от счетов-фактур. Прогноз налогового инженера

Если доход за предыдущий год не превышает 60 млн рублей, в текущем году при УСН будет освобождение от НДС по статье 145 НК.

На сотрудников из стран ЕАЭС тоже надо подавать уведомление в миграционную службу

При приеме на работу иностранцев из стран ЕАЭС надо уведомлять Управление по вопросам миграции МВД о заключении с ними трудовых или гражданско-правовых договоров.

Минэкономразвития отмечает уверенный рост организаций в «русских офшорах»

Сейчас в специальных административных районах зарегистрировано 428 международных холдинговых компаний. Резиденты САР могут пользоваться налоговыми льготами, а также применять корпоративное право той страны, из которой организация решила переехать в РФ.

Законопроекты

РСПП поддержал законопроект о платформенной занятости в РФ

Президент РСПП Александр Шохин концептуально поддержал законопроект «О платформенной занятости в Российской Федерации».

Прогрессивная шкала налогов всё же будет введена

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

В базе «Клерка» уже больше 1 000 актуальных резюме!

Больше тысячи бухгалтеров, кадровиков, юристов, руководителей, финансистов и специалистов по 1С ищут работодателей с сервисом Клерк.Работа.

Обзоры новостей

⚡️ Итоги дня: с второклассницы хотят взыскать 700 тысяч рублей, мошенники обманывают пользователей Ozon, а у Xiaomi сбой в работе умных устройств

Подготовили обзор главных событий дня — 16 июля 2024 года. Все самое интересное, что писали и обсуждали в сети, в одной подборке.

Интернет и IT

Минцифры ужесточит правила оплаты мобильной связи

У абонентов при пополнении баланса наличными будут требовать паспорт.

Кадры

👷 Каждый третий наниматель сталкивается с неквалифицированными кандидатами. Почему, объясняет организатор опроса

Главной сложностью при подборе персонала опрошенные называют недостаточную компетенцию кандидатов на открытую вакансию — об этом говорят 54% респондентов.

Банки

Китайские партнеры перестали получать платежи через «ВТБ Шанхай»

Импортеры не могут отправить деньги китайским поставщикам через шанхайский филиал ВТБ.

Интересные материалы

Банки

ЦБ будет оперативно рассматривать сообщения об ошибочном включении в реестр мошенников

Те, кто по ошибке попал в список Центробанка, смогут оспорить это решение и разблокировать возможность проводить денежные переводы.