Для открытия окна конструктора форматной строки необходимо

Обновлено: 18.04.2024

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

Но перед тем как рассматривать конструктор форматной строки, познакомимся с функцией Формат.

Рассмотрим её синтаксис. Он достаточно простой:

Значение — некоторое значение примитивного типа Число, Дата или Булево.

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

Эта функция работает во всех видах клиентов (тонкий клиент, толстый, веб), поэтому её можно применять где угодно.
Для того, что бы понять, как она работает, я создам простую обработку, на форме которой размещу три реквизита: РеквизитБулево, РеквизитДата и РеквизитЧисло с соответствующими типам , и создам три команды: «Форматировать булево», «Форматировать дату» и «Форматировать число», которые размещу на форме в виде кнопок.



Создадим обработчик команды «Форматировать дату» в клиентском контексте, и напишем в нем следующий код:

Я намеренно оставил форматную строку пустую, что бы Вам стало понятно, каким образом её можно очень быстро и удобно формировать. Для того что бы узнать каким образом форматировать нам ту или иную переменную примитивного типа, можно смотреть справочную информацию и вникать во все особенности форматирования (хотя это очень нужно и полезно), а можно воспользоваться конструктором форматной строки. Для этого нужно поставить курсор между кавычек и либо вызвать конструктор через контекстное меню



Или через главное меню конфигуратора 1С



После этого откроется форма конструктора форматной строки, где будет три закладки: Число, Дата и Булево, а так же поле выбора языка.



Поскольку мы форматируем дату, то перейдем на закладку «Дата».



Заметьте, внизу есть группа «Пример», где Вы можете посмотреть, как будет выглядеть Ваше отформатированное значение.



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



Локальный формат даты



Если Вы установите одновременно и локальный и свободный формат, то дата будет форматироваться согласно свободному формату.



Какой бы Вы формат не выбрали, внизу будет показано представление форматной строки



И после нажатия кнопки «Ок» параметр ФорматнаяСтрока заполнится согласно этому представлению.

На этом по большому счету работа с конструктором закончилась. Если мы сейчас сохраним обработку, то при выполнении команды «Форматировать дату», будет выходить наша отформатированная дата, согласно установленному формату.




Естественно у многих из вас возникнет вопрос.



Каким образом составлять свободный формат даты?
А вот для этого нам придется все-таки залезть в дебри справочной информации 1С.
Что бы это сделать, ставим курсор на слово формат и нажимаем комбинацию клавиш Ctrl+F1, откроется вот такое окно.



В нем мы выбираем самую нижнюю строку «Глобальный контекст/Функции форматирования/Формат» и переходим в справку. И вот касательно формата даты, в справке есть описание всех имен, которые могут встречаться.



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



Тут конечно ограниченное количество возможных форматов, но зато не придется что-то самим подбирать. Кстати, описание локальных форматов даты в справке тоже есть, и я Вам рекомендую с ними познакомиться.
Идем дальше. У нас осталось еще два типа, которые можно форматировать по определенным правилам в строку. Это Число и Булево.
С ними все точно так же как и с датами.
Для примера, создадим обработчик команды «Форматировать число» в клиентском контексте. И так же, как и в случае Даты, будет в процедуре Сообщить форматировать реквизит РеквизитЧисло.

Опять же, вызываем конструктор форматной строки одним из знакомых нам способом и переходим на закладку «Число».



У этого формата девять различных значений, каждое из которых опять-таки описывается в справочной информации.



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



Разберем некоторые форматы.
Очень часто пользователям мешает группировка цифр, и необходимо её убрать. Для этого нужно установить в параметр «Группировка» значение «0».



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


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



Доделаем нашу форматную строку для числа: длину поставим 12, точность 2, и уберем группировку. Получится вот такой формат.



И у нас получится следующая форматная строка:

Посмотрим, как работает наше форматирование



Разберем форматирование последнего примитивного типа – Булево. Для этого , так же как и для предыдущих типов, создадим процедуру на клиенте, где будем форматировать реквизит РеквизитБулево в процедуре Сообщить.

Откроем конструктор форматной строки и перейдем на закладку «Булево»



Тут все просто. Можно выбрать или какое-то предопределенное значение, которое будет выходить вместо Истина-Ложь.



Или написать какие-нибудь свои значения.



Подставим последний вариант в форматную строку функции Формат.

Сохраним обработку и посмотрим, как будет работать наш формат.


На этом бы и закончить изучение конструктора форматной строки.



Конструктор форматной строки можно использовать во всех полях, которые отображают значения одного из вышеперечисленных типов (число, булево, дата). Это может быть поле СКД или поле формы.
Например, у этого журнала, есть поле Дата.



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



И найти нужное поле.



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



После этого наша форма списка изменится



Точно так же можно настроить формат полей СКД. Нужно зайти в оформление поля и найти свойство Формат.



В котором можно уже по знакомой нам технологии настроить нужный формат поля с примитивным типом.




Таким образом, конструктор форматной строки применим ни только при программировании код, но и при настройке интерфейса, при работе СКД и т.д., что делает его очень удобным инструментом в настройке пользовательского интерфейса.

Более подробно и основательно начальные вопросы программирования в 1С есть в моей книге:

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»


Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 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

Вопрос 04.24 экзамена 1С:Профессионал по платформе. Каким образом можно задать текст надписей для элементов управления на выбранном языке?

  1. В палитре свойств элемента управления в свойстве Заголовок нажать на кнопку "Кнопка открытия". В появившемся окне "Строки на разных языках" ввести надпись
  2. Сменить язык редактирования конфигурации, а потом ввести надпись в свойстве Заголовок (или Синоним)
  3. Нет правильного ответа
  4. Верны ответы 1 и 2

Для отдельных элементов управления можно задать наименование, переключив язык редактирования конфигурации в целом (Конфигурация -> Язык редактирования конфигурации):

Вопрос 04.25 экзамена 1С:Профессионал по платформе. Конструктор строк на разных языках может использоваться для.

  1. определения строковых представлений интерфейса на разных языках
  2. определения нескольких форматных строк под разные языки
  3. перевода данных базы на разные языки
  4. верно утверждение 1 и 2
  5. верны все утверждения

Правильный ответ четвертый - на сами данные базы конструктор не распростраяется.

Вопрос 04.26 экзамена 1С:Профессионал по платформе. Для открытия окна конструктора строк на разных языках необходимо.

  1. нажать кнопку открытия в палитре свойств элемента управления формы в свойстве Формат
  2. установить курсор в текст модуля и выбрать пункт "Текст – Конструктор строк на разных языках"
  3. находясь в палитре свойств элемента управления формы в свойстве Формат, выбрать пункт "Текст – Конструктор строк на разных языках"
  4. верно утверждение 1 и 2

Правильный ответ четвертый, разбор см.выше.

Вопрос 04.27 экзамена 1С:Профессионал по платформе. Количество языков для конструктора строк на разных языках.

  1. предопределено в платформе и неизменно
  2. задается настройками конфигуратора
  3. определяется в конфигурации и ограничено набором языков
  4. определяется в конфигурации и может расширяться программно

Правильный ответ четвертый. Языки редактирования конфигурации задаются в соответствующей ветке дерева объектов, см. пост Мультиязычность.

10 комментариев:

Этот комментарий был удален автором.

Вопрос 04.25 экзамена 1С:Профессионал по платформе. Конструктор строк на разных языках может использоваться для.

определения строковых представлений интерфейса на разных языках
определения нескольких форматных строк под разные языки

Объясните, пожалуйста, как Конструктор строк на разных языках может использоваться для определения нескольких форматных строк под разные языки? И что под этим вообще подразумевается? Форматная строка и так определяется под конкретный язык, указанный в ней самой.

Макеты предназначены для хранения или отображения самых разнообразных данных, используемых как прикладным решением в целом, так и отдельными объектами конфигурации. Создание и редактирование макетов производится соответственно с помощью конструктора макетов. Конструктор макетов вызывается при создании нового макета объекта конфигурации:

  1. для создания макетов объектов конфигурации
  2. для создания общих макетов
  3. при написании текстов модулей
  4. верны утверждения 1, 2
  5. все утверждения верны

Вопрос 04.02 экзамена 1С:Профессионал по платформе. Для открытия окна конструктора макета необходимо.

  1. выполнить пункт "Действия — Добавить", если выбрана ветвь подчиненного объекта "Макеты"
  2. выполнить пункт "Действия — Добавить", если выбрана ветвь "Общие макеты
  3. установить курсор в текст модуля и выбрать пункт "Текст – Конструктор макета"
  4. верно утверждение 1 и 2

Вопрос 04.03 экзамена 1С:Профессионал по платформе. Макет какого типа может быть создан конструктором макетов?

  1. Active document
  2. Табличный документ
  3. XML документ
  4. Таблицу значений
  5. Все ответы правильные
  6. Верны 1, 2 утверждения

Вопрос 04.04 экзамена 1С:Профессионал по платформе. Какие данные может содержать макет, созданный конструктором макетов?

  1. Текстовый документ
  2. Географическую схему
  3. Дерево значений
  4. Все ответы правильные
  5. Верны 1, 2 утверждения

Вопрос 04.05 экзамена 1С:Профессионал по платформе. При работе с конструктором макета необходимо выполнять загрузку из файла при работе с типами макета:

  1. Табличный документ, Текстовый документ, HTML-документ
  2. Текстовый документ, Двоичные данные, Active document, Географическая схема
  3. Двоичные данные, Active document, Географическая схема
  4. HTML-документ, Двоичные данные, Active document, Географическая схема

Правильный ответ третий. Поле загрузки файла доступно из конструктора макетов при выборе указанных типов данных:

Разберем основные вопросы преобразования типов в 1С 8.3: из строки в число, из числа в строку, из даты в число и прочие варианты. В этой статье мы рассмотрим функции преобразования значений, и я соберу в едино все варианты преобразования примитивных типов.

Строка в число в 1С

Узнаем, как в 1С 8.3 преобразовать строку в число.

Пусть, у нас есть числа в таком виде.

Для того, чтобы выполнить преобразование этих строк в число, необходимо воспользоваться методом Число. Этот метод преобразует параметр в число.

Обратите внимание, что разделять дробную часть можно в строке как при помощи символа точка «.», так и при помощи символа запятая «,». Если перед каким-то числом в строке стоят нули, то они отсекаются. У нас будет следующий результат.

Строка в число в 1С

Число в строку в 1С

Рассмотрим обратную задачу, когда в 1С 8.3 нужно преобразовать число в строку. Самый простой вариант использовать метод Строка, который преобразует собственный параметр в строку.

И какой результат возвращает этот код:

Число в строку в 1С

У этого способа имеется недостаток: он ставит пробелы между разрядами у длинных чисел. Для того, чтобы в 1С преобразовать число в строку без пробелов нужно воспользоваться функцией Формат. Данная функция имеет два параметра: преобразуемое значение и форматную строку. Если нам нужно указать, что число преобразуется в строку без пробелов в разряде, то необходимо указать в форматной строке, что порядок разделения группировки разрядов числа или равен 0, или пустой.

Результат будет без разрядов:

число в строку без пробелов 1C

Строка в дату 1С

Узнаем, как преобразовать в 1С 8.3 строку в дату. Для этого необходимо использовать метод Дата, который преобразует параметр (в том числе строку ) в дату . Причем, замечу, что строка должна быть задана в таком формате «ГГГГММДДЧЧММСС».

Подробнее о форматах дат читайте в этой статье: даты в 1С.

Строка в дату в 1С

Если мы зададим дату в не верном формате, то преобразование не произойдет и возникнет ошибка «Преобразование значения к типу Дата не может быть выполнено».

Например, этот код:

Приведет к ошибке:

Преобразование значения к типу Дата не может быть выполнено

Дата в строку в 1С

Преобразовать дату в строку можно несколькими способами. Первый способ: воспользоваться уже знакомым нам методом Строка.

В этом случае у нас выйдет строка в обычном «полном» формате даты.

Дата в строку в 1С

А чтобы получить дату в том формате, в каком нам нужно, необходимо воспользоваться методом Формат.

Форматов дат может быть великое множество ,все я разбирать в этой статье не буду, покажу только как можно быстро воспользоваться этой функцией.

Мы изменим предыдущий код, написав вместо метода Строка метод Формат, а в качестве второго параметра у метода Формат напишем просто две кавычки.

После нужно между кавычками поставить курсор, вызвать контекстное меню, и применить в нем команду Конструктор форматной строки.

Конструктор форматной строки

В этом конструкторе на закладке Дата вы можете выбрать удобный вам формат даты.

Конструктор форматной строки

И после нажатия кнопки ОК этого конструктора, нужный формат появится в виде строки.

В результате метода Формат, дата будет преобразована в строку в том виде, в каком нам необходимо.

Дата в строку в 1С

Строка в булево в 1С

При помощи метода Булево мы можем некоторые строковые представления (Да, Нет, Истина, Ложь) преобразовывать в значения Истина или Ложь.

Например, следующие переменные:

Будут иметь такие значения:

Строка в булево

Булево в строку в 1С

Разберем, как в 1С можно выразить тип булево строкой. Булево значение можно преобразовать в строку несколькими способами. Во-первых, можно просто воспользоваться методом Строка.

Например, как здесь:

У нас будет выходить следующий результат:

Булево в строку

В этом случае, булево в строку преобразовалось согласно региональным установкам информационной базы.

Если мы, как-то по-другому хотим преобразовать булево в строку, то можно воспользоваться уже знакомым нам методом Формат.

Переделаем, предыдущий код:

Знакомым способом вызовем конструктор форматной строки, где на закладке Булево введем преставление значений Истина и Ложь.

Конструктор форматной строки Булево

После нажатия кнопки ОК конструктора, второй параметр метода Формат заполнится:

И будет следующий результат:

Булево в строку

Число в булево в 1С

В 1С 8.3. мы можем преобразовать любое число в булево по следующему правилу: 0 будет преобразован в Ложь, все остальные значения в Истина.

Будет следующий результат:

Число в булево в 1С

Булево в число в 1С

Можно сделать и обратное преобразование. Булево значение в число.

Для этого нужно воспользоваться методом Число, где в качестве параметра указать булево значение. Тогда Истина будет преобразована в 1С, а Ложь – в 0.

Например, как в этом коде:

С таким результатом:

Булево в число

Статьи о примитивных типах в 1С:

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

Конструктор форматной строки предназначен для формирования правил представления значений простых типов в виде строки. Он может использоваться как в полях ввода (поле Формат палитры свойств), так и в коде (функция Формат()).


Для вызова конструктора форматной строки из палитры свойств нажмите на кнопку выбора (…):


Для вызова конструктора форматной строки из программного модуля, выберите одноименный пункт контекстного меню:

Параметры форматной строки для типа Число


  • Длина — общая длина полученного числового значения (целой и дробной части без учета знака и разделителей). Если указана длина, необходимо указать и Точность, иначе дробная часть будет отсекаться;
  • Точность — длина дробной части числового значения;
  • Сдвиг — сдвиг исходного значения вправо (умножение на 10 в степени -n) или влево (умножение на 10 в степени n). Используется для получения представления вида 999 млн руб;
  • Разделитель дробной части — символ, который будет использоваться для отделения целой части от дробной. Можно выбрать значение из списка или ввести свой вариант;
  • Разделитель групп — символ, который будет использоваться для разделения триад целой части. Например 1’000’000.00. Можно выбрать значение из списка или ввести свой вариант;
  • Группировка — способ группировки числовых символов. Можно выбрать значение из списка или ввести свой вариант;
  • Представление нуля — представление нулевого значения (по умолчанию — пустая строка). Можно выбрать значение из списка или ввести свой вариант;
  • Представление отрицательных чисел — представление для отрицательных чисел. Возможные варианты перечислены в выпадающем списке;
  • Шаблон форматирования числа — произвольный шаблон форматирования, где символ Ч обозначает полученное представление числа

Параметры форматной строки для типа Дата


  • Формат даты — произвольный формат даты (варианты значений). Можно выбрать значение из списка или ввести свой вариант;
  • Локальный формат даты — формат даты, который будет сформирован в соответствии с региональными установками информационной базы. Возможные варианты перечислены в выпадающем списке;
  • Представление пустой даты — строковое представление для пустой даты. Можно выбрать значение из списка или ввести свой вариант;

Параметры форматной строки для типа Булево

  • Представление для значения Ложь — строковое представление булева значения ЛОЖЬ;
  • Представление для значения Истина — строковое представление булева значения ИСТИНА;

Читайте также: