Использование таблицы значений в СКД, связь наборов данных #736494


#0 by Deryni
Есть такая задача. Нужно в отчёте вывести ценовой сегмент для номенклатуры. Ценовой сегмент задаётся градацией от цены. Например цена до 100 долларов - Сегмент 1, от 100 до 300 - Сегмент 2 и так далее. Задаваться это будет в виде таблицы значений в форме с порогами, например так: 100 - Сегмент 1 Теперь хочу в запросе СКД получить сегмент В обычно запросе я бы передал таблицу параметров, а потом написал так: ВЫБРАТЬ   Т.Порог,   Т.Сегмент ВТСегменты.Сегмент ИЗ    ВТТовары   ЛЕВОЕ СОЕДИНЕНИЕ ВТСегменты ПО ВТСегменты.Порог <= ВТТовары.Цена ) ТоварыСПорогом ЛЕВОЕ СОЕДИНЕНИЕ ВТСегменты ПО ВТСегменты.Порог = ТоварыСПорогом.Порог Но в СКД нельзя вставить таблицу значений параметром, а если я делаю набор данных Таблицу значений, то я не могу с ней соединиться по вот такому хитрому условию. Можно, конечно сделать набор данных ТЗ, по нему рассчитать сегменты для товаров и потом присоединить по соединению наборов данных. Но это ж лишний запрос, а его делать не хочется.
#1 by Bober
сделать вычисляемое поле, в котором программно генерировать выражение по данным в тз перед компоновкой.
#2 by Necessitudo
В СКД ж есть условия связей. Могу предложить альтернативу - ты в зависимости от числа записей в своей ТЗ с порогами правишь текст запроса компоновки, добавляя туда параметры  и соответственно заполняя их значения в компоновщике настроек.
#3 by eklmn
а сегменты в ТЗ откуда получаешь? правильней будет в запросе сразу дернуть
#4 by eklmn
первым пакетом считай, зачем это тз?
#5 by Deryni
Ну в принципе такая мысль была. Вначале посчитать сегментацию, потом загнать в ТЗ и уже тогда присоединять. Наверное это единственный вариант. Есть, но я нигде не нашёл вменяемого описания и примеров использования этих условий. Рыл форумы, смотрел Хрусталёву и ещё другие примеры, но не нашёл нигде. Если подскажите, буду благодарен. Кроме того, я так подозреваю, что через условия это не получится сделать. Пользователь задаёт таблицу сегментации руками. Каждый раз перед формированием отчёта. Ну или сохраняет в сохранённой настройке. Что первым пакетом считать? У меня пользователь сам определяет какой сегмент соответствует какому порогу. В отчёте я должен взять цену на товар и по таблице порогов определить к какому сегменту она относится. В итоге я реализовал через ТЧ, привязанную к справочнику типов цен. Пользователя такой вариант устроил.
#6 by fisher
Вообще, ценовые сегменты напрашивается в базе хранить. Тогда и сабжевой проблемы нет и вообще решение с человеческим лицом.
#7 by fisher
А, ты в итоге так и сделал. Ну и молодец.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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