Тип форматированная строка 1с

Обновлено: 17.05.2024

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

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

Обобщенный синтаксис форматной строки

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

Значение Value Описание
Д D форматировать как дату
Ч N форматировать как число
С S форматировать как строку

Параметры для типа Дата

Элемент Описание
Шаблон Определяет предопределенный вариант представления даты. Может принимать следующие значения:

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

Параметры для типа Число

Для числовых значений предусмотрено два варианта представления:

  • цифровой прописью:
  • символьной прописью:

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

Параметры цифровой прописи

Элемент Описание
(0) Задает заполнение недостающих символов нулями слева

Внимание!

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

Параметры для типа Строка

Пример использования форматной строки 1с 7.7 для форматирования строк:

Комментарии

А как сделать формат отрицательного числа, чтобы при выводе оно выходило красным?

Андрей, функция Формат() не умеет этого делать. За раскраску текста отвечает ячейка таблицы, в которую Вы выводите полученное значение. Смотрите свойства ячейки таблицы: Контроль = "Забивать+Красным"

Наталья, есть два варианта, где форматируется строка:

  1. В макете печатной формы ТТН
  2. Непосредственно в коде

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

Если предложенные варианты не помогли, верните все назад и ищите в коде место, где формируется переменная, указанная в ячейке. Ее нужно будет заменить на такую функцию: Формат(ПечСумма, "Ч015.2")
Как-то так. Удачи!

Функция Сокр0(ЧислоСтр) Экспорт
// Функция форматирует число оставляя после точки
// минимальное количество знаков
Стр = СокрЛП(ЧислоСтр);
iТочки = 0;
iЦифры = 0;
i = СтрДлина(Стр);
// Сканировать строку до точки
Пока i>=0 Цикл
// выделить символ
Сим = Сред (Стр, i, 1);
Если (Сим=".") Тогда // Наткнулись на точку
iТочки = i;
Прервать;
КонецЕсли;
Если (Сим"0") И (iЦифры=0) Тогда // Наткнулись на цифру, но впервые
iЦифры = i;
КонецЕсли;
i = i - 1;
КонецЦикла;

Если iТочки > 0 Тогда // Да, точка имеется
// убрать до целой части
Стр = Лев (Стр, ?(iЦифры>iТочки, iЦифры, iТочки-1));
КонецЕсли;

Возврат Стр;
КонецФункции

Наталья, можете просто в макете ТТН для поля сумма убрать Сокр0(). По идее, этого д.б. достаточно, чтобы оставались нули.

Александр, спасибо за поддержку! 🙂 Я пошла другим путем. В счетах у меня все суммы печатаются корректно, поэтому я изменила в макете ТТН форматы по образу и подобию счета. Вроде всё печатается нормально. Еще раз спасибо за потраченное время.

тип данных ФорматированнаяСтрока - доступен с версии 8.3!
Форматированные строки можно использовать в следующих случаях:
В качестве данных для элементов формы поле надписи
В качестве заголовка поля формы типа декорация;
В качестве параметра ТекстПредупреждения метода Предупреждение();
В качестве параметра ТекстВопроса метода Вопрос().

title

Пример1:
Код 1C v 8.2 УП
В результате предупреждении выглядит следующим образом:

Пример 2:
Код 1C v 8.2 УП В результате вы увидете:
Этот тест будет жирный и наклонный- Оранжевый текст

Разместил: E_Migachev  Версии: | 8.2 УП |  Дата: 17.07.2012   Прочитано: 30069

Распечатать

Похожие FAQ

Еще в этой же категории

Полнотекстовый поиск в 1С (что это и пример использования)  22
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Формат, функция форматирования значений  21
//Функция формирует удобное для чтения представление значений. // Примеры форматирования чисел ЗначФормат = Формат(123456.789, " ЧЦ=10; ЧДЦ=2" ); // ЗначФормат = " 123 456,79" ЗначФормат = Формат(123456.789, " ЧГ=0; ЧДЦ=2" ); // Знач УстановитьСсылкуНового  11
Установить ссылку нового это специальный механизм программиста, который позволяет присваивать новому объекту нужную ссылку. В основном это задача обмена, во многих типовых обменах используется синхронизация по UID объекта. Рассмотрим этот метод на к Обработчики событий при записи объектов. Зачем и что за чем?  11
Программисту, имеющего немного опыта на платформе 1С 8.2, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта, а-а-а-а-аааа. Именно такое сложное чувство непонимания МоментВремени, получение остатков до и после проведения  9
" Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя дату и ССЫЛКУ НА ДОКУМЕНТ) В 7.7 было понятие ПозицияДокумента, а в 8.x Момент времени Для получения Остатков, Движений: М Посмотреть все в категории Встроенные Функции

тип данных ФорматированнаяСтрока - доступен с версии 8.3!
Форматированные строки можно использовать в следующих случаях:
В качестве данных для элементов формы поле надписи
В качестве заголовка поля формы типа декорация;
В качестве параметра ТекстПредупреждения метода Предупреждение();
В качестве параметра ТекстВопроса метода Вопрос().

title

Пример1:
Код 1C v 8.2 УП
В результате предупреждении выглядит следующим образом:

