🔥 Горящие вакансии
Все статьи

ДО: Как сократить время запуска комплексных процессов по шаблону в 1С

Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti

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

Проблема

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

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

Я проанализировал производительность и обнаружил большие затраты времени в функции СхемыКомплексныхПроцессов. ЭлементВходящийВНесколькоСегментовРазделениеСлияние

ДО: Как сократить время запуска комплексных процессов по шаблону в 1С

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

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

Число разделений-слияний Время проверки схемы
3 1 сек.
4 10 сек.
5 ~3 мин.
6 больше 30 мин.

ДО: Как сократить время запуска комплексных процессов по шаблону в 1С

Решение

Я переработал схему комплексного процесса в сторону максимального отказа от разделений в тех точках, где это возможно. Часть процессов заменил на те, в которых допускается параллельность внутри, например, согласование. На отметке в 3 разделения время обработки схемы снизилось до приемлемых значений.

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

Оставить коментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Отправить резюме

    Я согласен на обработку персональных данных в соответствии
    со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

    Отправить резюме

      Я согласен на обработку персональных данных в соответствии
      со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

      Pекомендовать друга

        Выбрать вакансию
        • Программист 1С
        • Консультант-аналитик 1С
        • Разработчик Android
        • Разработчик iOS
        • Разработчик React JS (middle)
        • Разработчик React Native (middle)
        • UX/UI дизайнер
        • Аналитик
        • QA engineer (тестировщик)
        • Разработчик PHP (senior)
        • Разработчик React JS
        • Разработчик Flutter
        • Разработчик React Native
        • Проекты для команды специалистов 1С
        • Проекты для специалистов 1С
        • Стажер-программист 1С
        • Ведущий консультант Microsoft Dynamics 365 Sales
        • Руководитель проектов Microsoft Dynamics 365 FO и AX 2012
        • Консультант Microsoft Dynamics AX на зарубежные проекты
        • Ведущий консультант Microsoft Dynamics 365 Finance and Operation
        • Разработчик PHP (фреймворк Yii2 или Laravel)
        • Разработчик Bitrix
        • Ведущий разработчик Microsoft Dynamics AX на зарубежные проекты
        • Разработчик PHP
        Я согласен на обработку персональных данных в соответствии
        со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

        Pекомендовать друга

          Выбрать вакансию
          • Программист 1С
          • Консультант-аналитик 1С
          • Разработчик Android
          • Разработчик iOS
          • Разработчик React JS (middle)
          • Разработчик React Native (middle)
          • UX/UI дизайнер
          • Аналитик
          • QA engineer (тестировщик)
          • Разработчик PHP (senior)
          • Разработчик React JS
          • Разработчик Flutter
          • Разработчик React Native
          • Проекты для команды специалистов 1С
          • Проекты для специалистов 1С
          • Стажер-программист 1С
          • Ведущий консультант Microsoft Dynamics 365 Sales
          • Руководитель проектов Microsoft Dynamics 365 FO и AX 2012
          • Консультант Microsoft Dynamics AX на зарубежные проекты
          • Ведущий консультант Microsoft Dynamics 365 Finance and Operation
          • Разработчик PHP (фреймворк Yii2 или Laravel)
          • Разработчик Bitrix
          • Ведущий разработчик Microsoft Dynamics AX на зарубежные проекты
          • Разработчик PHP
          Я согласен на обработку персональных данных в соответствии
          со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

          Спасибо!

          Мы получили ваше резюме. Менеджер свяжется с вами в течение трех дней

          Горящие вакансии