Имя: Пароль:
1C
 
обратиться к табличной части документа. УТ 11.1
0 Dimarik_1
 
05.07.15
13:43
Мне необходимо построить отчет по РН Выручка и себестоимостьПродаж.
Из измерения ЗаказКлиента необходимо вытащить Номенклатуру и Сумму и потом с ней работать. Если я просто вытягиваю, у меня не получается ни с чем соединить и ничего с ней сделать. Выдаёт ошибку (что к табличной части составного типа нельзя обращаться). Использую выразить для каждого поля - в результате у меня получается 2 табличные части. Необходимо в запросе получить просто 2 поля: Номенклатура и Сумма.
1 Звездец
 
05.07.15
13:44
Запрос не предлагать?
2 Dimarik_1
 
05.07.15
13:57
так в запросе и надо это сделать
3 Dimarik_1
 
05.07.15
14:27
Я пробовал так сделать, но не даёт сохранить, выскакивает ошибка "Нельзя обратиться к вложенной таблице через поле составного типа"
ВЫБРАТЬ
    ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента.Товары.(
        Номенклатура,
        Сумма,
        Ссылка.Дата
    )
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Авто, ) КАК ВыручкаИСебестоимостьПродажОбороты
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТНоменклатура.ЗаказКлиентаНоменклатура,
    ВТНоменклатура.ЗаказКлиентаСумма,
    ВТНоменклатура.ЗаказКлиентаСсылкаДата
ИЗ
    ВТНоменклатура КАК ВТНоменклатура
4 Dimarik_1
 
05.07.15
14:30
Если я использую "Выразить", то у меня получается 3 независимые табличные части
ВЫБРАТЬ
    ВЫРАЗИТЬ(ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента КАК Документ.ЗаказКлиента).Товары.(
        ВЫРАЗИТЬ(ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента КАК Документ.ЗаказКлиента).Товары.Номенклатура КАК Номенклатура
    ) КАК Поле1,
    ВЫРАЗИТЬ(ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента КАК Документ.ЗаказКлиента).Товары.(
        ВЫРАЗИТЬ(ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента КАК Документ.ЗаказКлиента).Товары.Сумма КАК Сумма
    ) КАК Поле2,
    ВЫРАЗИТЬ(ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента КАК Документ.ЗаказКлиента).Товары.(
        ВЫРАЗИТЬ(ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента КАК Документ.ЗаказКлиента).Товары.Ссылка.Дата КАК Дата
    ) КАК Поле3
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Авто, ) КАК ВыручкаИСебестоимостьПродажОбороты
5 GreatOne
 
05.07.15
14:47
ЛЕВОЕ соединение
6 Dimarik_1
 
05.07.15
14:50
Чего?
7 Dimarik_1
 
05.07.15
14:50
что с чем соединять? я малость не понял, вы можете пояснить?
8 GreatOne
 
05.07.15
14:51
РН ВыручкаИСебестоимостьПродажОбороты и документ ЗаказПокупателя
9 GreatOne
 
05.07.15
14:51
по полям ЗаказКлиента = Документ.ЗаказПокупателя.Ссылка
10 ДенисЧ
 
05.07.15
15:17
12 Dimarik_1
 
05.07.15
15:34
(9) Ну вот, я сделал как вы говорите, ошибка осталась: "Неоднозначное поле"
ВЫБРАТЬ
    ВЫРАЗИТЬ(ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента КАК Документ.ЗаказКлиента) КАК ЗаказКлиента
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Авто, ) КАК ВыручкаИСебестоимостьПродажОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаказКлиента.Товары.(
        Номенклатура,
        Количество,
        Сумма,
        Ссылка
    )
ИЗ
    ВТ КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента
        ПО ВТ.ЗаказКлиента = ЗаказКлиента.Ссылка
13 hhhh
 
06.07.15
00:37
ВЫБРАТЬ
    ЗаказКлиентаТовары.Номенклатура,
         ЗаказКлиентаТовары.Количество,
         ЗаказКлиентаТовары.Сумма,
         ЗаказКлиентаТовары.Ссылка
    
ИЗ
    ВТ КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
        ПО ВТ.ЗаказКлиента = ЗаказКлиентаТовары.Ссылка