Вход | Регистрация

1С:Предприятие ::

Метки: 

СКД. Как разбить значения ресурса РС по двум столбцам?

Я
   Метан
 
27.02.18 - 12:32
Есть периодический регистр сведений, куда раз в месяц вносятся данные о цене товара.
Вид РС:
Номенклатура|ХарактеристикаНоменклатуры|Цена

Сами данные:
Яблоки |  Свежие | 100 руб
Яблоки |  Сушеные | 70 рублей
Груши  |  Свежие | 200 руб
Груши  |  Сушеные | 250 рублей

Поскольку данные из этого регистра нужны для построения большого отчета-таблицы по различным характеристикам номенклатуры,  данные надо разбить на этапе ЗАПРОСА по столбцам такого плана:

Номенклатура     |   ресурс Цена1  | ресурс Цена2
Яблоки                     100           70
Груши                      200           250

т.е. должно выполняться условие:
если ХарактеристикаНоменклатуры = Свежие, то цена должна вывестись в первую колонку, если = Сушеные  - то во вторую

Повторюсь, что сделать это надо (если есть такая возможность) на этапе конструктора запросов. Помогите, пожалуйста, советом, как это сделать
 
 
   Mort
 
1 - 27.02.18 - 12:34
А если характеристик будет три?
   iITmenedger
 
2 - 27.02.18 - 12:36
(0)нужно именно в запросе? не проще ли группировку по характеристике сделать?
   nordbox
 
3 - 27.02.18 - 12:36
Делай группировку, но если их у тебя буде не два, не три, а 123 ?
   Gantosha
 
4 - 27.02.18 - 12:38
СКД это делает при выводе результата. Там колонки есть - каждая колонка для своего значения. Так что не надо никакого специального запроса.
   unregistered
 
5 - 27.02.18 - 12:39
(0) Противоречишь сам себе.

>> данные из этого регистра нужны для построения большого отчета-таблицы ...

>> ... надо разбить на этапе ЗАПРОСА по столбцам

Если задача состоит в том, чтобы построить отчет, то почему нельзя использовать возможности СКД? Отчет - Таблица с группировкой в строках по Номенклатура и в колонках по Характеристика, Цена - ресурс.

Нафига делать именно на этапе запроса? Вообще непонятно.
   Метан
 
6 - 27.02.18 - 12:43
Характеристики в данном запросе будет 2, это 100%. А разбить по колонкам на этапе настроек макета МКД я не могу (или не знаю как) - у меня уже есть кросс-таблица. А мне, получается, нужна еще одна аналогичная, но с другими характеристиками. Как совместить две кросс-таблицы, чтобы не получилось вложения столбцов друг в друга - я не знаю =(
   iITmenedger
 
7 - 27.02.18 - 12:45
(6)ну тогда используй ВЫБОР КОГДА характеристика = Х1 ТОГДА Цена КОНЕЦ КАК ЦЕНА1, ВЫБОР КОГДА характеристика = Х2 ТОГДА Цена КОНЕЦ КАК ЦЕНА2
   Метан
 
8 - 27.02.18 - 12:47
iITmenedger, я так и делаю, но формируется долго =(
   iITmenedger
 
9 - 27.02.18 - 12:48
(8) давай запрос сюда целиком
   nordbox
 
10 - 27.02.18 - 12:50
Ты или в запросе намудрил или в группировках при выводе
 
 Рекламное место пустует
   nordbox
 
11 - 27.02.18 - 12:51
>> (или не знаю как) - у меня уже есть кросс-таблица.
Так ты с этого и начинай
   Метан
 
12 - 27.02.18 - 12:52
ВЫБРАТЬ
    РегистрСведенийСрезпоследних.Номенклатура,
    РегистрСведенийСрезпоследних.ХарактеристикаНоменклатуры,
    ВЫБОР
        КОГДА РегистрСведенийСрезпоследних.ХарактеристикаНоменклатуры.Наименование = "Свежие"
            ТОГДА РегистрСведенийСрезпоследних.Цена
        КОНЕЦ КАК Цена1,
    ВЫБОР
        КОГДА РегистрСведенийСрезпоследних.ХарактеристикаНоменклатуры.Наименование = "Сушеные"
            ТОГДА РегистрСведенийСрезпоследних.Цена
        КОНЕЦ КАК Цена2,
    РегистрСведенийСрезпоследних.ХарактеристикаНоменклатуры.Наименование
ИЗ
    РегистрСведенийСрезпоследних
   iITmenedger
 
13 - 27.02.18 - 12:53
(12)ошибка, запрос неоптимален. Нельзя обращаться чрезе точку .Наименование

Сравнивай с параметром, а не со строкой
   Метан
 
14 - 27.02.18 - 12:53
nordbox, пока только в консоли запросов работаю - проверяю запрос сам на вывод данных
   iITmenedger
 
15 - 27.02.18 - 12:54
(12)
РегистрСведенийСрезпоследних.Номенклатура,

    РегистрСведенийСрезпоследних.ХарактеристикаНоменклатуры,
    ВЫБОР
        КОГДА РегистрСведенийСрезпоследних.ХарактеристикаНоменклатуры = &Свежие
            ТОГДА РегистрСведенийСрезпоследних.Цена
        КОНЕЦ КАК Цена1,
    ВЫБОР
        КОГДА РегистрСведенийСрезпоследних.ХарактеристикаНоменклатуры = &Сушеные
            ТОГДА РегистрСведенийСрезпоследних.Цена
        КОНЕЦ КАК Цена2,
    РегистрСведенийСрезпоследних.ХарактеристикаНоменклатуры.Наименование

ИЗ
    РегистрСведенийСрезпоследних
   Метан
 
16 - 27.02.18 - 13:03
iITmenedger,спасибо за совет! Исправлю, когда найду тот самый параметр!

Всем спасибо!


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует