Главная » 1С Предприятие » ФОРМАТИРОВАНИЕ ДАННЫХ

0

Представление  данных  при  их выводе на  различные  носители  можно  изменять, применяя встроенную функцию Формат, имеющую следующий синтаксис:

представлениеЗначения  =  Формат(значение,   форматнаяСтрока);

Функция Формат, получив значение, преобразовывает его в соответствии с правилами, заданными  символьным параметром форматнаяСтрока,  и  возвращает результат в виде строки с отформатированными данными.

Пример.  Выводится число -123.45  на  поле  длиной в  9 символов. В четырех  последних символах поля отображаются знаки числа, стоящие после десятичной точки.

Сообщить(Формат(-123.45, "49.4"));    //  Напечатает -123.4500

Форматная строка  может начинаться  с символов Ч, С или Д, если форматируются соответственно числовые, символьные данные  или даты. Если тип данных  не соответствует, употребленному символу,  то  до  форматирования  будет  выполнено  соответствующее преобразование типов, например

Сообщить(Формат("21-я строка", "45.2"));     //     Напечатает 21.00

2.8.2.1.                 ФОРМАТИРОВАНИЕ      ЧИСЛОВЫХ ДАННЫХ

Параметр  форматнаяСтрока    при   форматировании   числовых  данных  в   общем случае  имеет следующий  вид:

"Ч[3][0][Д][.Т][Р1][Р2][>С]"

Появляющиеся в форматной строке  обозначения имеют следующий смысл:

•   3  заполнитель   ведущих пробелов,  присутствующих в   строке-результате  функции Формат.  Если  на  месте   заполнителя  указать   (0),  то  ведущие пробелы  заменяются на нули;

•    0 флаг вывода пустого  поля, когда форматируемое значение равно нулю;

•    Д длина результирующей строки в символах;

•    Т число знаков после десятичной точки (точность);

•   Р1  символ,  отделяющий  целую  часть  числа от нецелой. По  умолчанию  в  качестве разделителя Р1  используется точка;

•   Р2  символ,  разделяющий триады.   (Триада   это  тройка последовательных  чисел в целой  части числа. Например, число 1234567 при форматировании с разделением  на триады, когда  на месте  Р2 стоит символ ‘, примет вид  1’234’567.)  По умолчанию  триады не разделяются;

•   С размер  правого сдвига форматируемого значения.  В результате сдвига удаляются С правых символов целой  части форматируемого числа.

Примеры:

Сообщить(Формат( 1234567.89,        "Ч(0)20.4"));        //     Напечатает 000000001234567.8900

Сообщить(Формат(

1234567.89,

"Ч14.4,_"));

//

Напечатает

1_234_567,8900

Сообщить(Формат(

123456000,

"Ч(0)14>3"));

//

Напечатает

00000000123456

Если  длина  результирующей  строки  недостаточна  для  представления  значения, то на месте  результата напечатаются девятки и заданные разделители, например

Сообщить(Формат(1234567.89, "Ч8.2,_"));             //       Напечатает 9_999,99   .

Функция  Формат выполнит преобразование  "число строка"  без  форматирования, если форматная строка не содержит компонентов Д и/или .Т или не  имеет вид "ЧП[Д][С]", например

пред = Формат(21, "ЧМ");                           //                Вернет  21

2.8.2.2.        ВЫВОД ДЕНЕЖНЫХ ВЕЛИЧИН И ЦЕЛЫХ  ЧИСЕЛ ПРОПИСЬЮ

Форматируемое значение  выводится

•    прописью как целое число, если форматная строка имеет вид "ЧП";

•   прописью   в   виде денежной  суммы   без  копеек,  если  форматная  строка имеет  вид "ЧПД";

•   прописью  в  виде денежной суммы   с  копейками, если  форматная строка имеет  вид "ЧПДС";

Примеры:

Сообщить(Формат(59421.67,   "ЧП")); Сообщить(Формат(5 9421.67, "ЧПД")); Сообщить(Формат(59421.67,  "ЧПДС"));

Результат:

Пятьдесят  девять тысяч  четыреста двадцать два Пятьдесят  девять тысяч  четыреста двадцать два рубля

Пятьдесят  девять тысяч  четыреста двадцать один рубль 67 копеек

По    умолчанию    образцы   для   представления   чисел   прописью   берутся    из   файла 1CV7.SPL, который размещен в папке  BIN  и содержит 5 секций со следующими данными:

{"Speller",

{"Money",

{"Рубль", "Рубля", "Рублей", "Копейка", "Копейки", "Копеек", "М"}},

{"Numbers",

{"Один",  "Два",  "Три",  "Четыре",  "Пять",  "Шесть",  "Семь",  "Восемь", "Девять",  "Одна", "Две",

"Десять",  "Одиннадцать", "Двенадцать", "Тринадцать", "Четырнадцать", "Пятнадцать",  "Шестнадцать",  "Семнадцать",  "Восемнадцать",  "Девятнадцать", "Двадцать",   "Тридцать",   "Сорок", "Пятьдесят", "Шестьдесят", "Семьдесят", "Восемьдесят", "Девяносто", "Сто", "Двести", "Триста", "Четыреста", "Пятьсот", "Шестьсот", "Семьсот", "Восемьсот", "Девятьсот",

"Тысяча", "Тысячи", "Тысяч", "Миллион", "Миллиона", "Миллионов", "Миллиард", "Миллиарда", "Миллиардов", "Триллион", "Триллиона", "Триллионов", "Нуль"}},

{"Date",

{"Январь",  "Февраль", "Март",  "Апрель", "Май",  "Июнь",  "Июль",  "Август",  "Сентябрь", "Октябрь", "Ноябрь", "Декабрь",

"Января", "Февраля", "Марта", "Апреля", "Мая", "Июня",  "Июля", "Августа",  "Сентября", "Октября", "Ноября", "Декабря",

"г.", "Квартал"}},

{"DateRange",

{"Полугодие", "Месяцев"}},

{"WeekDay",

{"Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"}}

}

Замечание.  Последний  элемент секции  Money  это  латинская  буква М или F  (сокращения  от male  и  female), указывающая, какой  род  (мужской или  женский)  используется  для представления денежных единиц.

Изменить  способ  вывода числа прописью  можно, обратившись к  процедуре  Пропись, рассмотренной в разд.  2.8.5.5.

2.8.2.3.                  ФОРМАТИРОВАНИЕ     СИМВОЛЬНЫХ ДАННЫХ

Форматная строка  при  форматировании  символьных данных  имеет вид  "С[Д]",  где Д  длина  результирующей   строки.  Если   Д  больше   длины  форматируемой   строки, то последняя дополняется пробелами  справа, если  меньше, то в результате  сохраняются первые Д символов. Например:

Сообщить(СтрДлина(Формат("ААББВВ",

"С10")));

//

Напечатает 10

Сообшить(Формат("ААББВВ", "С2"));

//

Напечатает АА

Форматируемая строка не изменяется, если  компонент  Д форматной  строки  отсутствует или на его месте  стоит не число. Например:

Сообщить(Формат("ААББВВ", "С")));

//

Напечатает ААББВВ

Сообщить(Формат("ААББВВ", "СК"));

//

Напечатает ААББВВ

2.8.2.4.                ФОРМАТИРОВАНИЕ   ДАТ

При  форматировании дат форматная  строка начинается с буквы Д. Варианты задания форматной  строки приведены в табл. 2.11. В ее последнем  столбце приводятся результаты форматирования дат 21.12.01  и  05.12.01.

Форматные  строки для дат

Таблица 2.11

Форматная строка

Вид результата

Примеры

"ДДЦММГГ"

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии