F_ALG
Краткое описание :
Не переводить в верхний регистр наименования ключей
алгоритмаОписание :
Алгоритмыов начисления амортизацииЧто измененно :
Наименования ключей в алгоритмах расчета амортизации стали
переводиться в верхний регистр.
При сложной структуре наименований это сильно снижает читаемость, например
SumIznMetChng - сумма износа на момент смены метода начисления амортизации.
SUMIZNMETCHNG - нечитаемо по сравнению с вышеприведенным примером.
Считаю что следует оставлять наименования ключей как есть, а преобразовывать их
к верхнему регистру, если это нужно движку расчета непосредственно в ходе
расчета амортизации. хранить при этом оригинальный вариант наименования ключа.
Как измененно :
Не переводятся в верхний регистр наименования ключей алгоритма.
F_ALG
Краткое описание :
Необходима Величина корректировки амортизацииОписание :
АмортизацияЧто измененно :
Необходимо в алгоритмы расчета вытягивать Величину
корректировки амортизации.
Рассмотрим пример:
У клиента используется алгоритм расчета амортизации "от остаточной стоимости".
Сейчас май 2012 года. В этом же месяце клиент проводит операцию корректировки
амортизации (на какую величину надо увеличить/уменьшить начисленную до
01/05/2012 амортизацию).
Например, величина корректировки амортизации составляет 100 руб, т.е. на
01/05/2012
остаточная стоимость должна была быть на 100 руб меньше, чем сейчас в архиве.
Поэтому, чтобы верно посчитать амортизацию за текущий месяц (май), клиенту
надо
в алгоритме начисления амортизации от остаточной стоимости учесть величину
корректировки
амортизации.
Как измененно :
ДОРАБОТАНО. Величина корректировки амортизации хранится в поле
SpMoveOsCorAmort.NewSumIzn.
SpMoveOsCorAmort это синоним SpMoveOs.
SpMoveCorAmort синоним SpMove.
Подцеплена таблица так
and cgOs_51_Amort == SpMoveOSCorAmort.SysOper
and KatOs.nRec == SpMoveOSCorAmort.cKatOS
and NastrOs.nRec == SpMoveOSCorAmort.cNastrOS
and KatOS.OtchPer == SpMoveOSCorAmort.DatOb
and SpMoveOSCorAmort.cSpMove == SpMoveCorAmort.NRec
В алгоритме расчета амортизации вытащить величину корректировки можно так
if (not isValidAll(tnSpMoveOsCorAmort), 0, if (SpMoveCorAmort.Proved=0, 0,
SpMoveOsCorAmort.NewSumIzn))
(SpMoveCorAmort.Proved=1) - проверка, что операция корректировки амортизации
проведена.