Выполняет сравнение строк без учета регистра, аналогичное сравнению строк с помощью объекта СравнениеЗначений.
Синтаксис
СтрСравнить(<Строка1>, <Строка2>)Полное описание, параметры и ограничения
Глобальный контекст.СтрСравнить (Global context.StrCompare)
Глобальный контекст (Global context)
СтрСравнить (StrCompare)
Доступен, начиная с версии 8.3.5.
Синтаксис:
СтрСравнить(<Строка1>, <Строка2>)
Параметры:
<Строка1> (обязательный)
Тип: Строка.
Строка для сравнения
<Строка2> (обязательный)
Тип: Строка.
Строка для сравнения.
Возвращаемое значение:
Тип: Число.
Возвращает:
-1 - первая строка меньше второй.
1 - первая строка больше второй.
0 - первая строка равна второй.
Описание:
Выполняет сравнение строк без учета регистра, аналогичное сравнению строк с помощью объекта СравнениеЗначений.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
См. также:
СравнениеЗначений, метод Сравнить
Использование в версии:
Доступен, начиная с версии 8.3.5.
Методическая информация
Практические примеры
Сравнить коды без регистра и выбрать перевод подписи
Проверяем сравнение строк и выводим две версии учебной подписи через НСтр, не меняя язык сеанса.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Все исходные строки заданы прямо в примере; товары, файлы и настройки рабочих конфигураций не нужны.
Выполняйте на сервере учебной базы. Особенно важно для встроенных функций регулярных выражений.
Сообщить(СтрСравнить("ama-001", "AMA-001"));
Сообщить(СтрСравнить("AMA-002", "AMA-010"));
Сообщить(СтрСравнить("AMA-010", "AMA-002"));
Сравнение = Новый СравнениеЗначений;
Сообщить(Сравнение.Сравнить("ama-001", "AMA-001"));
Сообщить(Сравнение.Сравнить(10, 2));
Сообщить(Сравнение.Сравнить(Дата(2026, 9, 15), Дата(2026, 9, 16)));
Сообщить(НСтр("ru = 'Учебный остаток'; en = 'Training stock'", "ru"));
Сообщить(НСтр("ru = 'Учебный остаток'; en = 'Training stock'", "en"));Разбор по шагам
СтрСравнить выполняет сравнение без учёта регистра и возвращает -1, 0 или 1.
СравнениеЗначений показывает тот же принцип для строк и сравнение чисел и дат внутри одного типа.
НСтр выбирает текст по явно переданному коду языка, а не переводит произвольную строку автоматически.
Язык сеанса не меняется; обе подписи проверяются одним запуском.
Как проверить результат
Строковые сравнения: 0, -1, 1; сравнение чисел 10 и 2 даёт 1, дат 15 и 16 сентября — -1.
Подписи: Учебный остаток и Training stock.
Сравните строковые "10" и "2" отдельно от чисел 10 и 2: текстовый и числовой порядок — разные задачи.
Ожидаемый результат
Показаны контракт сравнения и выбор готовых переводов подписи.
На что обратить внимание
Такое сравнение не подходит для проверки токенов или иных значений, где важен каждый символ и регистр.
Лексикографическое сравнение строк не заменяет естественную сортировку номеров с разной длиной цифровой части.
Для настоящего перевода необходимо заранее написать варианты в НСтр.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.