СКД: Условие на поле в запросе #584523


#0 by mirrr
Есть результат запроса в виде: ---------------------------------------- Договор_______Статьи ---------------------------------------- 1__________Статья 1, Статья 2, Статья3 2__________Статья 2, Статья 4, Статья5 3__________Статья 1, Статья 2, Статья4 Поле "Статьи" - строковое, полученное путем перевода ссылочного типа (Справочник.Статьи) в строку. В параметрах отчета есть параметр "Статья" (тип - Справочник.Статьи). Как можно сделать, чтобы отбор договоров был по выбранной статье, а если статья не указана - то по всем статьям.
#1 by rs_trade
В конструкторе, на закладке Компоновка данных. Выглядеть будет как то так    РеализацияТоваровУслуг.Ссылка.*}
#2 by Gesperid10
накуа?
#3 by ZanderZ
выбор когда тогда ИСТИНА иначе ЛОЖЬ конец
#4 by mirrr
что фигурные скобки означают?
#5 by Gesperid10
расширения языка запросов для СКд
#6 by mirrr
чтобы для одного договора в одном поле отображались все его статьи
#7 by Gesperid10
так фильтруй по ссылочным статьям, а выводи что хочешь
#8 by mirrr
не понял, как можно в одном поле "Статьи" указать несколько ссылок?
#9 by Gesperid10
преобразуй свою таблицу к такой: Договор  | Представление всех статей  | Статья ------------------------------------------------- 1        |Статья 1, Статья 2, Статья3 | Статья 1 2        |Статья 1, Статья 2, Статья3 | Статья 2 3        |Статья 1, Статья 2, Статья3 | Статья 3
#10 by Gesperid10
пардон, вот так: Договор  | Представление всех статей  | Статья ------------------------------------------------- 1        |Статья 1, Статья 2, Статья3 | Статья 1 1        |Статья 1, Статья 2, Статья3 | Статья 2 1        |Статья 1, Статья 2, Статья3 | Статья 3 .....
#11 by PVV65
Добавляешь вычисляемое поле - Выбор Когда ЗначениеЗаполнено(&Параметр1) Тогда Выбор когда Строка(&Параметр1) ПОДОБНО Статьи  Тогда Истина Иначе Ложь Конец Иначе Истина Конец Отбор делаешь по этому полю на Истину.
#12 by PVV65
Выбор Когда ЗначениеЗаполнено(&Параметр1) Тогда Выбор когда "%" + Строка(&Параметр1) + "%" ПОДОБНО Статьи  Тогда Истина Иначе Ложь Конец Иначе Истина Конец
#13 by PVV65
Замутил Выбор Когда ЗначениеЗаполнено(&Параметр1) Тогда Выбор когда Статьи ПОДОБНО "%" + Строка(&Параметр1) + "%"  Тогда Истина Иначе Ложь Конец Иначе Истина Конец
#14 by Gesperid10
кхм, а уменя есть статьи затрат "усл сч.20", "усл сч.20, 23"
#15 by Gesperid10
а ещё "Охрана" и "Охрана труда (услуги) сч. 25", "Охрана труда (услуги) сч. 26" и много подробного
#16 by PVV65
И что?
#17 by PVV65
+ Отправить к изучению ПОДОБНО?
#18 by Gesperid10
#19 by PVV65
Не пойму. Ты хочешь сказать, что при помощи регулярных выражений (вообще) и функции ПОДОБНО (в частности) нельзя найти нужную подстроку?
#20 by Gesperid10
Мля Договор  | Статья --------------------------------------------------------------- 1        |"Охрана", "Другая статья" 2        |"Охрана труда (услуги) сч. 25", "Дргуая статья" Сделай отбор по статье "Охрана"
#21 by Gesperid10
#22 by Gesperid10
только кавычек представлении нет =)
#23 by PVV65
(20 - 22) Учите регулярные выражения.
#24 by Gesperid10
мля, вот ты непробиваемый
#25 by Gesperid10
В общем случае одни наименования являются подстроками других!
#26 by Gesperid10
+ ПОДОБНО - это не регулярные выражения
#27 by PVV65
Для решения твоей задачи, я добавлю к статье кавычки и напишу -- ПОДОБНО "%""" + Строка(&Параметр1) + """%" --.
#28 by Gesperid10
а как ты решишь задачу, какие символы разделители использовать? те которые не встречаются не в одном наименовании и никогда не появится или как? Короче, я к тому, что фильтровать по наименованию имея доступ к ссылкам - это изврат и чреват хнёй
#29 by Gesperid10
а с чего ты взял, что у меня нет статьи "услуги для ООО "Охрана""?
#30 by PVV65
ТС решает свою конкретную задачу. Ты же говоришь о "нетленке". Естественно сравнивать надо ссылки. Но для этого надо вернутся к условию задачи, а не стартовать с итоговой таблицы. А его задаче легко решается при помощи ПОДОБНО и выбора "правильного" разделителя с учетом наименований статей затрат (это его база, это его локальное решение). Кроме этого, на основании предыдущих вопросов ТС, я приблизительно представляю путь, как была получена итоговая таблица. Плюс к этому, отборы зачастую накладываются на итоговые таблицы. Плюс  к этому, в данной задаче тащить ссылки на статьи вызовет дополнительный геморой. Зачем так много проблем, если задача, в данном контексте, решается легко и просто.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С