| 
    
        
     
     | 
    
  | 
Условие на несколько обязательных вхождений | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        trialex3    
     25.07.22 
            ✎
    13:33 
 | 
         
        Добрый день. Какое должно быть верное условие, что бы отобрать те заказы покупателя где есть ВСЕ указанные товары. Конструкция В() не подходит, так как она проверяет каждый товар по отдельности.     
         | 
|||
| 
    1
    
        trialex3    
     25.07.22 
            ✎
    13:36 
 | 
         
        Блин. Неужели надо будет соединять справочник сам с собой каждый раз? 8 товаров указано - 8 соединений?     
         | 
|||
| 
    2
    
        Галахад    
     гуру 
    25.07.22 
            ✎
    13:37 
 | 
         
        Можно "=" и "="...     
         | 
|||
| 
    3
    
        Галахад    
     гуру 
    25.07.22 
            ✎
    13:38 
 | 
         
        Можно В + Имеющие(КоличествоРазличных) = В.Количество()     
         | 
|||
| 
    4
    
        trialex3    
     25.07.22 
            ✎
    13:39 
 | 
         
        (2) Пробовал у меня это не работает после обновления релиза     
         | 
|||
| 
    5
    
        Галахад    
     гуру 
    25.07.22 
            ✎
    13:39 
 | 
         
        Можно В + Имеющие(КоличествоРазличных) = СписокТоваров.Количество()     
         | 
|||
| 
    6
    
        Галахад    
     гуру 
    25.07.22 
            ✎
    13:40 
 | 
         
        (4) Беда. Обновление сломало синтаксис запросов. О_о     
         | 
|||
| 
    7
    
        trialex3    
     25.07.22 
            ✎
    13:41 
 | 
         
        (6) Честно говоря не знаю - обновлял администратор. Но там были проблемы с встроенными процедурами ПобитовоеИ, ПобитовоеИЛИ и побитовоеНе. Может быть это виной...     
         | 
|||
| 
    8
    
        trialex3    
     25.07.22 
            ✎
    13:44 
 | 
         
        (6) Ну в старой базе через = И = тоже не ищет     
         | 
|||
| 
    9
    
        trialex3    
     25.07.22 
            ✎
    13:46 
 | 
         
        (5) Можно поподробнее не очень понял как это в запросе описать?Куда это вставить?
 
        ВЫБРАТЬ ЗаказПокупателяТовары.Ссылка КАК Ссылка ИЗ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ГДЕ ЗаказПокупателяТовары.ХарактеристикаНоменклатуры.наименование = "А" И ЗаказПокупателяТовары.ХарактеристикаНоменклатуры.наименование = "Б"  | 
|||
| 
    10
    
        trialex3    
     25.07.22 
            ✎
    14:56 
 | 
         
        (6) Короче я проверил все базы - даже за 19 год. Везде условие А=1 И А=2 не работает. При этом менеджеры продаж утверждают что в пятницу все работало. Как могло обновление одной базы повлиять на все базы?     
         | 
|||
| 
    11
    
        Ryzeman    
     25.07.22 
            ✎
    15:02 
 | 
         
        (10) Очевидно что он ИЛИ имел ввиду. Разве не ясно что А = 1 И А = 2 никогда не будет выполняться?...     
         | 
|||
| 
    12
    
        ZDenis    
     25.07.22 
            ✎
    15:04 
 | 
         
        (10) Покажи изначальный запрос, который работал в пятницу     
         | 
|||
| 
    13
    
        Галахад    
     гуру 
    25.07.22 
            ✎
    15:11 
 | 
         
        (9) Типа:     
         | 
|||
| 
    14
    
        Галахад    
     гуру 
    25.07.22 
            ✎
    15:11 
 | 
         
        ВЫБРАТЬ РАЗЛИЧНЫЕ
 
        Т.Ссылка КАК Ссылка, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Т.Номенклатура) КАК Номенклатура ИЗ Документ.ЗаказПокупателя.Товары КАК Т ГДЕ Т.Номенклатура В(&Список) СГРУППИРОВАТЬ ПО Т.Ссылка ИМЕЮЩИЕ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Т.Номенклатура) = &СписокКоличество  | 
|||
| 
    15
    
        trialex3    
     25.07.22 
            ✎
    15:25 
 | 
         
        (12) Это стандартный отчет "Анализ заказа покупателя" в УПП. Там есть отбор. Если в отборе указать несколько раз Характеристика = Товар то выходили именно те заказы, которые содержат все строки из отбора     
         | 
|||
| 
    16
    
        1Сергей    
     25.07.22 
            ✎
    15:26 
 | 
         
        (15) Черепашка     
         | 
|||
| 
    17
    
        trialex3    
     25.07.22 
            ✎
    15:29 
 | 
         
        (14) Если я правильно понимаю то этот отчет даст только те заказы в которых только указанные характеристики. А если там они и еще что-то, то запрос откинет подобное.     
         | 
|||
| 
    18
    
        trialex3    
     25.07.22 
            ✎
    15:30 
 | 
         
        (16) Не понял. Это игра и мне на А? Аист     
         | 
|||
| 
    19
    
        kostyan29    
     25.07.22 
            ✎
    15:32 
 | 
         
        (0) 
 
        Передать в запрос таблицу значений с нужными позициями номенклатур, запихнуть ее во временную таблицу, и с ней уже сверить. Отдельным параметром передать количество позиций в списке ВЫБРАТЬ НоменклатураТаблица.Номенклатура ПОМЕСТИТЬ ВТСписокНоменклатуры ИЗ &ТаблицаЗначенийНоменклатуры КАК НоменклатураТаблица ; ВЫБРАТЬ ЗаказПокупателяТовары.Ссылка КАК Заказ, КОЛИЧЕСТВО(ЗаказПокупателяТовары.Номенклатура) КАК Количество ИЗ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокНоменклатуры ПО ВТСписокНоменклатуры.Номенклатура=ЗаказПокупателяТовары.Номенклатура СГРУППИРОВАТЬ ПО ЗаказПокупателяТовары.Ссылка ИМЕЮЩИЕ КОЛИЧЕСТВО(ЗаказПокупателяТовары.Номенклатура)=&колво  | 
|||
| 
    20
    
        trialex3    
     25.07.22 
            ✎
    15:36 
 | 
         
        (11) Нашел старую базу где это работает:)     
         | 
|||
| 
    21
    
        Ryzeman    
     25.07.22 
            ✎
    15:38 
 | 
         
        (20) Это нигде блин не будет работать. Я тебе дам миллион долларов если твоя фамилия равна "Петров" и твоя фамилия равно "Иванов". Булева алгебра, 1-ый курс.     
         | 
|||
| 
    22
    
        1Сергей    
     25.07.22 
            ✎
    15:39 
 | 
         
        (18) Это из анекдота про три черепашки     
         | 
|||
| 
    23
    
        Галахад    
     гуру 
    25.07.22 
            ✎
    15:42 
 | 
         
        (17) Не, так не интересно. Даже готовый запрос не разобрать. :-(     
         | 
|||
| 
    24
    
        Жан Пердежон    
     25.07.22 
            ✎
    15:44 
 | 
         
        (0) задачка для стажера на знание языка запросов     
         | 
|||
| 
    25
    
        trialex3    
     25.07.22 
            ✎
    15:54 
 | 
         
        (21) Значит отчет как то это обыгрывает. Я только что сделал отбор
 
        Заказ.Товары.ХарактеристикаНоменклатуры = А Заказ.Товары.ХарактеристикаНоменклатуры = Б И отчет дал только 1 заказ.  | 
|||
| 
    26
    
        trialex3    
     25.07.22 
            ✎
    15:54 
 | 
         
        (24) Благодарю за критику.     
         | 
|||
| 
    27
    
        kostyan29    
     25.07.22 
            ✎
    15:59 
 | 
         
        (23) А что не так? Может, не слишком оптимально, но вроде работает...     
         | 
|||
| 
    28
    
        trialex3    
     25.07.22 
            ✎
    16:03 
 | 
         
        Любопытно что если прервать отчет и посмотреть на отбор, который он с табдока потом стирает то там просто через равно условия по характеристике. Видимо он где то под капотом соединяет
 
        Анализ заказов покупателей Период: Период не установлен Показатели: Оплата(Запланировано, Осталось оплатить, Предоплата); Отгрузка (в ед. хранения)(Запланировано, Осталось отгрузить, Со склада, Размещено в заказах, Осталось обеспечить); Группировки строк: Заказ (Элементы); "Отборы: Заказ.Товары.Характеристика номенклатуры Равно "А"; Заказ.Товары.Характеристика номенклатуры Равно "Б"; Заказ.Товары.Характеристика номенклатуры Равно "В" "Дополнительные поля: Запланировано оплатить (Вместе с измерениями, После группировки); Осталось оплатить (Вместе с измерениями, После группировки); Предоплата (Вместе с измерениями, После группировки); Запланировано отгрузить (в ед. хранения) (Вместе с измерениями, После группировки); Осталось отгрузить (в ед. хранения) (Вместе с измерениями, После группировки); Отгрузить со склада (в ед. хранения) (Вместе с измерениями, После группировки); Размещено в заказах (в ед. хранения) (Вместе с измерениями, После группировки); Осталось обеспечить (в ед. хранения) (Вместе с измерениями, После группировки);" Сортировка: Заказ (По возрастанию);  | 
|||
| 
    29
    
        trialex3    
     25.07.22 
            ✎
    16:04 
 | 
         
        (27) {(2, 2)}: Тип не может быть выбран в запросе
 
        <<?>>НоменклатураТаблица.Номенклатура КАК Номенклатура  | 
|||
| 
    30
    
        trialex3    
     25.07.22 
            ✎
    16:28 
 | 
         
        КОРОЧЕ РЕШЕНА ПРОБЛЕМА.
 
        Оказалась загвоздка в совместимости. Если совместимость ставить выше 8.3.10 то отчеты стандартные так не работают через несколько РАВНО. Если ставить 8.3.10 то все работает нормально  | 
|||
| 
    31
    
        Ryzeman    
     25.07.22 
            ✎
    18:38 
 | 
         
        (25) Какой-то семёрочный код. Тут впрочем нет "И"     
         | 
|||
| 
    32
    
        trialex3    
     26.07.22 
            ✎
    10:50 
 | 
         
        (31) Да пес его знает как эти стандартные отчеты работают. Могу лишь сказать что после установки совместимости 8.3.10 отчеты заработали с несколькими условиями как раньше. Будет время разберу из гляну где собака зарыта.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |