1с формат поля ввода

Обновлено: 02.07.2024

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

Форматная строка представляет собой строковое значение, включающее параметры форматирования. Используются в конструкциях встроенного языка для того, чтобы сформировать нужное представление отображаемых данных (см. также справку 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;"> Примечание. Использование параметров для поля ввода:

      1. параметр ДП (DE) не используется;
      2. параметр ДЛФ (DLF) используется только со значениями Д (D), В(T) и ДВ (DT).

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

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

      Конструктор форматной строки поддерживает формирование форматных строк:

      1. для числовых значений;
      2. для логических значений;
      3. для значений типа "Дата".

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

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

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

      Имеющаяся форматная строка будет проанализирована и представлена в конструкторе в виде соответствующих параметров форматирования.

      Вызов конструктора форматной строки:

      1. через свойство "Формат" соответствующего элемента (объекта);
      2. через меню "Текст" - "Конструктор форматной строки. ";
      3. через контекстное меню модуля командой "Конструктор форматной строки. ".

      Вызов конструктора форматной строки

      Через меню "Текст" - "Конструктор форматной строки. " (после установки курсора в текст модуля):


      Через контекстное меню модуля командой "Конструктор форматной строки. ":


      Добавить комментарий Отменить ответ

      Для отправки комментария вам необходимо авторизоваться.

      Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

      В этой статье начнем разбирать основные элементы управляемой формы 1С 8.3. Управление формой осуществляется посредством различных элементов формы, которые расположены иерархически на закладке Элементы конструктора формы. Самым главным элементом является сама форма, которая расположена вверху иерархии элементов, а остальные элементы ей подчинены.

      Элемент форма

      Добавление элементов на форму

      Делается это достаточно просто: необходимо выделить элемент Форма в окне Элементы конструктора формы и нажать на кнопку «Добавить». После этого откроется окно, в котором необходимо выбрать нужный тип элемента

      Добавление элемента формы

      После добавления элемента формы

      После выбора, элемент нужного появится в окне Элементы.

      Элемент управляемой формы Поле

      Разберем элемент управляемой формы Поле. Этот элемент нужен для ввода информации на форме. А также для отображения какой-либо информации. После того, как Вы добавите этот элемент на форму, справа откроется палитра свойств элемента формы. Пока Вас должны интересовать два свойства – ПутьКДанным и Вид.

      Свойств элемента формы Поле

      В свойстве ПутьКДанным разработчик может связать элемент формы с нужным реквизитом формы. Обратите внимание, что после того, как был добавлен элемент Поле ввода на форму он не отобразился на самой форме. Это произошло потому, что наш новый элемент не связан с реквизитом формы. Для примера я создал на форме обработки несколько реквизитов с разными примитивными типами и один реквизит с ссылочным типом.

      Реквизиты формы

      Здесь и далее используется конфигурация, созданная в книге «Программировать в 1С за 11 шагов»

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

      Выбор реквизита формы

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

      Появление элемента в представлении формы

      Обратите внимание на свойство элемента Вид. При помощи этого свойства определяется функциональность поля ввода. Можно выбрать различные значения этого свойства.

      В зависимости от выбранного значения будет определятся функционал. На рисунках выше выбрано значение – поле ввода, т.е. мы можем вводить какие-либо значения в это поле ввода, а если выбрать значение поле надписи, то ни чего вводить мы не сможем.

      Выбор значения свойства Вид – поле надписи

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

      Теперь добавим новый элемент формы с типом Поле ввода и свяжем его с реквизитом РеквзитДата посредством уже знакомого нам свойства ПутьКДанным

      Поля ввода для реквизита с типом дата

      Как Вы видите вид поля ввода поменялся, а так же поменяется возможный выбор значений свойства Вид.

      Значения свойства вид для реквизита с типом дата

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

      Для реквизита с типом Булево будут доступны следующие значения свойства Вид.

      Значения свойства вид для реквизита с типом дата

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

      Значения свойства вид для реквизита с ссылочным типом

      Более подробно работа с элементами формы на практичных примерах дается в книге «Основы разработки в 1С:Такси. Разработка управляемого приложения за 12 шагов».


      Эта книга подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С

      1. Без сложных технических терминов;
      2. Более 600 страниц практического материала;
      3. Каждый пример сопровождается рисунком (скриншот);
      4. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!


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

      можно оплатить вручную:

      Вступайте в мои группы:

      One thought on “ Элементы управляемой формы 1С 8.3. Поле ввода ”

      Огромное спасибо, за отличную публикацию! побольше бы таких сайтов как у Вас!

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

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

      функция формат в 1С

      Функция Формат()

      Синтаксис функции достаточно прост:

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

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

      Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
      Попробуйте бесплатно по ссылке >>

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

      Сам конструктор выглядит следующим образом:

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

      Рассмотрим использование функции на примерах.

      Формат даты в 1С на примере месяца: прописью, без времени

      Получить формат даты без времени:

      Формат даты 1С, где месяц прописью:

      Формат времени без даты, только час, минута и секунда:

      Примеры формата числа

      Получим формат числа с двумя точками после запятой:

      Число без неразрывных пробелов:

      Использование запятой вместо точки для дробной части:

      Округление числа (не математическое) до целых:

      Вывод лидирующих нулей без неразрывных пробелов:


      Получить дату из поля ввода с типом дата
      Здравствуйте. Задача простая, но что-то неочевидная. Есть Справочник с реквизитом ДатаРождения.


      Перенос данных из реквизита "Дата" в реквизит справочника
      Здравствуйте. Нужно сделать так, чтобы при проведении документа в 1с-предприятии данные из.


      Нетиповой справочник выдает ошибку "Поле объекта не обнаружено (Владелец)"
      Добрый день! Помогите пожалуйста! Программа Бухгалтерия 8.3., релиз 8.3.44.188, платформа.

      Я бы не морочился, а сделал строковый реквизит, который будет отображать дату как вам нужно и скрытый реквизит с типом дата, в котором будет, собссно, дата. OrkVasya что хотел сказать: Формат() возвращает строку. А поле у Вас - Дата, судя по всему.

      Поле у меня Дата, как и писал в первом посте
      по поводу "скрытого реквизита" - суть в том, что нужно организовать, следующее:
      в идеале - пользователь выбирает месяц за который будет формироваться отчет.

      по факту в данный момент - пользователь из ПоляВвода выбирает любой день месяца за который нужно сформировать отчет, чуть правее отображается Надпись в нужном формате, например при выборе в полеввода числа от 1 до 31 марта в этой Надписи отобразится Март - 2014, чтобы пользователю было более понятно, за какой месяц будут данные
      но это как то не правильно:

      Делать 2 ПоляВвода чтобы пользователь выбирал период с 1 по 31 тоже не зачем.

      А чем элемент "Выбор периода" не угодил?
      Он позволит делать то, что нужно. SanSaySP, истинная правда. Есть два пути: либо Вы набираете список месяцов, либо Вы подключаете кнопки "+" и "-", которые итерируют период.
      В системе бюджетирования реализован выбор периода, причём, любого, в зависимости от периодичности Сценария бюджета.
      Я, когда сталкиваюсь с такой задачей, предпочитаю итераторы + кнопка "Выбор любой даты периода" + подсветка даты начала периода+период надписью. Я считаю, что это оптимальнее создания списка выбора. OrkVasya, тем, что мне НЕ нужно выбирать период между двумя датами, мне нужно выбрать целиком месяц.

      duk337, спасибо за совет. наверно попробую с кнопками + / - по колдовать

      но таки вопрос остался, почему в "предварительном просмотре" формат даты показывает правильно, а по факту нет?
      (последний скрин первого поста)

      почему в "предварительном просмотре" формат даты показывает правильно, а по факту нет? Формат() возвращает строку. А поле у Вас - Дата © duk337

      SanSaySP, Вам уже написали всё, но добавлю от себя.
      Есть хорошая поговорка, "Будьте проще, к вам потянутся" - шутка конечно.
      Но вы используете поле дата, для выбора месяца. Это по определению не правильно, т.к. для конкретного месяца конкретного года это поле может иметь 30 или 31 вариант (если не рассматривать февраль).
      И в этом вся проблема.

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

      ps а кто вам запрещает просто выдать на экран дату актуальности и вывести в поле со списком (рядом) название месяца и год.

      OrkVasya, в принципе да, но подика каждому юзеру объясни, что не нужно выбирать в каждом окошке дату, а нужно тыкнуть кнопку правее, а там еще пару тыков сделать. сложно одним словом - не "интуитивно понятно"

      Alex Dark, Вы не правы. Увы, по всем пунктам.

      Я с восьмёркой не совсем на ты, но на сколько мене известно, диалоги в восьмёрке принципиально от семёрки далеко не ушли.

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

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

      Добавлено через 4 минуты
      PS ну да, с моим опытом в восьмёрке, я думаю что зря я тут вякнул. сорьки

      OrkVasya,
      вот если бы получилось выцарапать отдельно вот это было бы вообще чудесно

      Alex Dark, может, я перепутал, тогда извини. Про список же было сразу сказано (основной довод - он не для ленивых, коих среди прогеров маловато, ну и другие есть соображения).
      А тут в разделе появляются перцы, которые, не читая поста, наметут ерунды, чтобы зацепиться - и спамить.
      Так что "вякай" в своё удовольствие, не жалко .

      Добавлено через 6 минут
      SanSaySP, в УПП и других типовых реализовано. В ЗУП, к примеру, точатся со списками, но там диапазон расчетов как бы регламентирован. В бюджетировании, где анархия с выбором периода, предпочитают показывать период текстом, по перечислению (неделя, месяц, квартал, год) с помощью кнопок "Плюс период", "Минус период".
      Ну вот, поклонники списков, создайте функцию, выдающую список периодов - в котором заведомо есть нужный - при переключении периодичности.

      Решение

      Когда то, давным давно делал какую то фигню с датой.
      мож пригодится как пример
      ДатаПример.rar

      Dethmontt, спс, думаю ваш вариант подойдет.

      П.С. но я в большом шоке от того, что такая банальная вещь как "выбрать месяц" делается через "заднее место", при том, что в самой 1Ске это ведь реализовано:

      П.С. но я в большом шоке от того, что такая банальная вещь как "выбрать месяц" делается через "заднее место"

      да в том то и дело, что все привыкли к тому что всё делается двумя-тремя пырцаньем мыши.
      В том числе и в 1С.
      Для разработчика (программера) всегда большой проблемой было (было всегда и останется) не написание алгоритма проги, а именно написание интерфейса пользователя. И не просто "тупого" интерфейса два поля и кнопка, а интерактивного, в том числе "с защитой от дураков".
      В вашем случае всё достаточно просто.
      делается две кнопки месяц и дата.
      При выборе дата, вводится дата и на основе её тупо выбирается месяц и год.
      или
      при выборе месяца появляется список месяц год из которого (програмно) выбирается нужный период.

      PS вообще то я бы на вашем месте (просто не знаю какая у вас задача и что вы хотите получить) я бы просто отказался от всяких вариантов выбора для пользователя и выводил на экран дату актуальности и поле со списком, из которого можно выбрать дату-год.
      Хотел бы вам привести пример, но к сожалению не могу.


      Элемент управления "Табличное поле"
      Добрый день. Делаю лабу. В примере, пишет: &quot;При настройки формы списка справочника в диалог формы.

      Поле "Код" в динамическом списке
      Добрый день. Справочник &quot;Сотрудники&quot;. выводится динамическим списком на форму. поле и ссылка и.

      Ошибка "Неоднозначное поле"
      Нужен запрос есть Справочник.Номенклатура и РегистрСведений.ШтрихкодыНоменклатуры(здесь хранятся.

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