Показать сообщение отдельно
Старый 09.09.2016, 14:02   #198  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Все версии вплоть до 2009-й (в 2012 не смотрел, скорее всего та же ситуация), российский модуль ОС , класс создания строк журнала амортизации RAssetProposalDepriciation, метод createJournalLines().

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

Исправляется добавлением в самую первую строку метода, перед инициализацией итератора, проверки в виде :
X++:
if(RAssetSumCalc_Trans::newAssetPeriod(rAssetTable.AccountNum, _assetStandardId, datestartmth(runDate) - 1).netBookValue() == 0)
        return;
Статистика по эффективности :
  • Всего 5500 с копейками ОС, амортизируются около 2200 (остальные самортизированы)
  • Время формирования строк журнала амортизации - полтора-два часа до исправления, 15 минут после исправления
__________________
Мы летаем, кружимся, нагоняем ужасы ...
За это сообщение автора поблагодарили: gl00mie (3), S.Kuskov (5).