Глобальный контекст.СокрП

Методы · TrimR

Отсекает незначащие символы, стоящие справа от последнего значащего символа в строке.

Синтаксис

СокрП(<Строка>)

Примеры платформы

НаименованиеДляПечати = СокрП(Товар.Наименование);
Полное описание, параметры и ограничения

Глобальный контекст.СокрП (Global context.TrimR)

Глобальный контекст (Global context)

СокрП (TrimR)

Доступен, начиная с версии 8.0.

Синтаксис:
СокрП(<Строка>)
Параметры:

<Строка> (обязательный)
Тип: Строка.
Исходная строка.
Возвращаемое значение:
Тип: Строка.
Строка, полученная в результате отсечения пробелов .
Описание:

Отсекает незначащие символы, стоящие справа от последнего значащего символа в строке.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Внимание: Данный метод не поддерживается при работе через COM-соединение
Примечание:
К незначащим символам относятся символы "пробел", "неразрывный пробел" (НПП), "табуляция" (горизонтальная Таб и вертикальная ВТаб), "возврат каретки" (ВК), "перевод строки" (ПС), "перевод формы (страницы)" (ПФ).
Пример:

НаименованиеДляПечати = СокрП(Товар.Наименование);

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Нормализовать учебный код товара без потери внутренних символов

Убираем пробелы по краям, приводим регистр по явному правилу и проверяем префикс и окончание кода.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

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

  2. Выполняйте на сервере учебной базы. Особенно важно для встроенных функций регулярных выражений.

  3. В этом учебном контракте регистр кодов несущественен, хранится верхний регистр. Это правило нельзя автоматически переносить на идентификаторы внешнего API.


ИсходныйКод = "  ama-001-rU  ";
Сообщить("[" + СокрЛ(ИсходныйКод) + "]");
Сообщить("[" + СокрП(ИсходныйКод) + "]");
Очищенный = СокрЛП(ИсходныйКод);
КодДляУчебногоОбмена = ВРег(Очищенный);
Сообщить(КодДляУчебногоОбмена);
Сообщить(НРег(КодДляУчебногоОбмена));
Если Не СтрНачинаетсяС(КодДляУчебногоОбмена, "AMA-") Тогда
    ВызватьИсключение "Для учебного обмена требуется префикс AMA-";
КонецЕсли;
Если Не СтрЗаканчиваетсяНа(КодДляУчебногоОбмена, "-RU") Тогда
    ВызватьИсключение "Для учебного обмена требуется окончание -RU";
КонецЕсли;
Сообщить(ТРег("учебная книга"));

Разбор по шагам

  1. СокрЛ и СокрП удаляют пробелы только с соответствующей стороны; квадратные скобки делают оставшиеся пробелы видимыми.

  2. СокрЛП убирает края целиком, ВРег задаёт единый регистр. Внутренние дефисы сохраняются.

  3. СтрНачинаетсяС и СтрЗаканчиваетсяНа проверяют согласованное правило кода.

  4. НРег и ТРег показывают отдельные способы представления текста; ТРег не используется для изменения идентификатора.

Как проверить результат

  1. Нормализованный код AMA-001-RU; в нижнем регистре ama-001-ru.

  2. Замените исходник на AMA-001-KZ: получите ошибку окончания.

  3. Вставьте внутренний пробел AMA- 001-RU: СокрЛП его не удалит. Для запрета такого пробела нужна отдельная проверка формата.

Ожидаемый результат

Код подготовлен по явному учебному контракту, а не по предположению о любом внешнем идентификаторе.

На что обратить внимание

  1. Не меняйте регистр токенов, паролей, URL и идентификаторов, если их контракт требует точного значения.

  2. ТРег механически преобразует слова и не гарантирует правильное написание имён людей или брендов.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.