| 
    
            
         
         | 
    
  | 
Выбрать подстроку по шаблону в запросе. | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        farion5    
     11.07.16 
            ✎
    20:34 
 | 
         
        Есть ли способ выбрать из строки оформленной по шаблону КонтрагентНаименование#НомерДоговора#ДатаДоговора выбрать НомерДоговора и ДатаДоговора в запросе?
 
        Например: "ООО" Вектор#в3-п001#26.05.2016 00:00:00 получить в3-п001 и 26.05.2016 00:00:00  | 
|||
| 
    1
    
        hhhh    
     11.07.16 
            ✎
    21:03 
 | 
         
        (0) нет такого способа     
         | 
|||
| 
    2
    
        jsmith    
     11.07.16 
            ✎
    21:04 
 | 
         
        Есть
 
        ВЫБРАТЬ "_" КАК Симв, 1 КАК КолСимв ПОМЕСТИТЬ тзКоличествоСимволов9 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "__", 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "___", 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "____", 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "_____", 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "______", 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "_______", 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "________", 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "_________", 9 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "", 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Прав.Симв КАК Симв, тзКоличествоСимволов9_Лев.КолСимв * 10 + тзКоличествоСимволов9_Прав.КолСимв КАК КолСимв ПОМЕСТИТЬ тзКоличествоСимволов100 ИЗ тзКоличествоСимволов9 КАК тзКоличествоСимволов9_Лев, тзКоличествоСимволов9 КАК тзКоличествоСимволов9_Прав ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Различные Контрагенты.Ссылка, Выразить(ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоОткрытия.КолСимв+2, КоличествоСимволовДоЗакрытия.КолСимв-КоличествоСимволовДоОткрытия.КолСимв-1) как строка(100)) КАК НомерДоговора, Выразить(ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоЗакрытия.КолСимв+2, ДлинаСтроки.КолСимв-КоличествоСимволовДоЗакрытия.КолСимв+2) как строка(100)) КАК ДатаДоговора ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоОткрытия ПО (Контрагенты.Наименование ПОДОБНО КоличествоСимволовДоОткрытия.Симв + "#%") ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоЗакрытия ПО (Контрагенты.Наименование ПОДОБНО КоличествоСимволовДоЗакрытия.Симв + "#%") ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК ДлинаСтроки ПО (Контрагенты.Наименование ПОДОБНО ДлинаСтроки.Симв) ГДЕ Контрагенты.Наименование ПОДОБНО "%#%#%" И НЕ Выразить(ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоОткрытия.КолСимв+2, КоличествоСимволовДоЗакрытия.КолСимв-КоличествоСимволовДоОткрытия.КолСимв-1) как строка(100)) = "" И НЕ Выразить(ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоЗакрытия.КолСимв+2, ДлинаСтроки.КолСимв-КоличествоСимволовДоЗакрытия.КолСимв+2) как строка(100)) = ""  | 
|||
| 
    3
    
        hhhh    
     11.07.16 
            ✎
    21:31 
 | 
         
        может как-то так
 
        ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоОткрытия ПО ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоОткрытия.КолСимв+1, 1) = ""#"" а то подобно - очень тормозная штука  | 
|||
| 
    4
    
        jsmith    
     11.07.16 
            ✎
    21:36 
 | 
         
        А ты прав.
 
        ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоОткрытия ПО ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоОткрытия.КолСимв+1, 1) = "#" ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоЗакрытия ПО ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоЗакрытия.КолСимв+1, 1) = "#" ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК ДлинаСтроки ПО (Контрагенты.Наименование ПОДОБНО ДлинаСтроки.Симв)  | 
|||
| 
    5
    
        Tateossian    
     11.07.16 
            ✎
    21:51 
 | 
         
        (3) То есть, быстрее будет итеративно в цикле парсить текст?     
         | 
|||
| 
    6
    
        youalex    
     11.07.16 
            ✎
    21:55 
 | 
         
        (0) изначально какая задача стоит?     
         | 
|||
| 
    7
    
        Fram    
     11.07.16 
            ✎
    21:56 
 | 
         
        (5) по крайней начать лучше с этого, а там уже по смотреть устраивает не устривает скорость     
         | 
|||
| 
    8
    
        Fram    
     11.07.16 
            ✎
    21:56 
 | 
         
        *по крайней мере     
         | 
|||
| 
    9
    
        Tateossian    
     11.07.16 
            ✎
    21:59 
 | 
         
        (8) Мне кажется, надо всегда стремиться к самому оптимальному варианту, а то вырастает один эсник тупым и ленивым, мыслящим "И так сойдет", а потом везде будет сквозить эта концепция. Априори конечно скорость устроит.     
         | 
|||
| 
    10
    
        jsmith    
     11.07.16 
            ✎
    22:02 
 | 
         
        По чесноку надо в цикле обрабатывать     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |