Creatio development guide
PDF
Документация по разработке
Описание платформы
Это документация Creatio версии 7.12.0. Мы рекомендуем использовать новую версию документации.

Миксин MoneyUtilsMixin

Glossary Item Box

Общие сведения

Миксин MoneyUtilsMixin содержит общую логику денежных расчетов.

Методы

Метод getCurrencyDivision

Метод getCurrencyDivision используется для получения номинала (кратности) валюты. Возвращает номинал (кратность) валюты. Тип возвращаемого значения — Number.

К СВЕДЕНИЮ

Номинал (кратность) валюты — количество валюты, для которого будет производиться расчет курса. Например, 1, 10, 100.

Формат метода: this.getCurrencyDivision([config]);

Возможные свойства конфигурационного объекта, передаваемого в качестве парамета, приведены в таблице 1.

Табли. 1. — Свойства объекта-параметра метода getCurrencyDivision

Название Тип Описание Значение по умолчанию
config Object Объект с дополнительными свойствами-параметрами
config.currencyAttribute (опционально) String Название атрибута модели представления, содержащего объект валюты. Currency
config.currencyDivisionProp (опционально) Number Название свойства объекта валюты, содержащее номинал (кратность) валюты. Если указано, будет возвращено именно это значение. Division
config.currencyDivision (опционально) Number Значение номинала (кратности) валюты. Если указано, будет возвращено именно это значение.

Метод recalculatePrimaryValue

Метод recalculatePrimaryValue рассчитывает значение указанного атрибута в базовой валюте.

К СВЕДЕНИЮ

Базовая валюта — валюта, относительно которой устанавливается курс для всех остальных валют. Базовая валюта указывается в системной настройке [Базовая валюта].

Формат метода: this.recalculatePrimaryValue(attribute [, config]);

Возможные параметры метода приведены в таблице 2.

Табл. 2. — Параметры метода recalculatePrimaryValue

Название Тип Описание Значение по умолчанию
attribute String Название атрибута модели представления, для которого необходимо выполнить перерасчет значения в базовой валюте.
config (опционально) Object Объект с дополнительными свойствами-параметрами. Может включать в себя параметры для метода getCurrencyDivision.
config.modelInstance (опционально) Terrasoft.BaseModel Модель представления, для которой будет осуществляться перерасчет. this

config.primaryValueAttribute

(опционально)

String Название атрибута, содержащего значение в базовой валюте. “Primary” + attribute
config.currencyRateAttribute (опционально) String Название атрибута, содержащего значение курса валюты. CurrencyRate

Метод recalculateValue

Метод recalculateValue рассчитывает значение указанного атрибута по базовой валюте.

Формат метода: this.recalculateValue(attribute [, config]);

Возможные параметры метода приведены в таблице 3.

Табл. 3. — Параметры метода recalculateValue

Название Тип Описание
attribute String Название атрибута, для которого необходимо выполнить перерасчет значения в базовой валюте.
config (опционально) Object Объект с дополнительными параметрами. Может включать в себя параметры для метода recalculatePrimaryValue, включая параметры для метода getCurrencyDivision.

Метод getPercentage

Метод getPercentage рассчитывает процент от общего количества по его части. Возвращает процент. Тип возвращаемого значения — Number.

Формат метода: this.getPercentage(amount, part);

Возможные параметры метода приведены в таблице 4.

Табл. 4. — Параметры метода getPercentage

Название Тип Описание
amount Number Общее количество.
part Number Часть от общего.

Примеры использования:

// Вернет 20.
this.getPercentage(10, 2); 
// Вернет 100.
this.getPercentage(10, 10); 
// Вернет 0.0001.
this.getPercentage(100, 0.0001); 

Метод getPercentagePart

Метод getPercentagePart рассчитывает часть от общего количества по проценту. Возвращает часть. Тип возвращаемого значения — Number.

Формат метода: this.getPercentagePart(amount, percent);

Возможные параметры метода приведены в таблице 5.

Табл. 5. — Параметры метода getPercentagePart

Название Тип Описание
amount Number Общее количество.
percent Number Процент.

Примеры использования:

 // Вернет 2.
this.getPercentagePart(10, 0.2);

Метод getIncludedPercentagePart

Метод getIncludedPercentagePart разделяет общее количество на две части, при этом одна из частей является процентной частью второй (по указанному проценту). Возвращает часть количества. Тип возвращаемого значения — Number.

Формат метода: this.getIncludedPercentagePart(amount, percent);

Возможные параметры метода приведены в таблице 6.

Табл. 6. — Параметры метода getIncludedPercentagePart

Название Тип Описание
amount Number Общее количество.
percent Number Процент.

Примеры использования:

// Вернет 1, т.к. 1 это 10% от 10, 10 + 1 = 11.
this.getIncludedPercentagePart(11, 10);

Метод roundMoney

Метод roundMoney округляет значение с точностью, указанной в Terrasoft.data.constants.MONEY_PRECISION. Используется банковское округление. Тип возвращаемого значения — Number.

Формат метода: this.roundMoney(amount);

Возможные параметры метода приведены в таблице 7.

Табл. 7. — Параметры метода roundMoney

Название Тип Описание
amount Number Общее количество.

Примеры использования:

// Если Terrasoft.data.constants.MONEY_PRECISION = 4 (по-умолчанию):
// Вернет 0.1235.
this.roundMoney(0.123456789);
// Вернет 0.1234.
this.roundMoney(0.123449);

Метод roundValue

Метод roundValue округляет значение с точностью, заданной в конфигурационном объекте, или с точностью Terrasoft.data.constants.MONEY_PRECISION. Используется банковское округление. Тип возвращаемого значения — Number.

Формат метода: this.roundValue(amount [,config]);

Возможные параметры метода приведены в таблице 8.

Табл. 8. — Параметры метода roundValue

Название Тип Описание
amount Number Общее количество.
config (опционально) Object Объект с дополнительными параметрами
config.targetColumnName (опционально) String Имя колонки модели представления, для которой производится расчет. Будет использована точность данной колонки. В случае, если у колонки нет свойства precision, будет использована точность Terrasoft.data.constants.MONEY_PRECISION
config.decimalPlaces (опционально) Number Точность (количество разрядов дробной части), с которой необходимо округлить значение.

Примеры использования:

// Вернет 0.12.
this.roundValue(0.123456789, {decimalPlaces: 2});
// В случае, если колонка с именем SomeColumnName имеет свойство
//  precision = 4, вернет 0.1235.
this.roundValue(0.123456789, {targetColumnName: “SomeColumnName”});

Метод getMoneyCalculator

Метод getMoneyCalculator возвращает объект DecimalUtils, настроенный с точностью Terrasoft.data.constants.MONEY_PRECISION. Тип возвращаемого значения — DecimalUtils.

Более подробно об объекте DecimalUtils можно узнать из статьи "Модуль DecimalUtils".

Формат метода: this.getMoneyCalculator();

Примеры использования:

var calculator = this.getMoneyCalculator();
// Вернет 3.
calculator.add(1, 2);
// Вернет 0.3.
calculator.add(0.1, 0.2);

© Terrasoft 2002-2019.

Был ли данный материал полезен?

Как можно улучшить эту статью?