Имя: Пароль:
1C
1С v8
СКД. Как разбить значения ресурса РС по двум столбцам?
0 Метан
 
27.02.18
12:32
Есть периодический регистр сведений, куда раз в месяц вносятся данные о цене товара.
Вид РС:
Номенклатура|ХарактеристикаНоменклатуры|Цена

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

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

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

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

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

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

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

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

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

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

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

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

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