[РЕШЕНО] Фильтр по наименованию в построителе отчета.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Sert, 7 фев 2017.

  1. TopicStarter Overlay
    Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    412
    Симпатии:
    12
    Баллы:
    29
    В УТ 10.3 в документе Инвентаризация при заполнении используется отбор по номенклатуре и номенклатурной группе. Мне нужен отбор по наименованию товара, точнее по его части (например "шарф" или "перчатки"). Не предлагайте заполнять номенклатурную группу, ассортимент большой и часто помногу обновляется. И иерархия тоже не может быть изменена по ряду причин. Так что единственный вариант - это применение отбора "Номенклатура.Наименование ПОДОБНО &СтрокаПоиска". Однако в документе используется построитель отчета, опыт работы с которым у меня минимален, переписывать всё на просто запрос, полагаю, намного сложнее, чем вписать одно маленькое условие. Однако я не совсем понимаю как это делается. Знатоки, помогите, полагаю для вас это семечки.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.900
    Симпатии:
    1.035
    Баллы:
    204
    В чем сложности настроить отбор, если как вы утверждаете, заполнение происходит с использованием построителя отчета?
    Сделайте на подобии отбора по номенклатуре/номенклатурной группе.
  3. TopicStarter Overlay
    Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    412
    Симпатии:
    12
    Баллы:
    29
    Ну так да. Так я просто вписал "МассивОтбора.Добавить("Номенклатура.Наименование");" И оно заработало. Но ищет по наличию конкретной строки. И как вариант даже сойдёт. Но хотелось бы сделать хорошо. А именно поиск по нескольким кускам текста, например "перч жен" (есть сложнее варианты)
    Я задаю строку поиска лСтрокаПоиска=СтрЗаменить(ПолеНастройкиНоменклатураНаименование," ","%"); Но вот как передать его в отбор построителя не знаю.
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.900
    Симпатии:
    1.035
    Баллы:
    204
    Передавать в отбор - как оно в данный момент передается. Значение отбора должно быть на форме тогда, чтобы пользователь мог вводить нужные значения.

    Вид сравнения при этом должен быть "содержит"/"начинается на"/"оканчивается на"/"не содержит"
  5. TopicStarter Overlay
    Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    412
    Симпатии:
    12
    Баллы:
    29
    Так я и сделал. Но так оно работает только на одну фразу. А мне нужно (хотелось бы) чтоб можно было несколько слов написать (или даже кусочков) не стоящих подряд, а с возможным наличием других слов или цифр между ними.

    Полагаю нужно просто запрос менять. Добавить (динамически по галочке) условие "Номенклатура.Наименование ПОДОБНО &СтрокаПоиска" и задать параметр как в обычном запросе. Раз пока не видно решения в рамках построителя.
    --- Объединение сообщений, 7 фев 2017 ---
    Но спасибо за участие.
  6. TopicStarter Overlay
    Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    412
    Симпатии:
    12
    Баллы:
    29
    Тогда другой вопрос.
    Как вписать условие?
    Сейчас вписано

    |{ГДЕ ОстаткиТоваров.Номенклатура КАК Номенклатура,
    | ОстаткиТоваров.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа}
    Нужно добавить
    ОстаткиТоваров.Номенклатура.Наименование ПОДОБНО &СтрокаПоиска"
    Как это правильно вписывается?

    |{ГДЕ ОстаткиТоваров.Номенклатура КАК Номенклатура,
    | ОстаткиТоваров.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа}
    | И ОстаткиТоваров.Номенклатура.Наименование ПОДОБНО &СтрокаПоиска"
    Так? (чую что нет)
  7. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204
    Ошибку синтаксиса выдаст, если не будет номенлатурной группы :)
  8. TopicStarter Overlay
    Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    412
    Симпатии:
    12
    Баллы:
    29
    А всё. Переписал запрос в цельный (там условные построения были)
    И на конструкторе запроса увидел как вписать условие

    ГДЕ
    ОстаткиТоваров.Номенклатура.Наименование ПОДОБНО &СтрокаПоиска
    {ГДЕ
    ОстаткиТоваров.Номенклатура КАК Номенклатура,
    ОстаткиТоваров.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа}


    Всем пасиба за участие.

    P.S. Ещё правда не опробовал, но это уже дело третье, думаю получится.
  9. TopicStarter Overlay
    Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    412
    Симпатии:
    12
    Баллы:
    29
    Опробовал. Всё гуд.