Содержание:
2. Специальные символы в 1С 8.3
В процессе разработки, программист 1С часто сталкивается с запросами. Чтобы грамотно и полноценно использовать данный инструмент, необходимо разобраться в операторах. Сегодня мы поговорим об одном из них – об операторе ПОДОБНО.
1. ПОДОБНО в запросе 1С
Цель использования ПОДОБНО в запросе 1С это проверка соответствия данных и условия, представленного в виде шаблона. Результатом данной проверки является значение с типом “булево в 1С”. Ввиду этого данный оператор следует использовать в следующих частях запроса:
· в блоке условий, который начинается с ключевого слова “ГДЕ”;
· в конструкции “Выбор Когда Тогда Иначе Конец”;
· в полях выборки, как результат сравнения полей.
Правила проверки формируются по определенному алгоритму с использованием своего синтаксиса, и состоят из 3 компонентов. Первый – строка, которая будет проверяться на соответствие. Второй – способ сопоставления (оператор), в нашем случае ПОДОБНО. И третий – шаблон, с учетом условий которого будет происходить проверка соответствия.
Шаблон в 1С 8.3 для проверки так же создается по определенным правилам. Проверка на соответствие происходит без учета регистра. Данный механизм значительно упрощает разработку данного решения. Сам шаблон в 1С 8.3 должен быть строковой величиной. То есть, если он полностью или частично передается в запрос в качестве параметра, то необходимо применять правила работы со строковыми выражениями. Помимо этого, для повышения удобства и скорости описания шаблонов имеются специальные символы в 1С 8.3.
2. Специальные символы в 1С 8.3
1. «%» – набор любых символов. Применяется для нахождения определенных символов или их сочетания в строке; (Номенклатура.Наименование ПОДОБНО "%ПроизволльнаяЧастьСтроки%").
Несколько примеров:
1.1. Номенклатура.Наименование ПОДОБНО "%КАРАНДАШ%”
Выборке будут соответствовать:
Карандаш простой
Цветные карандаши
Цветной карандаш, зеленый
Угольный карандаш
1.2. Номенклатура.Наименование ПОДОБНО "%КАРАНДАШ”
Выборке будет соответствовать:
Угольный карандаш
1.3. Номенклатура.Наименование ПОДОБНО "КАРАНДАШ%”
Выборке будет соответствовать:
Карандаш простой
2. «_» – любой символ. Используется для определения наличия одного знака;
2.1. Номенклатура.Наименование ПОДОБНО "____”
Выборке будет соответствовать:
Лист
3. «[…]» – символы для сравнения со знаком в строке. С помощью такого шаблона проверяется соответствие любому из указанных в квадратных скобках символов. Помимо этого, можно использовать диапазон цифр или букв ([а-ж], [3-9]);
3.1. Номенклатура.Наименование ПОДОБНО "[Ф-Ц]%”
Выборке будут соответствовать:
Цветные карандаши
Цветной карандаш, зеленый
4. «[^…]» – шаблон, обратный предыдущему. Поиск несоответствия, указанного в квадратных скобках символа или диапазона, от символов строки.
4.1. Номенклатура.Наименование ПОДОБНО "[^Ф-Ц]%”
Выборке будут соответствовать:
Карандаш простой
Лист
Угольный карандаш
Шаблоны с использованием нескольких вышеперечисленных пунктов позволяют составить огромное количество вариаций отборов, которые подойдут для решения большинства задач, связанных с поиском строк. Хотя, текстовый поиск всегда зависит от того, насколько точно введены данные, но именно данный вид сравнения, несмотря на это, остается одним из тех, которые очень часто находят себе применение на практике.
Специалист компании ООО «Кодерлайн»
Романенков Марк Александрович