8.х Полнотекстовый поиск. Поиск по справочнику без групп?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Чуланов Андрей, 10 сен 2008.

  1. TopicStarter Overlay
    Чуланов Андрей
    Offline

    Чуланов Андрей

    Регистрация:
    6 июн 2008
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Всем добрый день.

    Использую полнотекстовый поиск для подбора в табличную часть документа.

    Как написать выражение чтобы в результат поиска не попадали группы?

    Код:
    Процедура НачатьПоиск()
    Если ПолеВводаПоиска = "" Тогда //Выражение для поиска
    Возврат;
    КонецЕсли;
    МассивМД = Новый Массив();
    МассивМД.Добавить(Метаданные.Справочники.Номенклатура);
    СписокПоиска.ОбластьПоиска = МассивМД;
    СписокПоиска.ПорогНечеткости = 0;
    СписокПоиска.СтрокаПоиска = ПолеВводаПоиска;
    СписокПоиска.РазмерПорции = 20;
    СписокПоиска.ПерваяЧасть();
    Колво = СписокПоиска.ПолноеКоличество();
    КонецПроцедуры
    
    
    Спасибо всем кто поможет!!
  2. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Обход полученной коллекции осуществляется посредством цикла Для каждого ... из ... Цикл.
    Вот и поставь в цикле условие, например:
    Код:
    Для каждого Стр из СписокПоиска Цикл
    Если Стр.Значение.ЭтоГруппа = Истина Тогда
    Продолжить();
    КонецЕсли;
    ...
    КонецЦикла;
    
    
    Либо изначально почисти массив от групп.
  3. TopicStarter Overlay
    Чуланов Андрей
    Offline

    Чуланов Андрей

    Регистрация:
    6 июн 2008
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Если использовать цикл по результату, тогда получится обработать только полученную порцию (20штук)

    Код:
    СписокПоиска.РазмерПорции = 20;
    СписокПоиска.ПерваяЧасть();
    
    Потом придется получать следующие 20 и опять проходить их в цикле

    Код:
    СписокПоиска.СледующаяЧасть();
    
    Мне нужно чтобы были порции по 20, но только элементов.
  4. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Во-первых, СписокПоиска.РазмерПорции = 20 - ненужный код - это значение по умолчанию.
    Во-вторых, можно увеличить это количество.
    В-третьих, насколько я знаю, нет возможности вводить ограничения на свойства объекта при полнотекстовом поиске именно при самом процессе поиска.

    Если ты хочешь при поиске получать только элементы (а ты этого и хочешь!), то
    . Ты же ищешь не в объекте метаданных, а в созданном собственноручно массиве. Вот и заполни его элементами без групп! Напиши запрос с условием ЭтоГруппа = Ложь. Получишь ТЗ, содержащую только элементы. И радуйся.

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