Оптимизация работы БСП на примере типового функционала работы с дополнительными отчетами и обработками

10.12.24

Задачи пользователя - Менеджеры внешних отчетов

За последние лет 5 несколько раз сталкиваюсь с проблемой на разных проектах (в конфигурациях 1С:ERP, 1С:ERP УХ и многих других, основанных на БСП), когда много пользователей (около 30 тысяч) в информационной базе, время добавления доступа для пользователей занимает значительное время. Открытие списка занимает от 10 до 15 секунд, и каждое изменение списка еще примерно столько же.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Ускорение работы БСП в части - Дополнительные отчеты и обработки
.cfe 11,48Kb
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

 

Самое плохое, что выполняется не один неявный запрос к базе данных, а несколько десятков тысяч мелких запросов с получением данных из ссылки для сортировки. Запросы мелкие и выполняются быстро, которые сложно найти, так как часто даже при сборке ТЖ (технологический журнал) ставится отбор на время выполнения запроса. А если одновременно несколько сотрудников начинают активно добавлять пользователей, тогда мелкими запросами отнимали от ½ до 2/3 от общего количества запросов к базе данных, что тормозит выполнения всех запросов (сильно зависит от серверов и размера базы данных).

Шаг 1, попробуем заменить получение сортированного списка запросом, например,

Запрос = Новый Запрос("ВЫБРАТЬ Ссылка КАК Пользователь ИЗ Справочник.Пользователи ГДЕ Ссылка В (&Список) УПОРЯДОЧИТЬ ПО Наименование");

Запрос.УстановитьПараметр("Список", Приемник);

Приемник = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Пользователь");

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

Результат приятно удивил - вместо 12,93 сек стало 1,58 сек, что в 8 раз быстрее.

 

 

Шаг 2, аналогичное изменение применил и для открытия формы в процедуре «ЗаполнитьТаблицы», сортировку добавил на уровне запроса, а сортировку результата убрал, результат тоже хороший - с 11,88 сек время сократилось до 0,53, что быстрее в 22 раза.

Шаг 3, по идее на этом можно было и завершить, но при добавлении нескольких десятков пользователей по-прежнему занимает много времени. Самый простой и очевидный способ - отключить автоматическую сортировку списков, и это дает значительное ускорение до 0,0003 сек, что в 5267 раз быстрее, чем на шаге 2, и в 43100 раз быстрее, чем изначально.

 

 

Пример реализации, с отключением автоматической сортировки.

 

 

Итого получили следующие результаты:

 

Время

стандарт

оптимизация

дельта, раз

Открытие

(О)

Большой

(Б)

Маленький

(М)

О

Б

М

О

Б

М

автообновление

11,88

12,93

0,2

0,53

1,58

0,01

22

8

20

без обновления

11,88

12,93

0,2

0,53

0,0003

0,0013

22

43100

154

 

Улучшение есть на списке любого объема, даже на маленьком (5 пользователей). Но время 0,2 сек не заметно, но когда количество пользователей переваливает одну или две сотни, тогда время занимает около секунды на операциях открытия списка и изменении, что уже может вызывать проблемы. То есть если у вас более 100 пользователей в базе, и вы используете внешние обработки или отчеты на регулярной основе, есть смысл задуматься об этом улучшении.

Вместо вывода, проблемы бывают даже в самых неожиданных местах, и нет предела совершенству.

Синтакс-помощник БСП

Решение «Синтакс-помощник БСП» помогает разработчикам быстро находить нужные методы, модули и примеры реализации в рамках Библиотеки стандартных подсистем (БСП). Полезен как новичкам, так и опытным специалистам — ускоряет разработку и повышает качество кода благодаря готовым шаблонам и примерам решений.

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.18.41
  • 1С:Управление холдингом 3.2 (русский и английский интерфейсы), релизы 3.2.4.2

Вступайте в нашу телеграмм-группу Инфостарт

ERP УправлениеХолдингом БСП ДополнительныеОтчетыИОбработки

См. также

БСП (Библиотека стандартных подсистем) Универсальные функции Программист 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

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

06.02.2026    11145    manul1c    6    

25

Менеджеры внешних отчетов Кадровый учет Бизнес-аналитик Руководитель проекта 1С 8.3 1С:ERP Управление предприятием 2 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

«Кадровый монитор руководителя» — готовое расширение для 1С:ЗУП и 1С:ERP, которое превращает кадровые данные в наглядные дашборды для руководителя, HRD и HR-аналитика. Решение помогает в реальном времени контролировать укомплектованность штата, плановый и фактический ФОТ, динамику увольнений и другие ключевые HR-показатели без ручной сборки отчетов. Аналитика работает в интерфейсе «1С:Аналитика», устанавливается без доработок типовой конфигурации и позволяет быстро получить целостную картину по персоналу в одном окне.

91500 руб.

17.11.2025    4040    1    0    

1

Рефакторинг и качество кода БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Использование Библиотеки стандартных подсистем позволяет разработчикам 1С значительно ускорить процесс создания решений за счет готового универсального кода, поддерживаемого и обновляемого официальным вендором. В статье рассказывается про роль и применение «Библиотеки стандартных подсистем» (БСП), примеры интеграции и подключения подсистем.

23.09.2025    13340    AlexeyPROSTO_1C    1    

18

БСП (Библиотека стандартных подсистем) Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Уже заезженная тема с выводом в Word макетов при помощи БСП, но некоторые коллеги все равно спрашивают. Поэтому размещаю тут материал, как это сделать за три простых шага. Решение, которым я успешно пользуюсь в случаях, когда не нужна универсальность подключаемых внешних печатных форм.

16.09.2025    6563    _seerco2002    0    

36

Нейросети БСП (Библиотека стандартных подсистем) Инструментарий разработчика Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Telegram-бот для разработчиков 1С, работающих с БСП. Если не знаете нужный под задачу метод или не помните название, то опишите боту задачу и получите список подходящих экспортных методов из общих модулей БСП.

02.09.2025    7625    krasnov322    25    

44

Анализ учета БСП (Библиотека стандартных подсистем) 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

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

22.05.2025    5945    246    seperblunt    9    

31

Работа с интерфейсом БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С:Предприятие 8 1C:ERP Бесплатно (free)

В этой статье я расскажу, как в конфигурации 1С:ERP 2.5 при начале работы системы настроить открытие своих нетиповых форм (в том числе и из внешних обработок). Данную методику можно использовать как на тонком клиенте, так и на мобильном или веб-клиенте, а также в мобильном приложении.

12.05.2025    8014    AlexeyPROSTO_1C    3    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Iaskeliainen 399 10.12.24 18:47 Сейчас в теме
Для жадных расширение можно скачать бесплатно :-)
Прикрепленные файлы:
фикс_ДополнительныеОтчетыИОбработки.cfe
RealSurfer; ru_hawk; user637193_azam.nuriev; +3 Ответить
2. ru_hawk 11.12.24 15:17 Сейчас в теме
Тоже замечал тормоза при работе со списом пользователей, однако жгучего желания исправить не возникло ввиду редекого использования. На будущее обязательно надо будет внедрить в нашу ERP УХ. Спасибо, Алексей!
Для отправки сообщения требуется регистрация/авторизация