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

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

Нашел в своих архивах статью 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.

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

Сотрудник банка отдохнул за границей и обогатился за счет клиентки на 29 млн рублей

Сотрудники управления экономической безопасности и противодействия коррупции МВД по Ростовской области выявили факт многомиллионного мошенничества в особо крупном размере сотрудником банковской организации.

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

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

Три главных изменения 2024 года для бухгалтера ВЭД

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

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

Обязательную маркировку ювелирных изделий перенесут на 2025 год

Чтобы снизить нагрузку с Пробирной палаты, которая будет ставить клеймо на украшения, Минфин перенесет срок обязательной маркировки на 1 сентября 2025 года.

Лучшие спикеры, новый каждый день

С 1 мая запустят эксперимент по маркировке моторных масел

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

Календарь вебинаров для бухгалтера в апреле 2024. Акцент на проверки

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

Иллюстрация: freepik/freepik
Экспорт

Минпромторг сократит список экспортеров, которые могут получать транспортные субсидии

Изменения затронут только тех, кто занимается экспортом товаров из высокомаржинальных групп.

Опытом делятся эксперты-практики, без воды

С 01 апреля 2024 года порог беспошлинного ввоза товаров, возможно, вернется к уровню €200 евро

Но подготовка новых документов не началась.

УК РФ

Опасное производство 2 года работало без лицензии и получило доход 26 млн рублей

В Ставропольском крае перед судом предстанет обвиняемый в незаконном предпринимательстве с извлечением дохода на сумму более 26 млн рублей.

Обеспечительные меры при ВНП, предварительные обеспечительные меры + защитный лайфхак

Всегда ли налоговики могут наложить обеспечительные меры (арест) на имущество по результатам проверки?

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

Кто имеет право работать неполный день

Если у сотрудников есть основания для неполной занятости, работодатель должен установить удобный для работника график и снизить нагрузку.

Календарь вебинаров для бухгалтера в апреле 2024. Платные и бесплатные

Собрали для вас анонсы вебинаров на апрель 2024 года.

Каким числом выставлять счет-фактуру на аванс: бухгалтеры разбираются с формулировками в НК. «Ночной бухгалтер» № 1652

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

Иллюстрация: Вера Ревина/Клерк.ру
Миникурсы, текстовые и видеоинструкции для бухгалтеров
IT-компании

Яндекс запустил линейку нейросетей YandexGPT третьего поколения

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

40
Бесплатно с Архив документов

Сколько лет все-таки хранить кадровые документы? Мини-курс

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

Сколько лет все-таки хранить кадровые документы? Мини-курс
НДФЛ

В 2024 году ФНС разошлет уведомления на НДФЛ с процентов по вкладам за 2023 год

В 2024 году вкладчикам впервые необходимо будет уплатить НДФЛ с процентов от банковских вкладов за 2023 год.

Перерасчет имущественных налогов будут делать по-новому

Физлица будут направлять в ИФНС заявления на перерасчет налога на имущество, земельного и транспортного, к которому можно приложить документы, а можно и не прикладывать. Налоговики будут рассматривать это заявление 30 дней.

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

Обучение персонала — сложный и многогранный процесс. Если проводить его правильно, он может стать ключевым инструментом для усиления корпоративной культуры, увеличения продуктивности и стимулирования мотивации сотрудников.

Иллюстрация: создано с помощью ИИ OpenAI © Вера Ревина/Клерк.ру
5
41
УК РФ

Поиск бывшего гендира может вылиться в вымогательство

Сотрудники главного управления уголовного розыска МВД совместно с коллегами из Красноярского края задержали подозреваемых в серии вымогательств у бизнесменов.

⚡️Итоги дня: Ozon изменил расчет сбора, Дурова призвали внимательнее следить за Telegram, Камчатку трясет

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

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

Селлеры нарастили продажи на Ozon в 2,5 раза

Заметнее всего нарастили обороты предприниматели Дальневосточного федерального округа, которые торгуют на маркетплейсе Ozon. Они стали продавать почти в 5 раз больше товаров.