Форматирование в 1С

Курс

ЧислоПрописью

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

СтрокаСЧислом

Иногда при выводе строки с числом нужно менять окончание в зависимости от числа. Например, нужно вывести количество дней до зарплаты. Если остался 1 день, то нужно выводить «до зарплаты остался 1 день». Если осталось 2 дня, то нужно выводить не «2 день», а «2 дня». Чтобы не прописывать все условия в коде можно использовать функцию СтрокаСЧислом. При передаче строки в данную функцию нужно указать все категории числительного в формате:

  1. %1 будет заменен на число,
  2. порядок категорий: Ноль, Один, Два, Немного, Много, Другое. Можно пропустить какую-то категорию, если она не используется:
  • день – если целое число заканчивается на 1, но не на 11.
  • дня – если целое число заканчивается на 2..4, но не на 12..14.
  • дней:
    • если целое число заканчивается на 0,
    • если целое число заканчивается на 5..9,
    • если целое число заканчивается на 11..14;
  • дня – для всех других чисел.

Например:

НСтр

Функция НСтр позволяет выводить сообщения на разных языках, в зависимости от языка текущего пользователя. После кода языка в одинарных кавычках идет само сообщение. Разные языки разделяются между собой точкой с запятой «;»

Конструктор строк на разных языках

Если щелкнуть правой кнопкой по строке и выбрать «Конструктор строк на разных языках…», то откроется конструктор, где можно задать строку для каждого языка:

НСтр
НСтрНСтр
НСтр

Для того чтобы в конструкторе строк на разных языках был второй язык, нужно добавить в конфигурацию новый язык:

НСтр

СтрШаблон

Для интерполяции строк в 1С предназначена функция СтрШаблон. В строке можно использовать специальные маркеры подстановки %1, %2 …, а потом в параметрах передать значения, которые будут подставлены вместо маркеров. Нумерация маркеров начинается с 1, максимум 10 маркеров. Количество параметров должно совпадать с количеством маркеров.

Пример функции СтрШаблон:

Если в строке нужно использовать символ процента «%», то нужно указать его дважды:

Если сразу после номера маркера идет цифра, то номер маркера нужно взять в скобки:

Формат

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

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

Если щелкнуть правой кнопкой по форматной строке в коде, то можно выбрать «Конструктор форматной строки…» и настроить форматную строку интерактивно:

Формат
Формат

В поле «Пример» можно ввести пример и сразу увидеть результат форматирования.

ПредставлениеПериода

С помощью функции ПредставлениеПериода можно из двух дат сформировать удобное для восприятия представление периода. Третьим параметром можно передать признак финансового периода для получения таких периодов, как первое полугодие, 9 месяцев и т.п.

Также можно выводить представление периода на других языках:

ФорматированнаяСтрока

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

Новый объект создается с помощью конструктора:

В результате на экран будет выведено предупреждение:

ФорматированнаяСтрока

А если нажать на «Тест», то будет открыт сайт program1s.com.

Для объединения нескольких строк можно использовать другую версию конструктора:

В результате на экран будет выведено предупреждение:

ФорматированнаяСтрока

И если щелкнуть на «Смартфон», то откроется карточка нового товара.


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Здесь может быть Ваша реклама
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok