Публикация

Описание и решение одного маленького но неприятного бага

Итак моя первая запись!
Недавно обнаружился маленький бажок при попытке вводить финансовые операции для проекта итоговая сумма рассчитывалась неправильно: не пересчитывалась сумма введённая в отличной от базовой валюте.

Решение было любезно предоставленно службой поддержки. Цитирую:
1) В запросе sq_GetProjectCashflow заменить выбор колонки Amount на BasicAmount:
2) Отредактировать следующим образом функцию CalculateProjectCashflow скрипта

(Amoun переделать в BasicAmount)

function CalculateProjectCashflow(ProjectID, CashflowType, IsEstimated) {
         var Cashflow;
         var Dataset = GetSingleItemByCode('ds_GetProjectCashflow', 'CalculateProjectCashflow');
         var Parameters = Dataset.SelectQuery.Parameters;
         ApplyDatasetFilter(Dataset, 'ProjectID', ProjectID, true);        
         Parameters.ItemsByName('CashflowType').Value = CashflowType;
         if (IsEstimated) {
                   Parameters.ItemsByName('StatusID').Value = CashflowStatusBudget;
         } else {
                   Parameters.ItemsByName('StatusID').Value = CashflowStatusCompleted;
         }
         Dataset.Open();
         try {
                     Cashflow = Dataset.ValAsFloat('BasicAmount');
         } finally {
                   Dataset.Close();
                   ApplyDatasetFilter(Dataset, 'ProjectID', null, false);      
         }
         return Cashflow;
}

Нравится

Поделиться

0 комментариев
Показать все комментарии