7.7 Отбор в запросе по строковому реквизиту

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем svsvn, 25 сен 2009.

  1. TopicStarter Overlay
    svsvn
    Offline

    svsvn

    Регистрация:
    19 окт 2006
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Не отбирает если в текст запроса добавляю

    Код:
    	Если ПустаяСтрока(ВыбАртикул)=0 Тогда
    ТекстЗапроса = ТекстЗапроса +
    "
    |Артикул	= Регистр.Продажи.Номенклатура.Артикул;";                
    
    КонецЕсли;
    
    ТекстЗапроса = ТекстЗапроса+"Условие ("""+СокрЛП(ВыбАртикул)+""" в Артикул);";
    
    
    Выводит пустой отчет. Подскажите как отобрать?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Оператор языка запросов ''Условие (А в Б);'' говорит о том, что условие истинно, когда значение А является подмножеством значения Б. Следует особо отметить, что если значение Б пустое (объект не выбран), то условие является истинным, в отличие от оператора ''='' (равно). Если на принадлежность проверяется значение типа элемент справочника, то проверка выполняется с учетом его возможного вхождения в группу справочника. Аналогично, проверка на принадлежность субсчета осуществляется с учетом его возможного вхождения в счет-группу.
    В качестве включающего подмножества логического оператора принадлежности (второй параметр после слова ''в'') может выступать как простое значение, так и список значений. В этом случае проверка выполняется с учетом вышеотмеченных особенностей для каждой строки списка значений.

    Для строки работать не будет

    Нужно писать СВОЮ функцию сравнения. НО при этом скорость выполнения запроса РЕЗКО уменьшится. Рекомендую выполнить запрос без данного условия, выгрузить результат в ТаблицуЗначений и в ней уже проводить все необходимые манипуляции
  3. TopicStarter Overlay
    svsvn
    Offline

    svsvn

    Регистрация:
    19 окт 2006
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Сработало вот так:
    Код:
    ТекстЗапроса = ТекстЗапроса+"Условие ("""+ВыбАртикул+""" = Артикул);";
    
    :smile: :unsure:

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