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

10.12.24

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Ускорение работы БСП в части - Дополнительные отчеты и обработки
.cfe 11,48Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.

 

Самое плохое, что выполняется не один неявный запрос к базе данных, а несколько десятков тысяч мелких запросов с получением данных из ссылки для сортировки. Запросы мелкие и выполняются быстро, которые сложно найти, так как часто даже при сборке ТЖ (технологический журнал) ставится отбор на время выполнения запроса. А если одновременно несколько сотрудников начинают активно добавлять пользователей, тогда мелкими запросами отнимали от ½ до 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 УправлениеХолдингом БСП ДополнительныеОтчетыИОбработки

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    6646    33    23    

36

Менеджеры внешних отчетов Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Массовая настройка отчетов в 1С УТ / УНФ / КА / ERP / Розница. Расширение позволяет настроить приятный интерфейс всех отчетов в 1С. Поменять цвет отчетов, шрифт, рамки, формат чисел. После получения отчетов начнет работать подсветка активных строк по всей ширине. Скорость просмотра информации увеличится в сотни раз. Разработка снимает напряжение глаз и заботится о Вашем здоровье! PRO версия - Отчеты в отчетах! Во всех отчетах появляется супер панель, позволяющая к главному отчету в этом же окне выкрутить еще три ЛЮБЫХ отчета, которые будут выступать расшифровкой к данным главного отчета.

6000 руб.

16.04.2025    1162    4    17    

5

Менеджеры внешних отчетов Анализ учета Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Платные (руб)

Расширение «Контрольные отчеты» для автоматизации процесса проверки ведения учета в ПП. Со списком ошибок могут работать ответственные пользователи. Помогает в процессе внедрения ПП находить нарушения в бизнес-процессах. 

12000 руб.

08.08.2023    2524    4    1    

7

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

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

12.05.2025    1673    PROSTO-1C    1    

13

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

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

29.04.2025    1618    krasnoshchekovpavel    7    

16

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Россия Бесплатно (free)

Как создать внешнюю печатную форму для конфигураций на базе БСП с желанной всеми разработчиками фишкой - автоматическим открытием обработки в конфигураторе с остановкой отладчика внутри процедуры Печать() при выполнении интерактивной команды печати.

24.03.2025    1759    GeraltSnow    6    

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