Работа с числами в 1С 8.2 и 8.3

 

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

В начале скажем, что максимальная разрядность для числа равняется 38-ми знакам, при этом для целой части выделено 32 символа.

При этом в конфигураторе можно указать длину числа в 64 символа (при точности в 32 символа), но это вероятно какая-то ошибка, так как при попытке обновить конфигурацию Вы увидите нечто подобное:

Ошибка конфигуратора
Ошибка конфигуратора

С числами в 1С можно выполнять все стандартные арифметические операции:

  • “+” — сложение;
  • “-” — вычитание;
  • “*” — умножение;
  • “/” — деление;
  • “%” — остаток от деления.

Функции для работы с числами в 1С 8.2 и 8.3

Окр

Функция Окр(x, y, z) позволяет округлить число “x” в зависимости от заданной разрядности “y” и режима округления “z”.

Цел

Функция Цел(x) возвращает целую часть переданного в параметре числа “x”.

Число

Функция Число(x) пытается преобразовать полученное значение “x” в значение типа Число. Такому преобразованию поддаются значения типа Булево и типа Строка (строка должна состоять только из цифр), во всех остальных случаях генерируется ошибка.

Формат

Функция Формат(x, y) позволяет получить заданным, при помощи форматной строки “y” образом форматированное строковое представление числа “x”. Подробнее об этой функции в соответствующей статье.

Число прописью

Функция ЧислоПрописью(x, y, z) формирует представление числа “x” прописью исходя из форматной строки “y” и параметров предмета исчисления “z”. Подробнее об этой функции в соответствующей статье.

Мин

Функция Мин(x1…xn) возвращает минимальное из переданных ей значений “x1…xn”, работает не только с числами.

Макс

Функция Макс(x1…xn) возвращает максимальное из переданных ей значений “x1…xn”, как и предыдущая функция работает не только с числами.

Вычислить

Функция Вычислить(x) позволяет вычислить математические и логические выражения “x”, а также операции конкатенации.

Модуль

В 1С пока нет отдельной функции для получения модуля числа, но эта проблема решается просто:

Использование этой функции:

Sqrt

Функция Sqrt(x) просто возвращает квадратный корень переданного ей числа “x”.

Pow

Функция Pow(x, y) возводить число “x” в степень “y” и возвращает результат.

 

Exp

Функция Exp(x) возвращает результат возведения числа Эйлера в указанную степень “x”.

Логарифм

Функции Log(x) и Log10(x) возвращают натуральный и десятичный логарифм числа “x” соответственно.

Тригонометрия

Набор функций которые вычисляют соответствующие тригонометрические функции, результат исчисляется в радианах:

  • Sin(x) — синус;
  • Cos(x) — косинус;
  • Tan(x) — тангенс;
  • ASin(x) — арксинус;
  • ACos(x) — арккосинус;
  • ATan(x) — арктангенс.

Случайные числа

Для получения случайных чисел в 1С существует даже не функция, а целый объект — генератор случайных чисел, пусть даже этот объект содержит всего один метод — СлучайноеЧисло(x, y), который возвращает случайное число в диапазоне от “x” до “y”.

Ввести число

Функция ВвестиЧисло(x, y, z, v) позволяет вывести форму ввода числа, которое записывается в переменную “x”, в параметрах можно указать подсказку “y”, длину числа “z” и точность “v”.

В результате получится что-то вроде этого:

Окно ввода числа
Окно ввода числа

Типовые задачи при работе с числами в 1С 8.2 и 8.3

Дробная часть числа

Если для извлечения целой части числа в 1С существует специальная функция, то для того чтобы получить дробную часть придется использовать арифметические операции:

Строку в число

Преобразование строки в число выполняется функцией Число(), о которой было написано чуть выше, но самой по себе этой функции недостаточно, так как первый же пробел (или любой другой неподходящий символ) и 1С любезно сообщит нам о том, что преобразование к типу Число не может быть выполнено:

Ошибка преобразования к типу Число
Ошибка преобразования к типу Число

Чтобы избежать этого необходимо использовать конструкцию вида:

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 7, средняя оценка: 3,29 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 4
  1. Nina

    Подскажите, а куда вставлять код с ВвестиЧисло?
    Создала внешнюю обработку и вставила в её форму, однако в конфигураторе ни намёка на окно ввода.

    1. Окно ввода появляется не в конфигураторе, а в режиме предприятия, в тот момент когда вызывается функция «ВвестиЧисло».

  2. valnat

    Добрый день, у меня в конфигураторе-свойства реквизита- в поле значения выбрано «число», а в окне «длина» выбирается максимум значение «19», а надо минимум «21». Прошу помочь, версия 7.7
    Спасибо.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: