Школа физики

Школа физики

Персональный сайт учителя физики
Лях Владимира Петровича

Пятница, 04 декабря 2015 05:33

Сравнение строк в 1С. Ошибка: Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. Оператор ПОДОБНО.

Автор
Оцените материал
(3 голосов)

Довольно часто возникает необходимость сравнить значения, которые имеют тип "строка". Первым делом на ум приходит идея воспользоваться оператором сравнения " = ". Однако, в случае, когда одно из сравниваемых текстовых полей имеет неограниченную длину, сравнение закончится ошибкой "Нельзя сравнивать поля неограниченной длины и поля несовместимых типов". Здесь на помощь придёт другой оператор.

Оператор ПОДОБНО - оператор проверки строки на подобие шаблону. Позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.

Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

% (процент): последовательность, содержащая любое количество произвольных символов

_ (подчеркивание): один произвольный символ

[…] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок

В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.

[^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания.

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

Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать <Спецсимвол>. Сам <Спецсимвол> (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

Например, шаблон "%АБВ[0-9][абвг]\_абв%" СПЕЦСИМВОЛ "\" означает подстроку, состоящую из последовательности символов: буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем перед этой последовательностью может располагаться произвольный набор символов.

Донец 14

Выпускник школы

Комментарии   

+1 #2 Дока Кока 17.03.2016 07:00
Славненько. Буду следить за развитием обсуждений и публикаций.
Цитировать
+1 #1 Дока Кока 17.03.2016 06:58
Интересненько у вас тут. Зайду еще всенепременно.
Цитировать

Комментарии

  • Евгений Евгений 25.11.2017 16:51
    Наконец то Урок по всем современным требованиям. Мугамба доволен!!!!!!!!! Не просто СПАСИБО! А ...

    Подробнее...

     
  • Олег Олег 02.11.2017 16:17
    Владимир, а где сегодня можно купить омагничиватель воды СО-2 или СО-3?

    Подробнее...

     
  • Тимур Тимур 22.09.2017 08:36
    Доброго времени суток, на вашем сайте наткнулся на фотографию учебного вольтметр-термо метра ...

    Подробнее...