Имя: Пароль:
1C
1С v8
Как избавиться в запросе от вложенной таблицы?
,
0 nikramunger
 
27.05.14
04:59
ВЫБРАТЬ
        |    Расходная.Контрагент,
        |    ПРЕДСТАВЛЕНИЕ(Расходная.Контрагент),
        |    Расходная.Товары.(
        |        Номенклатура,
        |        ПРЕДСТАВЛЕНИЕ(Расходная.Товары.Номенклатура),
        |        Цена,
        |        Количество,
        |        Ссылка.Дата
        |    )
        |ИЗ
        |    Документ.Расходная КАК Расходная
        |ГДЕ
        |    Расходная.Дата < &ДатаПо
        |    И Расходная.Дата > &ДатаС"
Через конструктор создал такой запрос, как избавиться от вложенной таблицы не знаю, так как при выводе в табличный документ получается таблица в таблице,что не дает сгруппировать нормально данные.С помощью  компоновки данных я разобрался,а вот как с помощью запроса - нет.
1 Wobland
 
27.05.14
05:08
из документ.расходная.товары
2 Web00001
 
27.05.14
05:14
тебе нужны данные из табличной части? вот и обращайся к табличной части. У табличной части есть реквизит ссылка, там ты можешь получить реквизиты самого документа, если тебе они нужны.

ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Ссылка.Контрагент,
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.Количество
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
3 nikramunger
 
27.05.14
06:49
Блин,надо быть внимательней.Спасибо!
4 Kamas
 
27.05.14
08:56
(2) не совсем кошерно хотя сплош и рядом РеализацияТоваровУслугТовары.Ссылка.Контрагент,
5 Web00001
 
27.05.14
09:32
(4)Что тебе не кошерно?
6 catena
 
27.05.14
10:14
Забавно, один пытается запихнуть ТЗ в ТЗ, второй вытащить...
7 NcSteel
 
27.05.14
10:17
(5) Кошерно делать через внутреннее соединение, но этого никто не делает обычно
8 Web00001
 
27.05.14
10:27
(5)Тут никто ничего не пытается вытащить :)
(7)а в данном случае как платформа будет получать данные? эмпирически? Без соединений?
9 NcSteel
 
27.05.14
10:39
(8) Платформа добавит левое соединение.
10 Web00001
 
27.05.14
10:40
(9)Я бы тоже добавил левое. Почему я не прав?
11 NcSteel
 
27.05.14
10:43
(10) Потому что внутреннее быстрее и логичнее.
12 Segate
 
27.05.14
10:50
(9)У нас однажды, при очередном обновлении платформы, оказалось, что 1с конструктор SQL запросов стал подключать таблицы,которые не были явно объявлены, не по одному разу, а столько раз, сколько они встречаются в запросе. т.е. если мы берем конструкцию типа
реализация.контрагент.ссылка,
Реализация.контрагент.имя,
...
Реализация.контрагент.ЕстьЛи22См как программист

он подключал таблицу контрагентов не один раз, а по разу на каждый такой параметр(чем больше вложенность параметров тем больше был снежный ком), все дико тормозило. Теперь я стараюсь явно объявлять связи всегда.
13 hhhh
 
27.05.14
11:00
(11) в данном случае они равнозначны. С чего оно будет быстрее?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс