7.7 Как из результатов запроса исключить некоторые значения?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Steel Rain, 17 май 2010.

  1. TopicStarter Overlay
    Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Всем доброго времени суток.

    Есть такая задача: Сформировать отчет по продажам, но не включать в него некоторые товары. Не включаемые в отчет товары выбираются в диалоге формы в Список значений - ВыбТовар.
    Написал такой вот запрос:
    Код:
    	ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |ТекущийДокумент = Регистр.Продажи.ТекущийДокумент;
    |Контрагент = Регистр.Продажи.Контрагент;
    |Фирма = Регистр.Продажи.Фирма;
    |Номенклатура = Регистр.Продажи.Товар;
    |Сумма = Регистр.Продажи.ПродСтоимость;
    |Функция СуммаСумма = Сумма(Сумма);
    |Группировка Контрагент без Групп;
    |Группировка ТекущийДокумент упорядочить по ТекущийДокумент.ДатаДок;
    |Условие(Контрагент в ВыбКонтрагент);
    |Условие(Фирма в ВыбФирма);
    |Условие(Номенклатура <> ВыбТовар);
    |"//}}ЗАПРОС
    
    Все равно считает сумму по всем товарам. Пробовал конструкцию
    Код:
    |Функция СуммаСумма = Сумма(Сумма) когда (Номенклатура <> ВыбТовар);
    
    Как то тоже не прокатило...
    Можно вообще это в запросе сделать? Или только потом уже результаты обрабатывать?
  2. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    В том то и дело - ты сравниваеш элемент справочника со списком значений
  3. TopicStarter Overlay
    Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Так вариант с "=" и "в" работает. Т.е. на вхождение можно проверить, а наоборот нельзя получается?
  4. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Ты хочеш отсечь текущее значение СЗ? Если да то можно, но возможно обращение происходит к самому значению, а не к строке (в смысле добавляеш значение сп.добавитьзначение(1,"товар")) .
    Если их пару и больше то, как вариант, попробуй забивать отсекаемые в тз, а в цикле запроса отсекай
  5. TopicStarter Overlay
    Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Нет мне нужно исключить все значения добавленные в список. Собственно поэтому и список.
    Ну это то понятно... Как раз так то не хотелось делать.
  6. dedalx7
    Offline

    dedalx7 Опытный в 1С

    Регистрация:
    20 май 2009
    Сообщения:
    97
    Симпатии:
    0
    Баллы:
    26
    Код:
    |Функция СуммаСумма = Сумма(Сумма) когда (НЕ (Номенклатура В ВыбТовар));
    
    
    Но почему бы сразу не сделать

    Код:
    |Условие (НЕ (Номенклатура В ВыбТовар));
    
  7. TopicStarter Overlay
    Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    DeDaL_X отлично, спасибо!

Поделиться этой страницей