22 ноября, 2024

Математика в коде 1С

Конечно, не часто, но попадаются задачи, где необходимо использовать математические функции, например корень числа или тригонометрические синусы с косинусами. Встроенный язык 1С:Предприятия на такие вещи обделен, однако, можно воспользоваться доступным в среде Windows языком VBScript.

Для вычисления выражений с функциями на VBScript необходимо в коде 1С создать объект “MSScriptControl.ScriptControl”, свойство “Language” установить в “VBScript” и потом вызвать метод “Eval” которому в качестве аргумента передается строка с вычисляемым выражением.

Пример вычисления косинуса числа:

2011-06-20_102606

Результат выполнения кода для Аргумент = 0 :

2011-06-20_102706

Переменная “Аргумент” должна быть выражена в радианах, если кто забыл, перевести из радиан в градусы можно учитывая то, что 180 градусов равны числу Пи радиан, число Пи = 3.1415926535897932384626433832795. Теперь, к примеру, перевод из градусов в радианы будет выглядеть так:

Apгумeнт = (Apгумeнт/180)*ЧиcлoПИ;

Кроме приведенного в примере косинуса доступны также:

Abs — абсолютное значение
Atn — арктангенс
Exp — экспонента (число е в степени)
Rnd — случайное число
Sgn — знак числа
Sin — синус
Sqr — квадратный корень
Tan — тангенс
Hex — перевод из 10-тичной в 16-ричную
Oct — перевод из 10-тичной в 8-ричную

Приведенный в примере код проверен на Windows 7 и Windows XP.