Имя: Пароль:
1C
 
Запрос с отбором подобно маске
0 Asest
 
08.09.14
15:50
Есть ли возможность отобрать элементы, у которых реквизит типа строка имеет маску. Что - нибудь в духе
ВЫБРАТЬ
    Номенклатура.Ссылка,
    Номенклатура.ВнутрНомер
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
     Номенклатура.ВнутрНомер ПОДОБНО &Маска

И маска = "99999"
1 Smit1C
 
08.09.14
15:51
Маска вроде только ограничение на поле ввода и нигде в базе не хранится
2 Бешеная Нога
 
08.09.14
15:52
вроде да. где- то видел манул всех финтов ПОДОБНО, там много чего можно делать (не только * и %)...
3 Asest
 
08.09.14
15:55
(1) Это так.
Я хочу чтобы запрос мне вернул
Ну например строки, где первый символ цифра, второй буква а третий любой символ
то есть маска = "9Z%"
4 Asest
 
08.09.14
15:55
НЕт маска такая "9Z*"
5 ДенисЧ
 
08.09.14
15:56
(4) у тебя две маски не одинаковы
6 Asest
 
08.09.14
15:57
Если написать Строка Подобно %+&Переменная+ %
Тогда он выведет все строки которые содержат строку Переменная и еще любое кол-во символов слева и права
7 Ринат-СПб
 
08.09.14
15:57
8 Asest
 
08.09.14
15:57
%-любое количество любых символов
*- 1 любой символ
9 ДенисЧ
 
08.09.14
15:57
где ВнутрНомер ПОДОБНО "9Z_"
10 ДенисЧ
 
08.09.14
15:58
Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

% (процент): последовательность, содержащая любое количество произвольных символов
_ (подчеркивание): один произвольный символ
[…] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок
В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.
[^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания
Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки.

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

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

Причем перед этой последовательностью может располагаться произвольный набор символов.
11 Asest
 
08.09.14
16:08
Вот так выглядит запрос для консоли запросов
ВЫБРАТЬ
                               Номенклатура.Ссылка
                           ИЗ
                               Справочник.Номенклатура КАК Номенклатура
                           ГДЕ
                               Номенклатура.Родитель <> &Родитель
                            И
                               Номенклатура.Артикул ПОДОБНО "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"
12 Asest
 
08.09.14
16:12
Вот так выглядит для 1с
Запрос.Текст = "ВЫБРАТЬ
                    |    Номенклатура.Ссылка
                    |ИЗ
                    |    Справочник.Номенклатура КАК Номенклатура
                    |ГДЕ
                    |    НЕ Номенклатура.ВнутрНомер ПОДОБНО ""[0-9][0-9][0-9][0-9][0-9][0-9][0-9]""";
13 Asest
 
08.09.14
16:13
Что соответствует Строке состоящей из 7 цифр в указанных диапазонах
14 Asest
 
08.09.14
17:15
Вопрос как проверить что переменная строка соответствует маске?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn