Текущие компоненты

Название продукта Название компонента Тип Последняя версия Дата выхода
Галактика ERP 9.1F_ALGRES

Справка по компоненту.

Количество версий компонента39
Количество рещенных задач42
Последная дата обработки компонента2023-12-16 18:32:29
Последная дата файла2023-12-16 17:31:31
Последная версия9.1.39.0

Новые задачи в этом компоненте

F_ALG
180.7608
F_ALG ( 9.1.4.0 )
2013-12-08 03:10:37

Краткое описание :

Проверка алгоритма в момент исполнения - указывает не на ту строку

Описание :

Алгоритмыов начисления амортизации

Что измененно :

1) Настроил алгоритм амортизации.
2) Запустил пункт локального меню в окне редактирования алгоритма амортизации
"Проверка корректности алгоритма".
3) Система выдала - Алгоритм расчета корректен.
4) Закрепляю алгоритм в карточке ОС.
5) Нажимаю Alt+S для тестового просчета амортизации - получаю сообщение:

---------------------------
Предупреждение
---------------------------
Алгоритм расчета амортизации некорректен
№п/п: 1 Ключ: &STOIMM
Формула: IF(ISVALIDALL(TNARCIZNOS), ARCIZNOS.STOIM, SPKATOS.STOIM)
---------------------------
ОК
---------------------------

6) Попробовал взять содержимое ключа &STOIMM и подставить его в поле "Алгоритм"
в шапке алгоритма.
Запустил тестовый расчет. Сообщений об ошибке нет. Очевидно что само это
выражение правильное.

7) Методом тыка нашел, что проблема не в ключе &STOIMM, а в ключе &CorrIznos =
if(isValidAll(tnSpMoveOsCorAmort) and (SpMoveCorAmort.Proved=1),
SpMoveOsCorAmort.NewSumIzn, 0)
Если его заменить на 0, то сообщение об ошибке пропадает.


Отсюда две проблемы:
1. Почему проверка из контекстного меню говорит что алгоритм корректен, если
при его выполнении оказывается, что он некорректен.
Значит какая-то из проверок работает неверно. Нужно исправлять.

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

Как измененно :

Теперь проверка алгоритма в момент исполнения - указывает на
строку в которой обнаружена ошибка.

9.1.39.09.1.38.09.1.37.09.1.36.09.1.35.09.1.34.09.1.33.09.1.32.19.1.32.09.1.31.09.1.30.09.1.29.09.1.28.09.1.27.09.1.26.09.1.25.09.1.24.09.1.23.09.1.22.09.1.21.09.1.20.09.1.19.09.1.18.09.1.17.09.1.16.09.1.15.09.1.14.09.1.13.09.1.12.09.1.11.09.1.10.09.1.9.09.1.8.09.1.7.09.1.6.09.1.5.09.1.4.09.1.3.09.1.2.0