Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Что делать с MonthsPart, ведь сумму я считаю только после разнесения объема
- домового счетчика, сейчас передаю единицу
- 2. Объем который я передаю сюда не проходит проверку:
- Volume > TarifsE(No).Volume_Min * MonthsPart
- Объемы после разнесения выходят меньше чем Volume_Min на порядок (50-150 и 3000)
- При этом в N_ACCRUALS, по 10 сервису (електро) объемы такого же порядка что и
- у меня,
- FUNCTION CalcSummByTarifsE( Data DATE,
- NormNo NUMBER,
- Volume NUMBER,
- MonthsPart NUMBER) RETURN NUMBER AS
- Result NUMBER;
- No VARCHAR2(12);
- BEGIN
- Result := 0;
- No := TarifsE.FIRST;
- WHILE No IS NOT NULL LOOP
- IF TarifsE(No).SrvNorm_ID = NormNo AND TarifsE(No).Data <= Data AND
- Data <= TarifsE(No).Data_End AND
- Volume > TarifsE(No).Volume_Min * MonthsPart THEN
- IF Volume >= TarifsE(No).Volume_Max * MonthsPart THEN
- Result := Result +
- (TarifsE(No).Volume_Max - TarifsE(No).Volume_Min) *
- MonthsPart * TarifsE(No).Tarif;
- ELSE
- Result := Result + (Volume - TarifsE(No).Volume_Min * MonthsPart) * TarifsE(No)
- .Tarif;
- END IF;
- END IF;
- No := TarifsE.NEXT(No);
- END LOOP;
- RETURN Result;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement