| 
    
            
         
         | 
    
  | 
Поиск по таблице значений в 1С 8.2 | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        alexsandrinia    
     11.09.17 
            ✎
    10:40 
 | 
         
        Есть таблица значений, необходимо сделать поиск по колонке по ключевому слову, которое содержит только значение. Строк более 20000. Как можно реализовать?     
         | 
|||
| 
    1
    
        Рэйв    
     11.09.17 
            ✎
    10:41 
 | 
         
        через запрос.     
         | 
|||
| 
    2
    
        alexsandrinia    
     11.09.17 
            ✎
    10:42 
 | 
         
        (1) поместить в виртуальную таблицу и там делать ПОДОБНО ?     
         | 
|||
| 
    3
    
        1dvd    
     11.09.17 
            ✎
    10:42 
 | 
         
        >>...по ключевому слову, которое содержит только значение...
 
        Можно на русский перевести?  | 
|||
| 
    4
    
        Господин ПЖ    
     11.09.17 
            ✎
    10:42 
 | 
         
        (2) да     
         | 
|||
| 
    5
    
        Рэйв    
     11.09.17 
            ✎
    10:42 
 | 
         
        (2)Да. Если я правильно стелепатировал, что нужен поиск по вхождению     
         | 
|||
| 
    6
    
        alexsandrinia    
     11.09.17 
            ✎
    10:45 
 | 
         
        вот например есть таблица значений 
 
        Стакан пластиковый Стакан 0.2 Ложка Станок Стекл. стакан Мне нужно найти строки со значением "стак"  | 
|||
| 
    7
    
        VladZ    
     11.09.17 
            ✎
    10:46 
 | 
         
        (6) через запрос, использую "подобно"     
         | 
|||
| 
    8
    
        karabas11    
     11.09.17 
            ✎
    10:46 
 | 
         
        Если задача разовая, то чем перебор строк не угодил, если с запросом сложности есть?     
         | 
|||
| 
    9
    
        alexsandrinia    
     11.09.17 
            ✎
    10:48 
 | 
         
        (8) задача не разовая, строк около 20000
 
        (7) спс, сейчас попробую  | 
|||
| 
    10
    
        1dvd    
     11.09.17 
            ✎
    10:48 
 | 
         
        (6) это называется вхождение строки     
         | 
|||
| 
    11
    
        elCust    
     11.09.17 
            ✎
    10:52 
 | 
         
        (9) >> спс, сейчас попробую
 
        Не забудь добавить: ИНДЕКСИРОВАТЬ ПО  | 
|||
| 
    12
    
        elCust    
     11.09.17 
            ✎
    10:53 
 | 
         
        (2) >> поместить в виртуальную таблицу и там делать ПОДОБНО 
 
        Не в виртуальная, а во временную. Это совсем разные термины.  | 
|||
| 
    13
    
        alexsandrinia    
     11.09.17 
            ✎
    10:54 
 | 
         
        (12) спс     
         | 
|||
| 
    14
    
        МихаилМ    
     11.09.17 
            ✎
    10:58 
 | 
         
        в скд есть оператор like. 
 
        либо xslt. использовать для таких задач субд - моветон.  | 
|||
| 
    15
    
        alexsandrinia    
     11.09.17 
            ✎
    11:04 
 | 
         
        (14) где об этом пишут?     
         | 
|||
| 
    16
    
        H A D G E H O G s    
     11.09.17 
            ✎
    11:23 
 | 
         
        (15) Нигде об этом не пишут.
 
        Программист должен собрать остатки своего разума и понять это сам.  | 
|||
| 
    17
    
        H A D G E H O G s    
     11.09.17 
            ✎
    11:26 
 | 
         
        Подобно "%..%"
 
        Для Каждого СтрокаТаблицы Из Таблица Цикл Если Найти(СтрокаТаблицы.Данные,ЧтоИщем)<>0 Тогда МассивНайденныхСтрок.Добавить(СтрокаТаблицы ); КонецЕсли; КонецЦикла; Подобно "..%" ДлинаСтроки=СтрДлина(ЧтоИщем); Для Каждого СтрокаТаблицы Из Таблица Цикл Если Лев(СтрокаТаблицы.Данные,ДлинаСтроки)=ЧтоИщем Тогда МассивНайденныхСтрок.Добавить(СтрокаТаблицы ); КонецЕсли; КонецЦикла;  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |