Методы оптимизации 1С


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

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

Лучший способ оптимизации 1С – взять мега эксперта, гуру, посадить его за компьютер и он быстро во всем разберется и все оптимизирует.

Что делать если эксперта нет под рукой?

 

Оптимизация 1С программы

Согласно правилу: 20% программы выполняется 80% всего времени выполнения программы.

Поэтому в ходе оптимизации 1С переписывать программу с нуля или исправлять все, что не нравится в тексте программы – ошибочный путь, так как он ведет не к исправлению ошибок, а к написанию новой программы, в которой есть новые ошибки.

Вместо этого для оптимизации 1С нужно найти те самые 20% кода, которые все портят и исправить именно их.

 

Поиск события 1С

Главная подготовительная задача в проведении оптимизации 1С – найти место в программе (то есть модуль, функцию), которая вызывает впечатление пользователя, что «это долго работает».

Например, с точки зрения пользователя все просто – «это долго открывается». Но какая конкретная часть кода 1С выполняется при открытии?

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

  • ПередОткрытием()
  • ПриОткрытии()

При записи и проведении документа выполняются обработчики в модуле 1С документа:

  • ПередЗаписью()
  • ПриЗаписи()
  • ОбработчикПроведения()
  • ПослеЗаписи().

Дополнительно могут вызываться обработчики подписок на события 1С, которые находятся в конфигурации в ветке Общие/Подписки на события.

 

Начало процесса оптимизации 1С — отладка для поиска требуемого участка программы на языке 1С

Запускаем отладчик. Подробно мы рассматривали работу с отладчиком.

Вам необходимо определить нужное Вам событие, найти в модуле требуемую функцию-обработчик, установить точку останова в первой строчке функции обработчика и в последней строчке (то есть итого две точки останова).

После этого заходим в режим Предприятие (подключенный к отладке) и выполняем те действия, которые мы считаем «медленными» и требуют отладки, на события которых мы установили точку останова.

Если Вы правильно вычислили обработчик и установили точку останова, то выполнение программы остановится в начале функции.

Теперь необходимо включить – замер времени выполнения. Для этого выберите пункт меню Отладка/Замер производительности. Данный пункт после нажатия будет отмечен как «нажатый» и более ничего не произойдет. Не смущайтесь – переключайтесь снова в режим Предприятие и продолжайте работу до тех пор, пока программа снова не остановится – теперь уже на второй точке останова, в конце функции обработчика события.

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

После отключения замера времени откроется окно результатов.

 

Продолжение оптимизации 1С — анализ участка кода 1С при помощи измерения времени выполнения

Результаты измерения времени в отладчике показывают:

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

Вы можете отсортировать строчки по времени выполнения или по количеству раз выполнения.

Ваша цель для оптимизации 1С:

  • найти одну-три строчки, которые выполняются 20% от общего времени
  • найти строчки, которые выполняются исключительно большое количество раз.

И наконец сама оптимизация 1С состоит в том, чтобы внести изменения в код так, чтобы время выполнения найденных строчек существенно уменьшилось.


Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (14 голосов, среднее: 4,50 из 5)
Загрузка...

Добавить комментарий