1С формат числа в запросе

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Формат

Описание:

Формирует удобное для чтения представление значений. Полезно использование в отчетах и при прочем визуальном отображении значений.

Синтаксис:

Параметры:

Форматная строка представляет собой строковое значение, включающее параметры форматирования.

Параметры форматирования перечисляются через символ ";". Наличие параметра означает отличие форматирования от стандартного.

Если параметр не задан, то применяется стандартное форматирование, которое в основном соответствует преобразованию значения к строке. Однако для значений типа Число и Дата по умолчанию (0 и 01.01.0001 00:00:00 соответственно) будет выдаваться пустая строка.

Каждый параметр задается именем параметра, символом "=" и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки.

Внутри значения параметра могут указываться произвольные символы, которые при формировании результирующей строки будут отображаться как есть. Таким образом, например, можно указывать разделители часов, минут и секунд при форматировании времени. Если эти символы совпадают со значениями форматной строки, их необходимо заключать в одинарные кавычки.

Имена и значения параметров форматной строки:

  • Л – имя языка, страны, для которых будет выполняться стандартное форматирование.
  • ЧЦ – общее число отображаемых десятичных разрядов целой и дробной частей. Исходное число округляется при этом в соответствии с правилами округления. Если указан этот параметр, то для отображения дробной части числа обязательно указание параметра ЧДЦ, иначе дробная часть отображаться не будет.
  • ЧДЦ – число десятичных разрядов в дробной части. Исходное число округляется при этом в соответствии с правилами округления.
  • ЧС – сдвиг разрядов: положительный – деление, отрицательный – умножение. Другими словами, это означает, что исходное число будет умножено или поделено на 10*С, где С – значение параметра по модулю.
  • ЧРД – символ-разделитель целой и дробной части.
  • ЧРГ – символ-разделитель групп целой части числа. Если в качестве разделителя использовать пустую строку, то в этом случае разделителем будет символ неразрывного пробела.
  • ЧН – строка, представляющая нулевое значение числа. Если не задано, то представление в виде пустой строки. Если задано "ЧН=", то в виде "0". Не используется для числовых полей ввода.
  • ЧВН – нужно ли выводить лидирующие нули. Значение данного параметра не задается, собственно наличие параметра определяет вывод лидирующих нулей.
  • ЧГ – порядок группировки разрядов числа. В качестве значения указываются числа, через запятую, обозначающие количество группируемых разрядов справа налево. Имеют смысл только два первых числа. Первое из них указывает первичную группировку, то есть ту, которая будет использована для наименее значимых разрядов целой части числа. Если второе число не указано, то будут сгруппированы только наименее значимые разряды. Если в качестве второго числа задан 0, то для всех разрядов целой части числа будет применено значение указанное для первичной группировки. Если в качестве второго числа используется значение, отличное от 0, то это значение будет использовано для группировки всех разрядов, кроме уже сгруппированных наименее значимых.
  • ЧО – представление отрицательных чисел.
  • 0 (0) – строка вида "(1,1)";
  • 1 (1) – строка вида "-1,1";
  • 2 (2) – строка вида "- 1,1";
  • 3 (3) – строка вида "1,1-";
  • 4 (4) – строка вида "1,1 -".
Читайте также:  Статья состоящая из 24000 слов
  • ДФ – формат даты.
    • д – день месяца (цифрами) без лидирующего нуля;
    • дд – день месяца (цифрами) с лидирующим нулем;
    • ддд – краткое название дня недели;
    • дддд- полное название дня недели ;
    • М – номер месяца (цифрами) без лидирующего нуля;
    • ММ – номер месяца (цифрами) с лидирующим нулем;
    • МММ – краткое название месяца;
    • ММММ – полное название месяца;
    • к – номер квартала в году;
    • г – номер года без века и лидирующего нуля;
    • гг – номер года без века с лидирующим нулем;
    • гггг – номер года с веком;
    • ч – час в 12 часовом варианте без лидирующих нулей;
    • чч – час в 12 часовом варианте с лидирующим нулем;
    • Ч – час в 24 часовом варианте без лидирующих нулей;
    • ЧЧ (HH) – час в 24 часовом варианте с лидирующим нулем;
    • м – минута без лидирующего нуля;
    • мм – минута с лидирующим нулем;
    • с – секунда без лидирующего нуля;
    • сс – секунда с лидирующим нулем;
    • вв – отображение половины дня AM/PM (действительно только для языков конфигурирования, поддерживающих 12 часовой вариант представления времени).
    • ДЛФ – локальный формат даты. Указывается вариант отображения частей даты.
      • Д – дата (цифрами);
      • ДД – длинная дата (месяц прописью);
      • В – полное время, дата может объединяться со временем;
      • ДВ – дата время.
      • ДП – строка, представляющая пустую дату (например, Формат(‘00010101000000’ ,"ДП=""пустая дата""") вернет строку "пустая дата").
      • БЛ – строка, представляющая логическое значение Ложь.
      • БИ – строка, представляющая логическое значение Истина.
      • Встроенная функция запроса ВЫРАЗИТЬ() используется не только для приведения, но и для округления чисел.

        Для этого используется такой синтаксис:

        ВЫРАЗИТЬ( КАК ЧИСЛО ( . ))

        Читайте также:  Чернильная прокладка внутри принтера пропитана насквозь epson

        Общие особенности использования в запросе

        Если в качестве параметра передано не числовое значение, это может не вызывать ошибки выполнения запроса, но значение корректно не обработается:

        Например, если передан NULL или он сформировался при соединениях таблиц, значение на выходе останется NULL:

        Передача же «Неопределено» вызывает ошибку «Несовместимые типы ВЫРАЗИТЬ»:

        • Ссылочные типы или значения БУЛЕВО вызывают такую же ошибку (ИСТИНА не приводится к 1, а ЛОЖЬ к 0).
        • ВЫРАЗИТЬ строку как число также нельзя, используя эту функцию.

        Поэтому следует обрабатывать/проверять значение до его передачи в качестве параметра функции.

        Обработка значения производится по методам округления (0.5 округляется до 1.0), поэтому, если требуется получить целое значение, то следует перед округлением вычесть 0.5 (половину цены шага)

        Для округления до десятых в меньшую сторону вычесть 0.5, до сотых 0.05.

        Демонстрация использования ВЫРАЗИТЬ в запросе для округления

        Только не говорите, пожалуйста, моей матери, что я работаю в рекламном агентстве. Она думает, что я служу тапером в борделе.

        МАКСИМУМ(выразить(Номенклатура.Код как число(6,2))) – к сожалению вот так преобразовать строку в число не получится!

        На помощь придут вот такие функции. Нашел их тут.

        Использовать их так:

        Получаем максимальный числовой код для товара из спр Номенклатура, где код – строка:

        • Главная
        • В помощь 1с программисту
        • 1С Строку в число в запросе. Число в строку в запросе.

        Google+

      • © 2020 Услуги 1С программиста. Доработка и обслуживание 1С. Удаленное программирование по всей России. Платформы 7.7 8.2 8.3 , битрикс.
      • Оцените статью
        Добавить комментарий

        Adblock detector