Процедура глПроводкиЗаПериод отличается достаточно медленной работой в
новом режиме формирования АналитикуПоРБПсобиратьПоНовому=1, т.е.
формирования 97 счета по аналитике каждого сотрудника и для списание 97
закрытием месяца.
Основное время работы уходит на переписывание одних ТЗ в другие (метод
выгрузить). Причем в последствии использоваться эти ТЗ будут только
частично (несколько строк на сотрудника), а ТЗ в процессе формирования
неимоверно растут. Т.о. процесс выгрузки отъедает более 90% времени работы.
Подробнее: (если я правильно разобрался в алгоритме)
1. При работе процедуры формируются таблицы ТаблицаУчетаЗарплатыННП и
ВремТаблицаУчетаНалоговННП. Это таблицы накапливают инфу по ВСЕМ
сотрудникам, которые успели обработаться.
2. В процессе заполнения этих таблиц, если имеют место быть расходы будущих
периодов создаются доп. таблицы ТаблицаУчетаЗарплатыННП_дляРБП и
ТаблицаУчетаЗарплатыННП_дляРБП. Эти таблицы хранят ссылки на номера строк
основных таблиц, соотв РБП. Таблицы _дляРБП хранятся только по текущему
сотруднику.
3. ТаблицаУчетаЗарплатыННП и ВремТаблицаУчетаНалоговННП копируются во
временные ВремТаблицаУчетаЗарплатыННП и ВремТаблицаУчетаНалоговННП целиком.
Самый тормозной участок. 90% и более.
4. далее используется обход таблиц _дляРБП при котором из временных ТЗ
достаются данные и изменяются основные ТЗ (по одинаковым номерам строк).
Прикол в том, что используются только те строки, на которые есть ссылки в
таблицах _дляРБП.
Выход: не переписывать ненужной информации.
Далее 2 пути
Если просто переписывать во временные ТЗ только нужные строки, то надо еще
затем модифицировать использование этой ТЗ в пп4.
Предлагаемый вариант просто обманывает типовой алгоритм создавая огромные
временные ТЗ 1 раз и затем дописывает туда строки, которые затем будут
использованы. Поскольку нам нужны конкретные строки с конкретными номерами
по известному списку о остальной части временных ТЗ можно не заботиться
(пусто или мусор).
Кроме того в данном случае изменения очень компактны и подойдут для любой
редакции и легко переносимы.
В комплекте:
Функция глПроводкиЗаПериод (изм) из Комплексной 4.84 (добавлена оптимизация
и возможность формировать проводки по списку сотрудников, а не по всем -
полезно для поиска косяков) + вывод времени
Формирование проводок расчета ЗП с фильтром - стандартная обработка форм
проводок из 4.84 со списком сотрудников, берите пригодиться :-)
Измененный кусок процедуры.txt - фрагмент глПроводкиЗаПериод. Собственно
сама оптимизация. Надо просто вставить в вашу процедуру в нужное место.
Сразу найдете по комментариям. ВременнаяТЗ - определите где-нить выше.
Прошу откликнуться :-) и написать о результатах.
Ускоритель формирования проводок по ЗП
21.08.08
Разработка - Математика и алгоритмы
Если у вас медленно формируются проводки по ЗП (ЗиК и Комплексная), то вам сюда.
Для ЗиК оптимизирована ВЫГРУЗКА (отчет и так быстрый). Примеры даны для последних конфигураций.
Изменения типовой процедуры МИНИМАЛЬНЫ.
Пишите отзывы и замеры :-)
Для ЗиК оптимизирована ВЫГРУЗКА (отчет и так быстрый). Примеры даны для последних конфигураций.
Изменения типовой процедуры МИНИМАЛЬНЫ.
Пишите отзывы и замеры :-)
Скачать файл
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Наименование | По подписке [?] | Купить один файл | |
---|---|---|---|
Ускоритель формирования проводок по ЗП
.1219131743 82,15Kb
236
|