7.7 Выбор из Справочника элементов по условию

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

  1. TopicStarter Overlay
    Sherry Djeanna
    Offline

    Sherry Djeanna Опытный в 1С

    Регистрация:
    12 июл 2015
    Сообщения:
    70
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте всем!
    Пришлось вернуться к 7.7 и не могу решить вроде простейшую задачу. Пожалуйста, не бейте тапками, т.к. чувствую глупизну вопроса...
    Из справочника Контрагенты нужно выбрать все элементы, где в наименовании присутствует Искомая часть.
    Например, мне нужно найти все элементы, где в наименовании есть слово, например, "ИП".
    Т.е. я хочу получить в ТЗ список :
    ИП Иванов
    ИП Сидоров
    ИП Петров....

    Кроме обычного перебора справочника с поиском :
    Если СпрКонтр.НайтиПоНаименованию(Поиск,0,0)=1 Тогда
    //обработка
    КонецЕсли;

    есть более автоматизированный вариант?
    Я хотела запросом поискать, но в условии нельзя писать такую конструкцию (или я ошибаюсь?) :
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Номенкл = Справочник.Контрагенты;
    |Группировка Номенкл упорядочить ПО Номенкл.Наименование без Групп;
    |Условие (Найти (Номенкл.Наименование,Поиск,0,0)>0);
    |";
    У меня идет большая загрузка инфы и для каждой строки делать перебор справочника на предмет "есть ли такой элемент уже в нем" мне кажется не очень целесообразным.
  2. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Может лучше так:
    Код:
    Функция ЕстьВхождениеСлова (Стр, Образец)
        Возврат ?(Найти(" "+ ВРег(Стр)+" "," "+ ВРег(Образец)+" ")>0,1,0);
    КонецФункции
    И уже условие:
    Код:
        Если ЕстьВхождениеСлова (Контрагент,"ИП") = 1 Тогда 

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