Нормализовать код товара перед сравнением

Учебные задачи

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

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

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

Подготовка

  1. Правило задачи: регистр и крайние пробелы несущественны.

  2. Код задан строкой; не преобразовывайте 01 в число.

ВведённыйКод = "  a-01  ";
Код = ВРег(СокрЛП(ВведённыйКод));
Сообщить(Код);
Сообщить(СтрДлина(Код));
Сообщить(Лев(Код, 1));
Сообщить(Прав(Код, 2));
Сообщить(Сред(Код, 3, 2));
Сообщить(СтрЗаменить(Код, "-", ""));

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

  1. СокрЛП удаляет пробелы по краям; ВРег приводит к верхнему регистру.

  2. Лев, Прав и Сред извлекают фрагменты, позиция Сред начинается с 1.

  3. СтрЗаменить демонстрирует отдельное преобразование копии строки.

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

  1. Результаты: A-01; 4; A; 01; 01; A01.

  2. Проверьте a-001: ведущие нули сохраняются.

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

Нормализованный код A-01.

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

  1. Не удаляйте дефисы из реального идентификатора без договора обмена.

  2. Для регистрозависимых ключей нельзя применять ВРег.

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

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

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

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

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