Пример 2:
Код 1C v 8.2 УП В результате вы увидете:
Этот тест будет жирный и наклонный- Оранжевый текст

Разместил: E_Migachev  Версии: | 8.2 УП |  Дата: 17.07.2012   Прочитано: 30070

Распечатать

Похожие FAQ

17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C медленно работает по сети с базой на SQL Server  20
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П 1С Предприятие что это?  11
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое COM-подключение к базе 7.7 из 8.2 1С  6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь= Cклонения по падежам  6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ; Посмотреть все результаты поиска похожих

Еще в этой же категории

Полнотекстовый поиск в 1С (что это и пример использования)  22
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Формат, функция форматирования значений  21
//Функция формирует удобное для чтения представление значений. // Примеры форматирования чисел ЗначФормат = Формат(123456.789, " ЧЦ=10; ЧДЦ=2" ); // ЗначФормат = " 123 456,79" ЗначФормат = Формат(123456.789, " ЧГ=0; ЧДЦ=2" ); // Знач Обработчики событий при записи объектов. Зачем и что за чем?  11
Программисту, имеющего немного опыта на платформе 1С 8.2, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта, а-а-а-а-аааа. Именно такое сложное чувство непонимания МоментВремени, получение остатков до и после проведения  9
" Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя дату и ССЫЛКУ НА ДОКУМЕНТ) В 7.7 было понятие ПозицияДокумента, а в 8.x Момент времени Для получения Остатков, Движений: М Задать вопрос пользователю, ответ на вопрос  7
Режим = РежимДиалогаВопрос.ДаНетОтмена; Ответ = Вопрос(" Выполнить?" , Режим, 0); Если Ответ =КодВозвратаДиалога.Да Тогда Сообщить(" Выполнено" ); ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда Сообщить(" Не выполнено" ); КонецЕсли; Режим = Посмотреть все в категории Встроенные Функции

Некоторые вещи, которые заинтересовали меня в новой платформе 1С 8.3, кроме тех, что я . Средствами платформы он позволяет получить хеш MD5 или CRC32. Принимает на вход строку или "ДвоичныеДанные". Наконец-то можно вычислять hash MD5 без внешних компонент. Ура! Делается это, например, так:

&НаКлиенте
Процедура ПосчитатьMD5 ( Команда )

&НаСервере
Функция ПолучитьMD5_Сервер ( Текст )

ОбъектХеш = Новый ХешированиеДанных ( ХешФункция . MD5 );
ОбъектХеш . Добавить ( Текст );
Возврат ОбъектХеш . ХешСумма ;

Подробности ищите под крышечками в синтакс-помощнике.

Во-вторых, теперь можно управлять представлением. Да-да! Теперь есть событие в модуле менеджера таких объектов, как Справочник, Документ и пр., в котором можно самому сформировать представление. Сделать это можно, например, так:

Команда "Показать ссылку" на форме списка справочника:

&НаКлиенте
Процедура ПоказатьСсылку ( Команда )

Модуль менеджера справочника "Номенклатура" (не могу не поблагодарить Sax-mmS за ценное замечание):

Процедура ОбработкаПолученияПредставления ( Данные , Представление , СтандартнаяОбработка )
СтандартнаяОбработка = Ложь;

Представление = "(" + Данные . Артикул + ") " + Данные . Наименование ;
КонецПроцедуры

Процедура ОбработкаПолученияПолейПредставления ( Поля , СтандартнаяОбработка )
СтандартнаяОбработка = Ложь;

Поля . Добавить ( "Артикул" );
Поля . Добавить ( "Наименование" );
КонецПроцедуры

Смотрите, что получаем в итоге:



Только не забывайте, что представление в конфигурации получается очень часто, а значит, вызовов этого события будет ОЧЕНЬ много. Не стоит писать туда тяжелые запросы к остаткам. =)

Еще улучшена работа с каталогами. Например, теперь можно запросто получить путь к каталогу документов пользователя функцией (какой? правильно!) КаталогДокументов().

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

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


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

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

В общем, кому интересно - флаг в руки и мое почтение. Разберетесь, может, и мне расскажете потом.

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

Для интернетов появились функции КодироватьСтроку() и РаскодироватьСтроку(). Это тот самый URL encode/decode, о котором я банановый и в 1С!

Примечательно то, что codepage тоже указывается. Это безусловно хорошо.

И вот по администрированию еще. Процитирую:

Реализована возможность создания самораспаковывающегося архива (SFX-архива) клиентского приложения для размещения на веб-сайте. В состав архива можно поместить конфигурационный файл 1CEStart.cfg, содержащий настройки, необходимые для установки, запуска и обновления клиентского приложения. Созданный исполняемый файл предназначен для использования только в ОС Windows.

Для создания архива используется утилита 1CEClientSetupMake.exe, которая публикуется на диске ИТС.

Вот это действительно праздник! Теперь админам будет намного проще разворачивать 1С у пользователя.

Там на самом деле еще очень много изменений. Смотрите официальный ман. Я вам привел то, за что у меня глаз зацепился, а вам, может, совсем другое интересно.
Там и про СКД, и про навигационные ссылки, и про внешние источники данных. Очень много всего интересного.

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