Каталог решений - Ускоряем обновление ЗУП до 3.1.25.136 (3.1.26.11) с часов до минут!

Ускоряем обновление ЗУП до 3.1.25.136 (3.1.26.11) с часов до минут!

Ускоряем обновление ЗУП до 3.1.25.136 (3.1.26.11) с часов до минут!

В наличии

Если у Вас большая компания, то обновления могут происходить мучительно долго. А технологические окна накладывают свои ограничения. Ниже предлагается готовое решение для ускорения процесса обновления.

Категория:

Описание

В нашей компании всего с 2022 года перешли на ЗУП, но до сих пор занимаемся оптимизацией скорости, и обновления подкидывают новые проблемы, с которыми приходится бороться.

Очередное обновление принесло массу интересного, но и по ходу еще изменило способы хранения части информации.

Конкретно 

— РС БухучетЗарплатыСотрудников стал зависимым — появился документ + можно туда писать и другими документами

— в очередной раз решили обновить РС Отпуска сотрудников — решили из него сделать регистр остатков отпусков

Оба эти нововведения негативно отразились на процессе обновления

1 — первый этап обновления -монопольный -прошел на копии 7,5 часов и создал 79 000 документов БухучетЗарплатыСотрудников

2 — отложенное обновление -идет десятки часов

Чтобы понять -стоит ли именно Вам этим "заморачиваться", выполните запрос. У нас было порядка 900 000 заработанных, и 79 000 бухучет зарплаты

ВЫБРАТЬ
	"1.1 ЗаработанныеПраваНаОтпуска - всего" КАК РС,
	КОЛИЧЕСТВО(*) КАК Всего,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОбновлениеАналитикиОстатковОтпусков.Сотрудник) КАК Сотрудников  
ИЗ
	РегистрСведений.ЗаработанныеПраваНаОтпуска КАК ОбновлениеАналитикиОстатковОтпусков

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"1.2 ЗаработанныеПраваНаОтпуска - нулевые дни" КАК РС,
	КОЛИЧЕСТВО(*) КАК Всего,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОбновлениеАналитикиОстатковОтпусков.Сотрудник) КАК Сотрудников  
ИЗ
	РегистрСведений.ЗаработанныеПраваНаОтпуска КАК ОбновлениеАналитикиОстатковОтпусков
	где ОбновлениеАналитикиОстатковОтпусков.КоличествоДней=0

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"1.3 БухучетЗарплатыСотрудников - всего" КАК РС,
	КОЛИЧЕСТВО(*) КАК Всего,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ БухучетЗарплатыСотрудников.Сотрудник) КАК Сотрудников  
ИЗ
	РегистрСведений.БухучетЗарплатыСотрудников КАК БухучетЗарплатыСотрудников

 

Для решения данной проблемы был произведен анализ и предложено 3 пути

  1. Заставить предприятие простаивать почти 8 часов, пока обновится
  2. Вынести последнюю процедуру за монопольный режим — и запустить потом, когда все работают
  3. Переписать обновление

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

Второй вариант — позволяет сократить время простоя до несколько минут — но после разрешения работы надо "ограничить" пользователей в плане, что не все можно делать, и количество документов в итоге не уменьшится.

Третий вариант — это не делать по документу на каждую строку записи РС БухучетЗарплатыСотрудников, а сгруппировать.

Его и выбрали

В результате переписал 1 функцию, и вместо 79 000 документов появилось меньше двух десятков, разбитых по организации и месяцу, в каждом по несколько тысяч записей по каждому сотруднику.

В итоге процесс обновления прошел за 10 минут, и можно работать.

 

Отложенное обновление

Процесс отложенного обновления тоже претерпел часть изменений

1 — по результатам замеров выяснилось, что одно из узких мест — это вызов сортировки по "ФизическоеЛицо,ДатаПриема"

Логический смысл непонятен, потому что берется порция данных из общего пула — порядка 60 000, и сортируется по алфавиту и дате приема.

Но так как сортировка сортирует не по ссылке, а по наименованию, 1С пришлось много раз обращаться к базе, в итоге каждый вызов этого куска шел от 300 до 500 сек. Переписал это на динамический запрос — стал порядка 2-х сек сортироваться.

Алгоритм работы

  1. Запустить обработку до обновления — там вызвать пункты меню. Влияют галки "свернуть до" и "уволенные". Если не интересны уже старые данные
    1. Очистить нулевые заработанные отпуска — удалит строки, где количество 0, иначе замедляется расчет
    2. Свернуть РС бухучет зарплаты сотрудников. Свернет периоды, если одинаковые способы. Свернуть до — убирает старые способы, но оставит старые, если они были единственные для этого сотрудника
  2. Накатить обновление и расширение. В расширении реализовано ускорение сортировки и главное — делает группировочные документы бухучету зарплаты сотрудников (помесячно).

 

Важно

Это подходит только при переходе на Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.25.136) или через нее выше!

has been added to your cart:
Оформление заказа