Формат, функция форматирования значений
//Функция формирует удобное для чтения представление значений.
// Примеры форматирования чисел ЗначФормат = Формат ( 123456.789 , "ЧЦ=10; ЧДЦ=2" ); // ЗначФормат = "123 456,79" ЗначФормат = Формат ( 123456.789 , "ЧГ=0; ЧДЦ=2" ); // ЗначФормат = "123456,79" ЗначФормат = Формат ( 123456.789 , "ЧРД='-'" ); // ЗначФормат = "123 456-789" ЗначФормат = Формат (- 123456.789 , "ЧО=0" ); // ЗначФормат = "(123 456,789)"; ЗначФормат = Формат ( 13 , "ЧЦ=5; ЧВН=; ЧГ=0" ); // ЗначФормат = "00013";
//В 8 версии для вывовода чисел прописью используется ЧислоПрописью ЧислоПрописью ( Сумма , "L=ru_RU" , Валюта . ПараметрыПрописиНаРусском ) ЧислоПрописью ( 1457.25 , "L=en_US" , "dollar, dollars, cent, cents, 2" ); // One thousand four hundreds fifty seven dollars 25 cents. ЧислоПрописью ( Сумма , "Рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2" );
//Пример представления Числа в виде Даты ЗначФормат = Формат ( 25021949 , "ЧЦ=8; ЧРГ=.; ЧВН=; ЧГ=4,2,0" ); // ЗначФормат = "25.02.1949"
// Примеры форматирования дат ЗначФормат = Формат ( '20020820153309' , "ДФ=""дд ММММ гггг 'г.' ЧЧ:мм:сс""" ); // ЗначФормат = "20 августа 2002 г. 15:33:09" ЗначФормат = Формат ( '20020820153309' , "ДФ=""дд/ММ-гггг""" ); // ЗначФормат = "20/08-2002" ЗначФормат = Формат ( '20020820153309' , "ДФ='q ""кв."" yyyy'" ); // ЗначФормат = "3 кв. 2002"; ЗначФормат = Формат ( '20020820153309' , "ДФ='""Итого"" q ""квартал""'" ) ; // ЗначФормат = "Итого 3 квартал"; ЗначФормат = Формат ( '20020820153309' , "ДФ='ММММ гггг'" ); // ЗначФормат = "Август 2002 г."; ЗначФормат = Формат ( '20020820153309' , "ДЛФ=ДД" ); // ЗначФормат = "20 августа 2002 г."; ЗначФормат = Формат ( '20020820153309' , "ДЛФ=Д" ); // ЗначФормат = "20.08.2002"; ЗначФормат = Формат ( '20020820153309' , "ДЛФ=В" ); // ЗначФормат = "15:33:09";
ЗначФормат = Формат ( '20020820153309' , "ДФ=HHmmssyyyyMMdd" ); // ЗначФормат = "15330920020820"; ЗначФормат = Формат ( '20020820153309' , "ДФ=HH:mm:ss yyyy MM dd" ); // Время 24 часа - ЗначФормат = "15:33:09 2002 08 20"; ЗначФормат = Формат ( '20020820153309' , "ДФ=hh:mm:ss yyyy MM dd" ); // Время 12 часов - ЗначФормат = "03:33:09 2002 08 20";
Формат ( Дата ( 2009 , 1 , 1 ), "ДЛФ=DD" ) + ", " + ОпределитьДеньНедели ( ДеньНедели ( Дата ( 2009 , 1 , 1 ))); // 1 января 2009 г., Четверг (Смотрите в "Работаем с Датами" Функция Определить день недели) Формат ( Дата ( 2009 , 1 , 1 ), "ДФ=ММММ" ) + ", " + Формат ( Дата ( 2009 , 1 , 1 ), "ДФ=yyyy" ) + " г." ; // Январь, 2009 г. Формат ( НачалоНедели ( Дата ( 2009 , 1 , 1 )), "ДФ='dd MMMM yyyy'" ) + " г. - " + Формат ( КонецНедели ( Дата ( 2009 , 1 , 1 )), "ДФ='dd MMMM yyyy'" ) + " г." ; // 29 декабря 2008 г. - 04 января 2009 г.
// ДЕКАДУ нельзя вывести через формат, но можно так: Строка ( Цел ( День ( Дата ( '20020820153309' )) / 10 ) + 1 )+ " декада" = 2 декада
// Примеры форматирования логических выражений ЗначФормат = Формат (Истина, "БЛ=Отсутствует; БИ=Доступен" ); // ЗначФормат = "Доступен"; ЗначФормат = Формат (Ложь, "БЛ=Нет; БИ=Да" ); // ЗначФормат = "Нет";
// Символы, определяющие тип форматируемых данных: // Ч — число (Англоязычный синоним: N) ЗначФормат = Формат ( 123.15 , "Ч(0)10.2" ) // 0000123.15 Долг = Строка ( Формат ( Долг (), "Ч12.2" )) + " " + Валюта . Сокр_назв ;
// Возможен вывод денежных величин и просто целых чисел прописью. В этом случае форматная строка должна иметь вид "ЧПДС". // Наличие буквы "П" (в английском варианте для аналогичной цели используется буква "S") определяет сам факт вывода числа прописью. // Символ "Д" (в английском варианте — "M") обозначает вывод денежной величины и является необязательным. // Символ "С" (в английском варианте — "H") также необязателен и означает вывод с копейками. ИтогоСуммаПрописью = Формат ( Итог ( "Сумма" ), "ЧПДС" ); КоличествоНаименованийПрописью = Формат ( КоличествоСтрок (), "ЧП" );
// С — строка (Англоязычный синоним: S) // "Сn", где n — положительное целое число определяющее ширину поля, в котором будет размещаться строка. // В случае, если ширина поля превосходит длину строки сформатированная строка будет дополнена справа пробелами, если же ширина поля меньше длины строки — строка будет усечена справа.
// Д — дата (Англоязычный синоним: D) ДатаДокумента = Формат ( Док . ДатаДок , "Д ДД.ММ.ГГ" ); //12.03.08 ДатаДокумента = Формат ( "01.01.1999" , "Д(0)ДДММММГГГГ" ); // 01 Января 1999 г.
//Для форматирования даты используется форматная строка вида "Д<ПодстрокаФормата>", где <Подстрока Формата> представляет собой строку, определяющую вид сформатированного представления даты: //DDMMYY (ДДММГГ) дата в виде ДД.ММ.ГГ //DDMMYYYY (ДДММГГГГ) дата в виде ДД.ММ.ГГГГ //DDMMMMYYYY (ДДММММГГГГ) дата в виде ДД месяц прописью ГГГГ //(0)DDMMMMYYYY ((0)ДДММММГГГГ) этот формат представляет собой вариант предыдущего формата с тем отличием, что число месяца всегда выводится двумя цифрами, т. е. для чисел меньших 10 спереди будет добавлен 0. Например: Формат('01.01.1999', ' 'Д(0)ДДММММГГГГ' ') = 01 Января 1999 г. //MMMMYYYY (ММММГГГГ) дата в виде месяц прописью ГГГГ //MMMMYY (ММММГГ) дата в виде месяц прописью ГГ //ММММ (ММММ) дата в виде месяц прописью //QQQQYYYY (ККККГГГГ) дата в виде N квартала ГГГГ //QQQQYY (ККККГГ) дата в виде N квартала ГГ //QQQQ дата в виде N квартала //YYYYMMDD (ГГГГММДД) дата в виде ГГГГММДД, то есть дата '10.11.1998' будет представлена как строка "19981110" //WWWW (HHHH) выводит наименование дня недели, соответствующее указанной дате. Наименования дней недели берутся из файла прописи.