Где баланс между производительностью и возможностями программы ? Исправление автоподбора контрагента в УНФ

27.08.21

База данных - HighLoad оптимизация

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

Скачать файл

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

Наименование SM По подписке [?] Купить один файл
Оптимизация автоподбора контрагента
.cfe 8,71Kb
0
0
1 SM
Скачать Купить за 1 850 руб.

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

И как же помочь, чтоб ему жилось чуточку лучше.

Как известно в большинстве своем причиной медленной работы 1с являются запросы, их и решено было проанализировать, для этого был использован инструмент из арсенала Гилева, не рекламы ради пара хвалебных слов:

  1. Из коробки с минимум настроек получаем готовый инструмент для анализа запросов, не нужно вдаваться в подробности настройки технологического журнала, и искать инструменты визуализации ТЖ.
  2. Для моей задачи вполне хватило бесплатного режима.

Достаточно было отслеживать запросы которые дольше 3 сек пару дней, чтоб явно увидеть проблемное место, так что же мы имеем на входе

 

 

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

 

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

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

 

Если ознакомиться с запросом мы увидим широкие возможности по поиску контрагента, вот тебе стандартные наименование или ИНН, а также  код, различные контактные данные, но на сколько часто вам нужны все варианты поиска в таком месте?

Для нас в 99% случаев поиск контрагента идет по наименованию или ИНН, и если и надо изредка найти контрагента по другим полям не поленимся откроем форму выбора контрагента.

Исходя из этого для оптимизации было сделано 2 шага:

1. Задана минимальная длинна строки в 4 символа при котором начинается поиск.

2. Максимально обрезан запрос, оставлено только необходимое для нас, вот что осталось

 

В итоге данная операция стала занимать меньше 3 секунд, в трассировке он больше не всплывает.

Данное поведение было выявлено в конфигурации УНФ 1.6.24.92, БД Postgre.

Во вложении расширение, которое реализует описанные исправления, если вдруг кому тоже доставляет неудобства данная операция

P.S

Повторю вопрос в заголовке, где баланс между производительностью и возможностями программы?

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

См. также

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5185    11    5    

20

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3559    8    0    

27

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

Поделюсь своим опытом аудита кода авторских продуктов с Infostart.ru как одним из элементов применения DevOps-практик внутри Инфостарт. Будет настоящий код, боевые скриншоты, внутренние мемы от команды ИТ-лаборатории Инфостарт и прочее мясо – все, что любят разработчики.

10.04.2024    10976    artbear    84    

104

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

2 стартмани

15.02.2024    10326    208    ZAOSTG    74    

111

HighLoad оптимизация Системный администратор Программист Бесплатно (free)

При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.

20.11.2023    11335    ivanov660    6    

80

HighLoad оптимизация Бесплатно (free)

Казалось бы, КОРП-системы должны быть устойчивы, быстры и надёжны. Но, работая в рамках РКЛ, мы видим немного другую картину. Об основных болевых точках КОРП-систем и подходах к их решению пойдет речь в статье.

15.11.2023    6189    a.doroshkevich    22    

74
Оставьте свое сообщение