Показать сообщение отдельно
Старый 03.03.2012, 22:49   #5  
Diman is offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Регистрация: 27.06.2003
Адрес: Москва
Цитата:
Сообщение от rusk Посмотреть сообщение
Да, есть такое дело... Сами заменили на следующее:
X++:
...
    EmplTable            emplTable;
    ;
...
    while select EmplId from emplTable
        where emplTable.PayMainEmplId_Ru == emplTable.EmplId &&
             (emplTable.EmplId           == _emplId || (_emplId ? false : true))
    {
        if (! _emplId)
        {
            operationProgress.setText("@HRP372" + emplTable.EmplId);
            operationProgress.incCount();
        }

        for (currentPeriod = _payPeriod; currentPeriod <= endmth(openPeriod); currentPeriod = endmth(nextmth(currentPeriod)))
        {
            this.runFund(currentPeriod,emplTable.EmplId);
        }

        this.createCorrection(emplTable.EmplId);
        this.updateSumYearCompensation(year(_payPeriod), emplTable.EmplId);
    }
Опять же не понятно зачем в оригинале делают пересчет до конца года: currentPeriod <= dateEndYr(_payPeriod);
так используется переменная openPeriod в конструкции currentPeriod <= endmth(openPeriod);
__________________
Sapere aude