Экспертная разработка и сопровождение 1С

Примеры выполненных работ по оптимизации
 

Ускорение выполнения отложенных движений по расчетам с клиентами/поставщиками" (УТ 11)

Ускорение регламентного задания "Выполнение отложенных движений по расчетам с клиентами/поставщиками" в "Управление торговлей 8, редакция 11" 
 

База "Управление торговлей 8, редакция 11", используется в серверном режиме, 1С:Предприятие 8 Сервер 64-бита + MS SQL Server 2012 Stаndard. В базе ведется учет более 3-х лет, количество одновременных пользовательских сеансов ~30. 
  
При выполнении регламентного задания у всех пользователей в базе наблюдается значительное замедление работы. Фоновое задание выполняется более 30 минут или «подвисает». 
  
При анализе выявлено два проблемных участка кода в общем модуле "Распределение взаиморасчетов": несколько пакетов типового запроса по остаточным таблицам регистра «Расчеты с поставщиками»  и «Расчеты с клиентами» приводили к получению неоптимальных планов запроса на сервере СУБД. 

В результате оптимизации: пакеты запросов переписаны таким образом, чтобы сильно понизить вероятность получения сервером СУБД неоптимальных планов запроса. 

Фоновое задание выполняется менее 1 минуты. 

Ускорение проведения документа "Реализация товаров и услуг" (УТ 10.3)

Ускорение проведения документа "Реализация товаров и услуг" в "Управление торговлей 8, редакция 10.3" 
 

База "Управление торговлей 8 Редакция 10.3", используется в серверном режиме, 1С:Предприятие 8 Сервер 64-бита + MS SQL Server 2008R2 Stаndard. В базе ведется учет более 3-х лет, ежедневно вводится более 300 новых документов "Реализация товаров и услуг". 
  
Документы "Реализация товаров и услуг", с количеством строк более 1000 в табличной части, проводятся 10 и более минут, при проведении такого документа, у всех пользователей в базе наблюдается замедление работы и ошибки на блокировках. Ответственные пользователи вынуждены проводить документы с большим количеством строк, когда никого в базе больше нет. 
  
При анализе выявлено два проблемных участка кода в общем модуле "Партионный учет":  
1) Неудачно написанный запрос по таблицам партионного регистра приводил к получению крайне неоптимальных планов запроса на сервере СУБД. 
2) Промежуточная таблица значений, содержащая большое количество строк, не содержала индекса по столбцам, по которым выполнялось большое количество итераций поиска. 
  
В результате оптимизации:  
1) Неудачный запрос переписан таким образом, чтобы сильно понизить вероятность получения сервером СУБД неоптимальных планов запроса. 
2) В таблицу значений добавлен индекс. 
  
Документ "Реализация товаров и услуг", с 2800 строк в табличной части, стал проводится за 43 секунды.  

Уменьшение задержек скроллинга таблицы УФ (НЕ динамический список) (УТ 11)

Уменьшение задержек (интервалов) скроллинга таблицы на управляемой форме (НЕ динамический список) в "Управление торговлей 8, редакция 11".
 

База "Управление торговлей 8, редакция 11", используется в серверном режиме, 1С:Предприятие 8 Сервер 64-бита + MS SQL Server 2008R2 Stаndard. В базе ведется учет около 2-х лет, количество одновременных пользовательских сеансов ~20.

Сторонним специалистом в конфигурацию добавлена обработка с управляемой формой. При скроллинге в таблице появились задержки перемещения по строкам таблицы. Среднее время перехода со строки на строку таблицы 5 секунд. Пользователи раздражаются.

  
При анализе выявлен проблемный обработчик в модуле формы: вызов серверной контекстной процедуры заполнения строки из обработчика таблицы «ПриАктивизацииСтроки», заполняющий поле-представление. Разработчик формы использовал объектную технику получения данных из информационной базы.


В результате оптимизации: серверная контекстная процедура заполнения поля-представления заменена на серверную  внеконтекстную, а получение данных для заполнения поля-представления сведено в один пакетный запрос.


Среднее время перехода со строки на строку таблицы 0.1 секунды.