| 
    
        
     
     | 
    
  | 
Условие в Запрос на отбор по нескольким парам параметров... | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        warkan    
     28.11.19 
            ✎
    15:02 
 | 
         
        Всем добра!
 
        Подскажите, пожалуйста, возможно одним запросом выбрать документы, в ТЧ которых, содержатся пары параметров (к примеру, "Номенклатура"+"СерияНоменклатуры")? Таких "пар" N - в ТЗ с колонками "Номенклатура" и "СерияНоменклатуры", к примеру. Я додумался только до простого: N запросов на каждую пару. Но, может быть, это возможно организовать изящнее?.. Большое спасибо!  | 
|||
| 
    1
    
        Beduin    
     28.11.19 
            ✎
    15:03 
 | 
         
        (0) Так через И условия делаешь. Или не это?     
         | 
|||
| 
    2
    
        warkan    
     28.11.19 
            ✎
    15:05 
 | 
         
        (1) ну да, возможно и так: в цикле формируешь параметры к Запросу, потом синтезируешь условия отбора в тексте Запроса. 
 
        Что-то вида: (док.ТЧ.Номенклатура = Номенклатура1 и док.ТЧ.Партия = Партия1) ИЛИ (док.ТЧ.Номенклатура = Номенклатура2 и док.ТЧ.Партия = Партия2) ИЛИ...  | 
|||
| 
    3
    
        warkan    
     28.11.19 
            ✎
    15:06 
 | 
         
        Подумал, может есть что-то вроде... В (списокПараметров),
 
        только для ТЗ на 2 колонки...  | 
|||
| 
    4
    
        SergTheGreat    
     28.11.19 
            ✎
    15:13 
 | 
         
        (3) Конечно есть, хоть на 2, хоть на 200. Например:
 
        (Номенклатура, СерияНоменклатуры) В (ВЫБРАТЬ ВремТаб.Номенклатура, ВремТаб.СерияНоменклатуры ИЗ ВремТаб)  | 
|||
| 
    5
    
        warkan    
     28.11.19 
            ✎
    15:18 
 | 
         
        (4) Величайший Серж, дорогой!!!
 
        Можно ссылку на более развернутую информацию? Не хватает у меня знаний, чтобы понять смысл предоставленного тобою кода...( Подскажи, где или про что почитать? Что это за конструкция? Вложенный запрос? Помоги просветиться.  | 
|||
| 
    6
    
        Beduin    
     28.11.19 
            ✎
    15:36 
 | 
         
        ВЫБРАТЬ ПЕРВЫЕ 5
 
        ДоговорыКонтрагентов.Код КАК Код, ДоговорыКонтрагентов.Наименование КАК Наименование ПОМЕСТИТЬ ВременнаяТаблица ИЗ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДоговорыКонтрагентов.Ссылка КАК Ссылка, ДоговорыКонтрагентов.Код КАК Код, ДоговорыКонтрагентов.Наименование КАК Наименование ИЗ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов ГДЕ (ДоговорыКонтрагентов.Код, ДоговорыКонтрагентов.Наименование) В (ВЫБРАТЬ ВТ.Код, ВТ.Наименование ИЗ ВременнаяТаблица КАК ВТ)  | 
|||
| 
    7
    
        Kigo_Kigo    
     28.11.19 
            ✎
    15:38 
 | 
         
        (5) ВремТаб это ТЗ с колонками Номенклатура,СерияНоменклатуры , как ее сформировать дело вкуса     
         | 
|||
| 
    8
    
        warkan    
     28.11.19 
            ✎
    15:40 
 | 
         
        "Вабэни!" (С)
 
        (6)(7) - Спасибо ОГРОМНОЕ!!!  | 
|||
| 
    9
    
        warkan    
     29.11.19 
            ✎
    08:26 
 | 
         
        Всё работает и всё хорошо.
 
        Но, не будет ли наглостью, просить пояснить суть этой конструкции? Этот отбор по группе полей (то, что в круглых скобках) применим только к временным таблицам (с содержимым, полученным любым способом?)?  | 
|||
| 
    10
    
        warkan    
     29.11.19 
            ✎
    08:28 
 | 
         
        или:
 
        ГДЕ (набор из N полей) В (временная таблица с количеством и Наименованием колонок, соответствующих отбираемому набору из N полей)?  | 
|||
| 
    11
    
        catena    
     29.11.19 
            ✎
    09:37 
 | 
         
        Можно даже так:
 
        Выбрать ссылка из справочник.Номенклатура где (код, наименование) в (Выбрать "000001","Первый товар")  | 
|||
| 
    12
    
        НЕА123    
     29.11.19 
            ✎
    09:54 
 | 
         
        (11)
 
        >где (код, наименование) в (Выбрать "000001","Первый товар") где код = "000001" И наименование = "Первый товар" интересно, а какой из вариантов быстрее?  | 
|||
| 
    13
    
        EVGA    
     29.11.19 
            ✎
    10:20 
 | 
         
        (5) подготовься и сдай спеца по платформе и такие просты вещи перестанут быть тайной.     
         | 
|||
| 
    14
    
        D_E_S_131    
     29.11.19 
            ✎
    10:38 
 | 
         
        Если уж мы делаем временную таблицу, то возможно более нагляднее будет сделать внутреннее соединение этой ВТ с ТЧ по полям "Номенклатура" и "Серия номенклатуры".     
         | 
|||
| 
    15
    
        SergTheGreat    
     02.12.19 
            ✎
    09:38 
 | 
         
        (14) В данном примере да - результат и условия "ГДЕ", и соединения будет одинаков. Но в общем случае во ВТ могут быть не уникальные значения.
 
        Также конструкция из (4) может быть использована в условии виртуальной таблицы.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |