Имя: Пароль:
1C
1С v8
Нужна помощь с запросом
,
0 kassbar
 
02.02.18
21:13
привет, может кто подкинуть идею ?
Нужно вывести запросом таблицу, такого типа:
заказ      товар     метка
Заказ1     Товар1     1
Заказ1     Товар2
Заказ1     Товар3
Заказ2     Товар2     1
Заказ2     Товар3
Заказ3     Товар1     1
Суть в том, чтобы только у одной записи в разрезе каждого заказа поставить одинаковую метку (например, цифру 1).
У какой записи эту метку поставить не имеет значение, главное чтобы она была только у одной записи в разрезе каждого Заказа.
Если контекст вопроса имеет значение, то таблица сильно упрощена, не имеет отношения к товарам и заказам и будет использоваться в СКД для расчета итогов.
Результат нужно получить только запросом.
1 H A D G E H O G s
 
02.02.18
21:20
Это печально
2 H A D G E H O G s
 
02.02.18
21:24
ВЫБРАТЬ
    ЗаказКлиентаТовары.Ссылка КАК Ссылка,
    МИНИМУМ(ЗаказКлиентаТовары.Номенклатура) КАК Номенклатура
ПОМЕСТИТЬ Минимумы
ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары

СГРУППИРОВАТЬ ПО
    ЗаказКлиентаТовары.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаказКлиентаТовары.Ссылка КАК Ссылка,
    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
    ВЫБОР
        КОГДА ЗаказКлиентаТовары.Номенклатура = Минимумы.Номенклатура
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК Метка
ИЗ
    Минимумы КАК Минимумы,
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
3 Малыш Джон
 
02.02.18
21:27
(1) если будет состоять из четырех строчек с разными заказами - сделает 16, нет? Ну и полное соединение без условий связи - тоже как-то не очень

Нужно отношение порядка между товарами(должен же запрос понимать, по какому именно товару в рамках одного заказа ставить метку: самому первому по алфавиту, с максимальным кодом или ещё что), дальше - срез по товарам по данному отношению порядка(в рамках каждого заказа), потом -
проставление метки у позиций из среза и объединение среза(спроставленными метками) с исходной таблицей( из которой этот срез убран).

Если непонятно выразился - приношу извинения: пятница, друзья и пиво)
4 H A D G E H O G s
 
02.02.18
21:29
Пардон, странный конструктор запроса затер связь

ВЫБРАТЬ
    ЗаказКлиентаТовары.Ссылка КАК Ссылка,
    МИНИМУМ(ЗаказКлиентаТовары.Номенклатура) КАК Номенклатура
ПОМЕСТИТЬ Минимумы
ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары

СГРУППИРОВАТЬ ПО
    ЗаказКлиентаТовары.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаказКлиентаТовары.Ссылка КАК Ссылка,
    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
    ВЫБОР
        КОГДА ЗаказКлиентаТовары.Номенклатура = Минимумы.Номенклатура
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК Метка
ИЗ
    Минимумы КАК Минимумы
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
        ПО (Минимумы.Ссылка = ЗаказКлиентаТовары.Ссылка)
5 kassbar
 
02.02.18
21:34
(2) Огонь ! Спасибо !
6 kassbar
 
02.02.18
21:36
мне не ясно было, как выбрать только какое-то одно значение. МИНИМУМ - то что нужно, респект !
7 H A D G E H O G s
 
02.02.18
21:46
(5) Аве Wycc! Аве Легион!
Ошибка? Это не ошибка, это системная функция.