Отсекает незначащие символы, стоящие справа от последнего значащего символа в строке.
Синтаксис
СокрП(<Строка>)Примеры платформы
НаименованиеДляПечати = СокрП(Товар.Наименование);Полное описание, параметры и ограничения
Глобальный контекст.СокрП (Global context.TrimR)
Глобальный контекст (Global context)
СокрП (TrimR)
Доступен, начиная с версии 8.0.
Синтаксис:
СокрП(<Строка>)
Параметры:
<Строка> (обязательный)
Тип: Строка.
Исходная строка.
Возвращаемое значение:
Тип: Строка.
Строка, полученная в результате отсечения пробелов .
Описание:
Отсекает незначащие символы, стоящие справа от последнего значащего символа в строке.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Внимание: Данный метод не поддерживается при работе через COM-соединение
Примечание:
К незначащим символам относятся символы "пробел", "неразрывный пробел" (НПП), "табуляция" (горизонтальная Таб и вертикальная ВТаб), "возврат каретки" (ВК), "перевод строки" (ПС), "перевод формы (страницы)" (ПФ).
Пример:
НаименованиеДляПечати = СокрП(Товар.Наименование);
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Нормализовать учебный код товара без потери внутренних символов
Убираем пробелы по краям, приводим регистр по явному правилу и проверяем префикс и окончание кода.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Все исходные строки заданы прямо в примере; товары, файлы и настройки рабочих конфигураций не нужны.
Выполняйте на сервере учебной базы. Особенно важно для встроенных функций регулярных выражений.
В этом учебном контракте регистр кодов несущественен, хранится верхний регистр. Это правило нельзя автоматически переносить на идентификаторы внешнего API.
ИсходныйКод = " ama-001-rU ";
Сообщить("[" + СокрЛ(ИсходныйКод) + "]");
Сообщить("[" + СокрП(ИсходныйКод) + "]");
Очищенный = СокрЛП(ИсходныйКод);
КодДляУчебногоОбмена = ВРег(Очищенный);
Сообщить(КодДляУчебногоОбмена);
Сообщить(НРег(КодДляУчебногоОбмена));
Если Не СтрНачинаетсяС(КодДляУчебногоОбмена, "AMA-") Тогда
ВызватьИсключение "Для учебного обмена требуется префикс AMA-";
КонецЕсли;
Если Не СтрЗаканчиваетсяНа(КодДляУчебногоОбмена, "-RU") Тогда
ВызватьИсключение "Для учебного обмена требуется окончание -RU";
КонецЕсли;
Сообщить(ТРег("учебная книга"));Разбор по шагам
СокрЛ и СокрП удаляют пробелы только с соответствующей стороны; квадратные скобки делают оставшиеся пробелы видимыми.
СокрЛП убирает края целиком, ВРег задаёт единый регистр. Внутренние дефисы сохраняются.
СтрНачинаетсяС и СтрЗаканчиваетсяНа проверяют согласованное правило кода.
НРег и ТРег показывают отдельные способы представления текста; ТРег не используется для изменения идентификатора.
Как проверить результат
Нормализованный код AMA-001-RU; в нижнем регистре ama-001-ru.
Замените исходник на AMA-001-KZ: получите ошибку окончания.
Вставьте внутренний пробел AMA- 001-RU: СокрЛП его не удалит. Для запрета такого пробела нужна отдельная проверка формата.
Ожидаемый результат
Код подготовлен по явному учебному контракту, а не по предположению о любом внешнем идентификаторе.
На что обратить внимание
Не меняйте регистр токенов, паролей, URL и идентификаторов, если их контракт требует точного значения.
ТРег механически преобразует слова и не гарантирует правильное написание имён людей или брендов.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.