|
v7: Как отобрать элементы спр-ка, у которых Лев(Наименование, N) = "ляляля"?
| ☑ |
0
Галахад
гуру
02.12.11
✎
07:23
|
?
|
|
1
Ковычки
02.12.11
✎
07:24
|
НайтиПоНаименованию с ложным удалением
|
|
2
Галахад
гуру
02.12.11
✎
07:25
|
(1) Что такое ложное удаление?
|
|
3
Ковычки
02.12.11
✎
07:26
|
тогда через перебор или запрос
|
|
4
PuhUfa
02.12.11
✎
07:26
|
Запрос не предлогать?
|
|
5
Галахад
гуру
02.12.11
✎
07:28
|
(3) Понятно.
(4) В 77 запросы какие-то странные...
|
|
6
Amiralnar
02.12.11
✎
07:29
|
Вам 1 раз или регулярно?
1с++ поддерживает нормальные запросы.
|
|
7
Rie
02.12.11
✎
07:30
|
(5) В данном случае запрос - элементарный:
"Элем = Справочник.ТвойСправочник.ТекущийЭлемент;
|Наименование = Справочник.ТвойСправочник.Наименование;
|Условие (Лев(Наименование,12345)=""ляляля"";"
|
|
8
Галахад
гуру
02.12.11
✎
07:30
|
(6) Однократно. Надеюсь. :-)
|
|
9
Amiralnar
02.12.11
✎
07:30
|
(7) Ранозначно перебору?
|
|
10
Галахад
гуру
02.12.11
✎
07:31
|
(7) Спасибо.
|
|
11
Ковычки
02.12.11
✎
07:32
|
(2)
НачатьТранзакцию();
Пока Спр.НайтиПоНаименованию("ляляля",0,0)=1 Цикл
Сп.ДобавитьЗначение(Спр,ТекущийЭлемент());
Спр.Удалить(1);
КонецЦикла;
ОтменитьТранзакцию();
|
|
12
PuhUfa
02.12.11
✎
07:33
|
(11) жуть какая
|
|
13
Chai Nic
02.12.11
✎
07:34
|
(11) зачем такой изврат? Если нужно именно по левой части строки отбор - то установить порядок наименований и дальше перебором до тех пор, пока не наткнешься на несоответствие начальному шаблону.
|
|
14
Галахад
гуру
02.12.11
✎
07:35
|
(11) Ага. Вспомнил. Хорошая штука.
|
|
15
Ковычки
02.12.11
✎
08:06
|
(13) эта жуть просто универсальна и сама быстрая
|
|
16
МихаилМ
02.12.11
✎
11:36
|
запросом
Условие (Наименование >= "ляляля")
Условие (Наименование < "лялял+СИМВОЛПОСЛЕ(я)")
именно так мс скл преобразует like
|
|
17
МихаилМ
02.12.11
✎
11:36
|
+ но тут зависимость от collation
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший