Перейти к содержимому

Символы нпп 1с что такое

  • автор:

Специальные символы 1С: ВК, ВТаб, НПП, ПС, ПФ, Таб.

Данные спецсимволы можно используются в строке, к примеру для переноса строки (ПС).

Список спецсимволов:

  • ВК — возврат каретки.
  • ВТаб — символ табуляции (вертикальной).
  • НПП — неразрывный пробел. При данном пробеле не выполняться перенос на другую строку или другое разбиение текста при форматировании.
  • ПС — перевод строки.
  • ПФ — перевод формы
  • Таб — символ табуляции (горизонтальной).

Синтаксис:

Символы.

Пример

Текст = "Иванов И.И."+Символы.ПС+"19 лет";

Символы нпп 1с что такое

Допустим в коде пишу
Переменная = Фамилия + » » + Имя + » » Отчество. в 1с можно заменить пробел в коде, как например в других языках на #32? Тут есть что-то подобное?

Обращаться к символам по кодам — это моветон.
(2) какие ваши доказательства?

(3) Есть же системные перечисления Символы.НПП и т.д.
Автору можно создать константу, например, «РазделительФИО», в которую записать пробел. И в коде проверять, что разделитель указан, а если нет, то добавлять стандартный пробел.

А чем отличается пробел от #32?

Похоже на попытку разделить ФИО в массив. Тогда по другому это делается. Кстати, если указать конфигурацию, то, возможно, проблема решится гораздо проще

(6) Это был пример, вопрос возник из-за банального любопытства, думал есть альтернатива #32

Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший

Специальные символы в 1С (ВК, ПС, НПП, ВТаб, ПС, ПФ, Таб)

Дмитрий Никитин

Строка в 1С – самый простой тип данных. Иногда возникает необходимость, при написании кодов 1С использовать специальные символы, например, чтобы перенести текст сообщения на новую строку, вставить пробел в строке и т.п. «1С:Предприятие» имеет большой набор инструментов для работы с указанным типом данных, при работе с которыми, используется перечисление «Символы». Рассмотрим их.

ВК (CR) – возврат каретки.

Пример использования в коде. Фрагмент кода. (1, 2)

 // Сервер Сбербанка не умеет работать с символом возврата каретки. ПолучательНаименование = СтрЗаменить (ПолучательНаименование, Символы.ВК, ""); 

ПС (LF) – linefeed переносит на одну строку вниз при ее создании в коде.

 НоваяСтрока = "Текст начало,"+Символы.ПС+"Текст конец"; 

Пример использования в коде. Фрагмент кода. (2, 3)

 СодержимоеПодписи = СтрЗаменить (СодержимоеПодписи, Символы.ПС, ""); СодержимоеПодписи = СтрЗаменить (СодержимоеПодписи, Символы. ВК, ""); 
 // Передать на обработку данные. Результат = МенеджерОборудованияКлиент.ОбработатьСобытиеОтУстройства (ОписаниеСобытия, ОписаниеОшибки); Если Не Результат Тогда OбщегоНазначенияКлиентСервер.СообщитьПользователю (НСтр ("ru=’При обработке внешнего события от устройства произошла ошибка.'") + Символы.ПС + ОписаниеОшибки); КонецЕсли; // Конец ПодключаемоеОборудование 

ПС + ВК – с помощью комбинации этих символов осуществляется переход на одну строку вниз и возвращение каретки в начало строки. Действие имитирует нажатие клавиши Enter на клавиатуре.

Пример использования в коде. Фрагмент кода. (4, 5)

 // Если структура папок (путь к рабочему каталогу текущей папки) превышает 260-5 (1.txt), пишем "Измените имена папок // или перенесите текущую папку в другую папку". Если СтрДлина (ПараметрыВыполнения.ДанныеФайла.РабочийКаталогВладельца) > ПараметрыВыполнения.МаксимальнаяДлинаПолногоПути - 5 Тогда ТекстСообщения = ТекстСообщения + Символы.ВК + Символы.ВК + НСтр ("ru - 'Измените имена папок или перенесите текущую папку в другую папку.'"); ВернутьРезультатПослеПоказаПредупреждения (ПараметрыВыполнения.ОбработчикРезультата, ТекстСообщения, Ложь); Возврат; КонецЕсли; 
 ЗаписьЖурналаРегистрации (НСтр ("ru = 'Поставляемые дополнительные отчеты и обработки. Загрузка поставляемой обработки завершена'", ОбщегоНаэначенияКлиентСервер.КодОсновногоЯзыка ()), УровеньЖурналаРегистрации.Информация, , ПоставляемаяОбработка.Ссылка, НСтр ("ru = 'Завершена загрузка поставляемой обработки'") + Символы.ПС + Символы.ВК + ОписаниеПоставляемойОбработки.Манифест); 

НПП (NBSp) – неразрывный пробел. Например, в строках числового вида 3580 преобразует в число вида 3 580, т.е. отделяя по три знака пробелом. Или 8956753 преобразует в 8 956 753.

Пример использования в коде. Фрагмент кода. (6-8)

 // Для того чтобы строка правильно переносилась в веб-клиенте, // вместо запятой используем символ - U+201A:Single Low-9 Quotation Mark (Keystroke: Alt+0130) ИсходнаяСтрока = СтрЗаменить (ИсходнаяСтрока, ",", ","); Возврат СтрЗаменить (ИсходнаяСтрока, " ", Символы.НПП); 
 Если ОповещениеПриЗавершении Неопределено Тогда ТекстСообщения = НСтр ("ru = 'Нет кассовых смен для устройства'") + Символы.НПП + Строка (ИдентификаторУстройства); РезультатОперации = ПараметрыВыполненияОперацииНаОборудовании (Ложь, ТекстСообщения, ИдентификаторУстройства); ВыполнитьОбработкуОповещения (ОповещениеПриЗавершении, РезультатОперации); КонецЕсли; 
 Сообщения = НСтр ("ru='KKT№:'") + АтрибутыЧека.РегистрационныйНомерККТ + ";" + Символы.НПП НСтр ("ru='СУММА:'") + Формат (АтрибутыЧека.СуммаЧека, "ЧРД=.;ЧЦ=12;ЧДЦ=2;ЧН=0.00;ЧГ=0") + ";" + Символы.НПП Формат (АтрибутыЧека.ДатаСеанса, "ДФ:""дд.ММ.гггг ЧЧ:мм""") + ";" + Символы.НПП НСтр ("ru='ФН№: ' ") + АтрибутыЧека.ЗаводскойНомерФН + ";" + Символы.НПП НСтр ("ru=‘ФД№: ' ") + АтрибутыЧека.НомерЧекаФН + ";" + Символы.НПП НСтр ("ru='ФПД: ' ") + АтрибутыЧека.ФискальныйПризнак + ";" + Символы.НПП НСтр ("ru='САЙТ: ' ") + АтрибутыЧека.АдресСайтаПроверки; 

Таб (Tab) – символ горизонтальной табуляции. Позволяет перейти в положение, кратное определенному шагу, например, шаг на 4, 8, 12, 16 …

Пример использования в коде. Фрагмент кода. (9-10)

 БухРекв = СтрЗаменить (БухРеквизиты, " ", ""); БухРекв = СтрЗаменить (БухРекв, Символы.ПС, ""); БухРекв = "," + СтрЗаменить (БухРекв, Символы.Таб, "") + ","; НалРекв = СтрЗаменить (НалРеквизиты, " ", "") ; НалРекв = СтрЗаменить (НалРекв, Символы.ПС, ""); НалРекв = "," + СтрЗаменить (НалРекв, Символы.Таб, "") + ","; 
 Функция ЗаменитьНедопустимыеСимволы (СтрокаДляОбработки) СтрокаПослеОбработки = СтрЗаменить (СтрокаДляОбработки, "\", " "); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, "/", " "); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, "*", " "); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, "|", " "); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, ":", ""); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, """", ""); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, "?",""); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, Символы.ВК, ""); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, Символы.ПС, " "); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, Символы.Таб, " "); СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, Символы.НПП, " "); 

Также в функцию замены добавляется строка

 СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, ">", " "); 
 СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, "

ВТаб (VTab) – вертикальная табуляция, как и горизонтальная, переходит с определенным шагом, только опускаясь вниз по строкам, оставаясь в той же колонке.

Пример использования в коде. Фрагмент кода. (11)

 НечитаемыеСимволы = Новый Массив () ; НечитаемыеСимволы.Добавить (Символы.ВК) ; НечитаемыеСимволы.Добавить (Символы.ВТаб) ; НечитаемыеСимволы.Добавить (Символы.НПП) ; НечитаемыеСимволы.Добавить (Символы.ПС) ; НечитаемыеСимволы.Добавить (Символы.ПФ) ; НечитаемыеСимволы.Добавить (Символы.Таб); НечитаемыеСимволы.Добавить (Символ (182)); // символ параграфа НечитаемыеСимволы.Добавить (Символ (176)); // символ градуса 

ПФ (FF) – перевод формы. Начало печати с нового листа.

Пример использования в коде. Фрагмент кода. (12, 13)

 //НазначениеПлатежа, НазначениеПлатежа1 НазначениеПлатежа2 НазначениеПлатежаЗ НазначениеПлатежа4 НазначениеПлатежа5 НазначениеПлатежа6 СтрокаЭкспорта.НазначениеПлатежа = СтрЗаменить (ВыборкаДляЭкспорта.НазначениеПлатежа, Символы.ПС + Символы.ВК, " "); СтрокаЭкспорта.НазначениеПлатежа = СтрЗаменить( СтрЗаменить (СтрЗаменить (СтрокаЭкспорта.НазначениеПлатежа, Символы.ПС, " "), Символы.ВК, " "), Символы.ПФ, " "); КоличествоСтрокНП = СтрЧислоСтрок (ВыборкаДляЭкспорта.НазначениеПлатежа); 
 Если ИмяРаздела = "Титульный" Тогда Заменяемые Символы = " " + Символы.ВК + Символы.ВТаб + Символы.НПП + Символы.ПС + Символы.ПФ + Символы.Таб; Если Область.Имя = "ОКТМО" Тогда ОКТМО = СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими (ЗаменяемыеСимволы, СокрЛП (Область.Значение), ""); Если ЗначениеЗаполнено (ОКТМО) И НЕ (СтрДлина (ОКТМО) = 8 ИЛИ СтрДлина (ОКТМО) = 11) Тогда Область.Очистить (); Сообщение = Новый СообщениеПользователю; Сообщение.Текст = НСтр ("ru= 'Длина хода по ОКТМО должна быть равна 8 или 11. Значение хода по ОКТМО очищено!'"); Сообщение.Сообщить (); Иначе Область.Значение = ОКТМО; KoнeцEcли; КонецЕсли; ЗаполнитьПериодОтчета (ЭтаФорма); Иначе 

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

Что такое Символы.ПС в 1с 8?

Конструкция Символы.ПС означает символьную константу «перенос строки», которая подставляется в место вызова. Обычно используется для подстановки специальных символов в строковые литералы.

мЗначения = Новый Массив; мЗначения.Добавить("Один"); мЗначения.Добавить("Два"); мЗначения.Добавить("Три"); ВыхСтрока = ""; Для Каждого Элемент ИЗ мЗначения Цикл ВыхСтрока = ВыхСтрока + ?(ЗначениеЗаполнено(ВыхСтрока), Символы.ПС, "") + Элемент; КонецЦикла; Сообщить(ВыхСтрока); //Результат: // Один // Два // Три //Аналогично: ВыхСтрока = ""; Для Каждого Элемент ИЗ мЗначения Цикл ВыхСтрока = ВыхСтрока + ?(ЗначениеЗаполнено(ВыхСтрока), " |", "") + Элемент; КонецЦикла; Сообщить(ВыхСтрока); //Аналогично (версия 8.3.6+): ВыхСтрока = СтрСоединить(мЗначения, Символы.ПС); Сообщить(ВыхСтрока); 

Со всеми символьными константами можно познакомиться в статье Свойство Символы глобального контекста

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *