Имя: Пароль:
1C
1С v8
Соединение по КлючСвязи.
0 zippygrill
 
16.08.13
10:53
Есть у меня такой простенький запрос для получения продаж в разрезе маркетинговых акции. В запросе присоединяю к ТЧ СкидкиНаценки таблицу Товары(чтобы увидеть детализацию до номенклатуры) и соединяю по Ссылке, НомерСтроки(в ТЧ СкидкиНаценки есть колонка "НомерСтрокиВТЧТовары" которая ссылается на строку из ТЧ Товары) и по КлючСвязи:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЧекККМСкидкиНаценки.Ссылка КАК ЧекККМ,
    СУММА(ЧекККМСкидкиНаценки.НомерСтроки) КАК НомерСтрокиСкидкиНаценки,
    СУММА(ЧекККМСкидкиНаценки.КлючСвязи) КАК КлючСвязиСкидкиНаценки,
    СУММА(ЧекККМТовары.КлючСвязи) КАК КлючСвязиТовары,
    СУММА(ЧекККМСкидкиНаценки.Сумма) КАК СуммаСкидки,
    ЧекККМСкидкиНаценки.СкидкаНаценка,
    ЧекККМСкидкиНаценки.ОграниченаМинимальнойЦеной,
    ЧекККМТовары.Номенклатура,
    СУММА(ЧекККМТовары.Цена) КАК ЦенаБезСкидки,
    СУММА(ЧекККМТовары.Сумма / ЧекККМТовары.Количество) КАК ЦенаСоСкидкой,
    СУММА(ЧекККМТовары.Сумма) КАК Сумма,
    СУММА(ЧекККМТовары.Количество) КАК Количество,
    ЧекККМТовары.НомерСтроки КАК НомерСтрокиТовары
ИЗ
    Документ.ЧекККМ.СкидкиНаценки КАК ЧекККМСкидкиНаценки
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Товары КАК ЧекККМТовары
        ПО ЧекККМСкидкиНаценки.Ссылка = ЧекККМТовары.Ссылка
            И ЧекККМСкидкиНаценки.НомерСтроки = ЧекККМТовары.НомерСтроки
            И ЧекККМСкидкиНаценки.КлючСвязи = ЧекККМТовары.КлючСвязи
ГДЕ
    ЧекККМСкидкиНаценки.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
    И ЧекККМСкидкиНаценки.Ссылка.Проведен
    И (ЧекККМСкидкиНаценки.Ссылка.СтатусЧекаККМ = ЗНАЧЕНИЕ(перечисление.СтатусыЧековККМ.Архивный)
            ИЛИ ЧекККМСкидкиНаценки.Ссылка.СтатусЧекаККМ = ЗНАЧЕНИЕ(перечисление.СтатусыЧековККМ.Пробитый))

СГРУППИРОВАТЬ ПО
    ЧекККМТовары.Номенклатура,
    ЧекККМСкидкиНаценки.ОграниченаМинимальнойЦеной,
    ЧекККМСкидкиНаценки.Ссылка,
    ЧекККМСкидкиНаценки.СкидкаНаценка,
    ЧекККМТовары.НомерСтроки

По скрину http://screencast.com/t/pgjmCxon вижу что есть строки где нет Номенклатуры, и ключСвязи из "Товары" отличатся от ключаСвязи из "СкидкиНаценки".
Как правильнее соединять? Пробовал убрать соединение по КлючСвязи но получается каша.
1 zippygrill
 
16.08.13
11:08
апну.
2 zippygrill
 
16.08.13
11:56
.
3 Cube
 
16.08.13
12:02
Вместо "ЛЕВОЕ СОЕДИНЕНИЕ" делай "ВНУТРЕННЕЕ СОЕДИНЕНИЕ" и убери строку "И ЧекККМСкидкиНаценки.НомерСтроки = ЧекККМТовары.НомерСтроки", т.к. это шляпа.
4 zippygrill
 
16.08.13
12:06
(3) мне не нужна вся номенклатура из тч Товары а только та которая ссылается на тч СкидкиНаценки
5 Cube
 
16.08.13
12:08
(4) Хвастаешься?
6 zippygrill
 
16.08.13
12:09
(5) совсем нет. уточняю. Спасибо тебе.