Где находится конструктор форматной строки
Конструктор форматной строки позволяет разработчику составить текст форматной строки исключительно визуальными средствами и предназначен для настроек правил отображения значений типа "Число", "Дата", или "Булево" в выводных формах или полях ввода данных.
Форматная строка представляет собой строковое значение, включающее параметры форматирования. Используются в конструкциях встроенного языка для того, чтобы сформировать нужное представление отображаемых данных (см. также справку 1С: Глобальный контекст (Global context) Формат (Format)).
Формирует удобное для чтения представление значений. Полезно использование в отчетах и при прочем визуальном отображении значений.
Параметры форматирования перечисляются через символ ";". Наличие параметра означает отличие форматирования от стандартного.
Если параметр не задан, то применяется стандартное форматирование, которое в основном соответствует преобразованию значения к строке. Однако для значений типа Число и Дата по умолчанию (0 и 01.01.0001 00:00:00 соответственно) будет выдаваться пустая строка.
- en Английский
- en_US Английский (Соединенные Штаты Америки)
- ru Русский
- ru_RU Русский (Россия)
- ru_UA Русский (Украина)
- uk Украинский
- uk_UA Украинский (Украина)
- zh Китайский
- zh_CN Китайский (Китай)
Остальные языки можно посмотреть в справке 1С.
- ЧЦ (ND) - общее число отображаемых десятичных разрядов целой и дробной частей. Исходное число округляется при этом в соответствии с правилами округления Окр15как20 (при округлении 1.5 будет округлено до 2). Если указан этот параметр, то для отображения дробной части числа обязательно указание параметра ЧДЦ, иначе дробная часть отображаться не будет.
- ЧДЦ (NFD) - число десятичных разрядов в дробной части. Исходное число округляется при этом в соответствии с правилами округления Окр15как20.
- ЧС (NS) - сдвиг разрядов: положительный - деление, отрицательный - умножение. Другими словами, это означает, что исходное число будет умножено или поделено на 10*С, где С - значение параметра по модулю.
- ЧРД (NDS) - символ-разделитель целой и дробной части.
- ЧРГ (NGS) - символ-разделитель групп целой части числа. Если в качестве разделителя использовать пустую строку, то в этом случае разделителем будет символ неразрывного пробела.
- ЧН (NZ) - строка, представляющая нулевое значение числа. Если не задано, то представление в виде пустой строки. Если задано "ЧН=", то в виде "0". Не используется для числовых полей ввода.
- ЧВН (NLZ) - если параметр указан, лидирующие нули выводятся. Если не указан - лидирующие нули не выводятся. Значение параметра игнорируется.
- ЧГ (NG) - порядок группировки разрядов числа. В качестве значения указываются числа, через запятую, обозначающие количество группируемых разрядов справа налево. Имеют смысл только два первых числа. Первое из них указывает первичную группировку, то есть ту, которая будет использована для наименее значимых разрядов целой части числа. Если второе число не указано, то будут сгруппированы только наименее значимые разряды. Если в качестве второго числа задан 0, то для всех разрядов целой части числа будет применено значение указанное для первичной группировки. Если в качестве второго числа используется значение, отличное от 0, то это значение будет использовано для группировки всех разрядов, кроме уже сгруппированных наименее значимых.
- ЧО (NN) - представление отрицательных чисел.
- 0 (0) - строка вида "(1,1)";
- 1 (1) - строка вида "-1,1";
- 2 (2) - строка вида "- 1,1";
- 3 (3) - строка вида "1,1-";
- 4 (4) - строка вида "1,1 -".
- д (d) - день месяца (цифрами) без лидирующего нуля;
- дд (dd) - день месяца (цифрами) с лидирующим нулем;
- ддд (ddd) - краткое название дня недели *);
- дддд (dddd) - полное название дня недели *);
- М (m) - минута без лидирующего нуля;
- ММ (mm) - минута с лидирующим нулем;
- МММ (MMM) - краткое название месяца *);
- ММММ (MMMM) - полное название месяца *);
- к (q) - номер квартала в году;
- г (y) - номер года без века и лидирующего нуля;
- гг (yy) - номер года без века с лидирующим нулем;
- гггг (yyyy) - номер года с веком;
- ч (h) - час в 12-часовом варианте без лидирующих нулей;
- чч (hh) - час в 12-часовом варианте с лидирующим нулем;
- Ч (H) - час в 24-часовом варианте без лидирующих нулей;
- ЧЧ (HH) - час в 24-часовом варианте с лидирующим нулем;
- м (m) - минута без лидирующего нуля;
- мм (mm) - минута с лидирующим нулем;
- с (s) - секунда без лидирующего нуля;
- сс (ss) - секунда с лидирующим нулем;
- вв (tt) - отображение половины дня AM/PM (действительно только для языков конфигурирования, поддерживающих 12 часовой вариант представления времени).
Примечание: *) - не используется для форматной строки поля ввода даты.
- ДЛФ (DLF) - локальный формат даты. Указывается вариант отображения частей даты.
- Д (D) - дата (цифрами);
- ДД (DD) - длинная дата (месяц прописью);
- В (T) - полное время, дата может объединяться со временем;
- ДВ (DT) - дата время.
Пример: выражение Формат('20051120140323',"ДЛФ=ДДВ") имеет значение "20 ноября 2005 г. 14:03:23".
Важно! Порядок следования опций форматной строки для ДЛФ (ДВ или ДДВ) не может быть изменен.
- ДП (DE) - строка, представляющая пустую дату (например, Формат('00010101000000' ,"ДП=""пустая дата""") вернет строку "пустая дата").
- БЛ (BF) - строка, представляющая логическое значение Ложь.
- БИ (BT) - строка, представляющая логическое значение Истина.
- ЧФ (NF) - шаблон форматирования числа. В строке можно использовать символ Ч(N) для указания позиции, в которую нужно вывести число. Число выводится с учетом остальных параметров, заданных в форматной строке. Остальные символы выводятся как есть. Символы, находящиеся между двойными или одинарными кавычками выводятся как есть. Шаблон форматирования не применяется к числу 0 (за исключением случая наличия в формате строки параметра "ЧН text-align: justify;"> Примечание. Использование параметров для поля ввода:
- параметр ДП (DE) не используется;
- параметр ДЛФ (DLF) используется только со значениями Д (D), В(T) и ДВ (DT).
Конструктор форматной строки можно:
- вызывать в поле ввода и ячейке табличного документа;
- использовать при написании текстов модулей.
Конструктор форматной строки поддерживает формирование форматных строк:
- для числовых значений;
- для логических значений;
- для значений типа "Дата".
Результатом работы конструктора будет являться строка, соответствующая правилам составления форматных строк и отображаемая в нижней части конструктора.
Конструктор позволяет редактировать уже имеющиеся в модуле форматные строки, для чего достаточно установить курсор внутри существующей форматной строки и вызвать конструктор.
Имеющаяся форматная строка будет проанализирована и представлена в конструкторе в виде соответствующих параметров форматирования.
Вызов конструктора форматной строки:
- через свойство "Формат" соответствующего элемента (объекта);
- через меню "Текст" - "Конструктор форматной строки. ";
- через контекстное меню модуля командой "Конструктор форматной строки. ".
Через меню "Текст" - "Конструктор форматной строки. " (после установки курсора в текст модуля):
В этой статье я разберу особенности применения конструктора форматной строки. С его помощью работу в «1С: Предприятие» можно сделать более удобной и красивой. При помощи конструктора форматной строки можно примитивные типы (Число, Дата и Булево) выводить пользователю в удобном для чтения виде.
Но перед тем как рассматривать конструктор форматной строки, познакомимся с функцией Формат.
Рассмотрим её синтаксис. Он достаточно простой:
Значение — некоторое значение примитивного типа Число, Дата или Булево.
ФорматнаяСтрока – это строка или правило, по которому наше значение будет преобразовываться в текстовую строку. Эта функция возвращает значение с типом Строка.
Эта функция работает во всех видах клиентов (тонкий клиент, толстый, веб), поэтому её можно применять где угодно.
Для того, что бы понять, как она работает, я создам простую обработку, на форме которой размещу три реквизита: РеквизитБулево, РеквизитДата и РеквизитЧисло с соответствующими типам , и создам три команды: «Форматировать булево», «Форматировать дату» и «Форматировать число», которые размещу на форме в виде кнопок.
Создадим обработчик команды «Форматировать дату» в клиентском контексте, и напишем в нем следующий код:Я намеренно оставил форматную строку пустую, что бы Вам стало понятно, каким образом её можно очень быстро и удобно формировать. Для того что бы узнать каким образом форматировать нам ту или иную переменную примитивного типа, можно смотреть справочную информацию и вникать во все особенности форматирования (хотя это очень нужно и полезно), а можно воспользоваться конструктором форматной строки. Для этого нужно поставить курсор между кавычек и либо вызвать конструктор через контекстное меню
Или через главное меню конфигуратора 1С
После этого откроется форма конструктора форматной строки, где будет три закладки: Число, Дата и Булево, а так же поле выбора языка.
Поскольку мы форматируем дату, то перейдем на закладку «Дата».
Заметьте, внизу есть группа «Пример», где Вы можете посмотреть, как будет выглядеть Ваше отформатированное значение.
Конструктор предоставляет возможность отформатировать дату в трех форматах.
Это свободный формат даты
Локальный формат даты
Если Вы установите одновременно и локальный и свободный формат, то дата будет форматироваться согласно свободному формату.
Какой бы Вы формат не выбрали, внизу будет показано представление форматной строки
И после нажатия кнопки «Ок» параметр ФорматнаяСтрока заполнится согласно этому представлению.На этом по большому счету работа с конструктором закончилась. Если мы сейчас сохраним обработку, то при выполнении команды «Форматировать дату», будет выходить наша отформатированная дата, согласно установленному формату.
Естественно у многих из вас возникнет вопрос.
Каким образом составлять свободный формат даты?
А вот для этого нам придется все-таки залезть в дебри справочной информации 1С.
Что бы это сделать, ставим курсор на слово формат и нажимаем комбинацию клавиш Ctrl+F1, откроется вот такое окно.
В нем мы выбираем самую нижнюю строку «Глобальный контекст/Функции форматирования/Формат» и переходим в справку. И вот касательно формата даты, в справке есть описание всех имен, которые могут встречаться.
Если же Вам неохота или некогда во все это вникать, то можете всегда воспользоваться локальным форматом даты в конструкторе.
Тут конечно ограниченное количество возможных форматов, но зато не придется что-то самим подбирать. Кстати, описание локальных форматов даты в справке тоже есть, и я Вам рекомендую с ними познакомиться.
Идем дальше. У нас осталось еще два типа, которые можно форматировать по определенным правилам в строку. Это Число и Булево.
С ними все точно так же как и с датами.
Для примера, создадим обработчик команды «Форматировать число» в клиентском контексте. И так же, как и в случае Даты, будет в процедуре Сообщить форматировать реквизит РеквизитЧисло.Опять же, вызываем конструктор форматной строки одним из знакомых нам способом и переходим на закладку «Число».
У этого формата девять различных значений, каждое из которых опять-таки описывается в справочной информации.
Я разберу только некоторые из них дабы не утомлять Вас. Но перед этим подскажу, как понять какой флажок какому значению формата соответствует в справке. Для этого ставим нужную галочку, внизу смотрим, какое значение прописалось, и ищем его в справке.
Разберем некоторые форматы.
Очень часто пользователям мешает группировка цифр, и необходимо её убрать. Для этого нужно установить в параметр «Группировка» значение «0».
После этого число будет в обычном виде, без всяких разделений групп.
Еще интересный параметр – сдвиг. В том случае, когда он указан число будет умножено или поделено на 10 в степени этого параметра.
Остальные параметры форматирования числа не должны вызвать особых затруднений. Если возникнут вопросы, можете смело задавать их в комментариях.
Доделаем нашу форматную строку для числа: длину поставим 12, точность 2, и уберем группировку. Получится вот такой формат.
И у нас получится следующая форматная строка:Посмотрим, как работает наше форматирование
Разберем форматирование последнего примитивного типа – Булево. Для этого , так же как и для предыдущих типов, создадим процедуру на клиенте, где будем форматировать реквизит РеквизитБулево в процедуре Сообщить.Откроем конструктор форматной строки и перейдем на закладку «Булево»
Тут все просто. Можно выбрать или какое-то предопределенное значение, которое будет выходить вместо Истина-Ложь.
Или написать какие-нибудь свои значения.
Подставим последний вариант в форматную строку функции Формат.Сохраним обработку и посмотрим, как будет работать наш формат.
На этом бы и закончить изучение конструктора форматной строки.
Конструктор форматной строки можно использовать во всех полях, которые отображают значения одного из вышеперечисленных типов (число, булево, дата). Это может быть поле СКД или поле формы.
Например, у этого журнала, есть поле Дата.
К этому полю можно применить формат, и даты будут выходить так, как нам удобно.
Для этого нужно зайти в настройки формы.
И найти нужное поле.
Если у этого поля есть свойство Формат, то нужно нажать на кнопку «…» рядом с этим свойством, и откроется уже знакомый Вам конструктор форматной строки, где можно сделать любые необходимые настройки.
После этого наша форма списка изменится
Точно так же можно настроить формат полей СКД. Нужно зайти в оформление поля и найти свойство Формат.
В котором можно уже по знакомой нам технологии настроить нужный формат поля с примитивным типом.
Таким образом, конструктор форматной строки применим ни только при программировании код, но и при настройке интерфейса, при работе СКД и т.д., что делает его очень удобным инструментом в настройке пользовательского интерфейса.Более подробно и основательно начальные вопросы программирования в 1С есть в моей книге:
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Вступайте в мои группы:
3 thoughts on “ Конструктор форматной строки ”
Есть поле, с типом число. Сейчас в число можно вбить только два знака после запятой (например 1,17). А нужно до 6 знаков после запятой (например 1, 176760). Пробовал задавать точность 6, но с этим параметром система сначала даёт вбить число 1,17676, а потом сама округляет число до 1,180000. Как убрать округление?
Все правильно, если у реквизита с типом Число точность 2, то платформа будет «округлять» до 2-ух знаков после запятой, какую бы точность не поставили в формате. В этом случае в базе просто физически не могут храниться числа с большей точностью. Т.е. если у числа точность 2, то в базе могут храниться числа 1.18, 1.2, 1, 0.1, 0.12. Но не могут храниться числа 1.767, 1.202, 0.001, если Вы введете в поле такое число (или получите его в результате вычислений), то платформа приведет его к числу с точностью 2.
Как отбросить дробную часть числа?
Делаю ЧДЦ=» и в примере 11,70 превращается в 12
Мне же надо 11. ЧДЦ=»-1 работает, но однако коряво, имею
11, Т.е. отображается и разделитель дробной части.
В общем надо округление не стандартное, а в целое отличное от станд.
на -1Конструктор форматной строки предназначен для формирования правил представления значений простых типов в виде строки. Он может использоваться как в полях ввода (поле Формат палитры свойств), так и в коде (функция Формат()).
Для вызова конструктора форматной строки из палитры свойств нажмите на кнопку выбора (…):
Для вызова конструктора форматной строки из программного модуля, выберите одноименный пункт контекстного меню:
Параметры форматной строки для типа Число
- Длина — общая длина полученного числового значения (целой и дробной части без учета знака и разделителей). Если указана длина, необходимо указать и Точность, иначе дробная часть будет отсекаться;
- Точность — длина дробной части числового значения;
- Сдвиг — сдвиг исходного значения вправо (умножение на 10 в степени -n) или влево (умножение на 10 в степени n). Используется для получения представления вида 999 млн руб;
- Разделитель дробной части — символ, который будет использоваться для отделения целой части от дробной. Можно выбрать значение из списка или ввести свой вариант;
- Разделитель групп — символ, который будет использоваться для разделения триад целой части. Например 1’000’000.00. Можно выбрать значение из списка или ввести свой вариант;
- Группировка — способ группировки числовых символов. Можно выбрать значение из списка или ввести свой вариант;
- Представление нуля — представление нулевого значения (по умолчанию — пустая строка). Можно выбрать значение из списка или ввести свой вариант;
- Представление отрицательных чисел — представление для отрицательных чисел. Возможные варианты перечислены в выпадающем списке;
- Шаблон форматирования числа — произвольный шаблон форматирования, где символ Ч обозначает полученное представление числа
Параметры форматной строки для типа Дата
- Формат даты — произвольный формат даты (варианты значений). Можно выбрать значение из списка или ввести свой вариант;
- Локальный формат даты — формат даты, который будет сформирован в соответствии с региональными установками информационной базы. Возможные варианты перечислены в выпадающем списке;
- Представление пустой даты — строковое представление для пустой даты. Можно выбрать значение из списка или ввести свой вариант;
Параметры форматной строки для типа Булево
- Представление для значения Ложь — строковое представление булева значения ЛОЖЬ;
- Представление для значения Истина — строковое представление булева значения ИСТИНА;
Разберем основные вопросы преобразования типов в 1С 8.3: из строки в число, из числа в строку, из даты в число и прочие варианты. В этой статье мы рассмотрим функции преобразования значений, и я соберу в едино все варианты преобразования примитивных типов.
Строка в число в 1С
Узнаем, как в 1С 8.3 преобразовать строку в число.
Пусть, у нас есть числа в таком виде.
Для того, чтобы выполнить преобразование этих строк в число, необходимо воспользоваться методом Число. Этот метод преобразует параметр в число.
Обратите внимание, что разделять дробную часть можно в строке как при помощи символа точка «.», так и при помощи символа запятая «,». Если перед каким-то числом в строке стоят нули, то они отсекаются. У нас будет следующий результат.
Число в строку в 1С
Рассмотрим обратную задачу, когда в 1С 8.3 нужно преобразовать число в строку. Самый простой вариант использовать метод Строка, который преобразует собственный параметр в строку.
И какой результат возвращает этот код:
У этого способа имеется недостаток: он ставит пробелы между разрядами у длинных чисел. Для того, чтобы в 1С преобразовать число в строку без пробелов нужно воспользоваться функцией Формат. Данная функция имеет два параметра: преобразуемое значение и форматную строку. Если нам нужно указать, что число преобразуется в строку без пробелов в разряде, то необходимо указать в форматной строке, что порядок разделения группировки разрядов числа или равен 0, или пустой.
Результат будет без разрядов:
Строка в дату 1С
Узнаем, как преобразовать в 1С 8.3 строку в дату. Для этого необходимо использовать метод Дата, который преобразует параметр (в том числе строку ) в дату . Причем, замечу, что строка должна быть задана в таком формате «ГГГГММДДЧЧММСС».
Подробнее о форматах дат читайте в этой статье: даты в 1С.
Если мы зададим дату в не верном формате, то преобразование не произойдет и возникнет ошибка «Преобразование значения к типу Дата не может быть выполнено».
Например, этот код:
Приведет к ошибке:
Дата в строку в 1С
Преобразовать дату в строку можно несколькими способами. Первый способ: воспользоваться уже знакомым нам методом Строка.
В этом случае у нас выйдет строка в обычном «полном» формате даты.
А чтобы получить дату в том формате, в каком нам нужно, необходимо воспользоваться методом Формат.
Форматов дат может быть великое множество ,все я разбирать в этой статье не буду, покажу только как можно быстро воспользоваться этой функцией.
Мы изменим предыдущий код, написав вместо метода Строка метод Формат, а в качестве второго параметра у метода Формат напишем просто две кавычки.
После нужно между кавычками поставить курсор, вызвать контекстное меню, и применить в нем команду Конструктор форматной строки.
В этом конструкторе на закладке Дата вы можете выбрать удобный вам формат даты.
И после нажатия кнопки ОК этого конструктора, нужный формат появится в виде строки.
В результате метода Формат, дата будет преобразована в строку в том виде, в каком нам необходимо.
Строка в булево в 1С
При помощи метода Булево мы можем некоторые строковые представления (Да, Нет, Истина, Ложь) преобразовывать в значения Истина или Ложь.
Например, следующие переменные:
Будут иметь такие значения:
Булево в строку в 1С
Разберем, как в 1С можно выразить тип булево строкой. Булево значение можно преобразовать в строку несколькими способами. Во-первых, можно просто воспользоваться методом Строка.
Например, как здесь:
У нас будет выходить следующий результат:
В этом случае, булево в строку преобразовалось согласно региональным установкам информационной базы.
Если мы, как-то по-другому хотим преобразовать булево в строку, то можно воспользоваться уже знакомым нам методом Формат.
Переделаем, предыдущий код:
Знакомым способом вызовем конструктор форматной строки, где на закладке Булево введем преставление значений Истина и Ложь.
После нажатия кнопки ОК конструктора, второй параметр метода Формат заполнится:
И будет следующий результат:
Число в булево в 1С
В 1С 8.3. мы можем преобразовать любое число в булево по следующему правилу: 0 будет преобразован в Ложь, все остальные значения в Истина.
Будет следующий результат:
Булево в число в 1С
Можно сделать и обратное преобразование. Булево значение в число.
Для этого нужно воспользоваться методом Число, где в качестве параметра указать булево значение. Тогда Истина будет преобразована в 1С, а Ложь – в 0.
Например, как в этом коде:
С таким результатом:
Статьи о примитивных типах в 1С:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.Конструктор печати 1C предназначен для создания макета печатной формы некоторых объектов прикладного решения и процедуры на встроенном языке, которая будет формировать печатную форму на основании этого макета.
Конструктор печати работает со справочниками, документами, журналами документов, регистрами сведений и пр., и позволяет:
- выбрать вариант работы конструктора (для форм управляемого или обычного режима);
- создать новую команду или изменить существующую;
- определить поля (реквизиты), которые будут печататься в шапке и таблицах макета;
- задать параметры печати.
В результате работы конструктора печати:
Если в конструкторе печати указано имя процедуры, которая будет выполнять построение печатной формы, и такая процедура уже присутствует в модуле, то конструктор перепишет ее заново, при этом введенный ранее в тело процедуры текст будет потерян.
Вызов конструктора печати 1С:
Результатом работы конструктора является программный код и макет, в который будут выводиться данные (рисунок отсюда ).
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Читайте также: