Имя: Пароль:
1C
1С v8
Обращение к тч по ссылке из запроса
,
0 Gossar1C
 
26.02.14
09:51
Здравствуйте! Подскажите пожалуйста можно ли в данном случае (ТаблицаИсточник - это Объект.ЗаказыИсточники(ТЧ) содержит строки с заказами клиентов):

"ВЫБРАТЬ
     |    ЗК.ЗаказКлиента КАК Ссылка
     |    ЗК.ЗаказКлиента.Товары.(
     |        Ссылка,
     |        Номенклатура,
     |        КоличествоУпаковок,
     |        Склад
     |    ) КАК ТаблицаТоваров
     |ИЗ
     |    &ТаблицаИсточник КАК ЗК";

Вопрос заключается в том, можно ли вытащить таблицу товары в результат запроса, например как в этом случае:

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

В первом варианте не получается потому что видимо не может обратиться к таблице... Заранее спасибо!
1 Maxus43
 
26.02.14
09:51
Соединение делай с ТЧ, а не через
     |    ЗаказКлиента.Товары.(
     |        Ссылка,
2 Wobland
 
26.02.14
09:51
не знаю, делай сразу правильно
3 Maxus43
 
26.02.14
09:52
ну а в первом варианте надо в ВТ пихать...
4 Maxus43
 
26.02.14
09:53
>>потому что видимо не может обратиться к таблице
ошибку прочитай внимательно ещё
5 1Сергей
 
26.02.14
09:54
сначала делаешь из Таблицы значений во временную таблицу, а потом обращаешься к ней
6 Gossar1C
 
26.02.14
09:56
Спасибо! Сейчас попробую
7 Gossar1C
 
26.02.14
10:01
"ВЫБРАТЬ
     |    ЗК.ЗаказКлиента КАК Ссылка
     |ПОМЕСТИТЬ ВремТаб
     |ИЗ
     |    &ТаблицаИсточник КАК ЗК
     |;
     |
     |////////////////////////////////////////////////////////////////////////////////
     |ВЫБРАТЬ
     |    ВремТаб.Ссылка КАК Ссылка
     |ИЗ
     |    ВремТаб КАК ВремТаб";

Не получается обратиться к заказу тоесть вытащить ТЧ из него... ЗаказКлиента как просто поле
8 salvator
 
26.02.14
10:03
Не понял. ТС хочет из Таблицы значений получить ссылку на документ?
9 Maxus43
 
26.02.14
10:04
(7) а что ты хотел этим запросом? оно само вытащится?
10 Maxus43
 
26.02.14
10:06
Скажи что хочешь, не надо тут выкладывать бессмысленные и беспощадные запросы
11 Gossar1C
 
26.02.14
10:06
(9) Так я пробовал к нему обратиться

ВремТаб.Товары.(
    Номенклатура,
    Склад)
КАК ТаблицаТоваров

пишет поле не найдено
12 Gossar1C
 
26.02.14
10:08
ну вот сообственно пользователь в обработке выбирает из списка заказы со статусом к отгрузке, они заносятся в ТЧ обработки ЗаказыИсточники, просто хочу вытащить запросом из ТЧ и ссылку на документ и его табличную часть. Просто Обработку делал я под один лад, надо переделать под другой, и чтоб особо много не менять хотел оставить запрос из предыдущего варианта и просто перестроить его на тч ЗаказыИсточники
13 salvator
 
26.02.14
10:12
(12) А зачем тебе запрос?
14 Gossar1C
 
26.02.14
10:14
(13) чтобы не переписать ооочень большую процедуру написанную под этот запрос:

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

ТОЕСТЬ по сути запросом отобрать то что выбрал пользователь, а не сама программа
15 salvator
 
26.02.14
10:16
(14)
>> "выбирает из списка заказы со статусом к отгрузке, они заносятся в ТЧ обработки ЗаказыИсточники"

Ссылки на документы, после того как пользователь их выбрал, попадают в таблицу значений.
Тебе нужно получить их табличные части. Так?
16 Gossar1C
 
26.02.14
10:21
(15) ссылки попадают в табличную часть обработки, да нужно для кажого документа получить его тч "Товары"
17 Maxus43
 
26.02.14
10:24
(11) ВремТаб.Ссылка.Товары
18 salvator
 
26.02.14
10:25
(16) Тогда еще раз повторяю свой вопрос: зачем тебе запрос?
Почему нельзя просто обойти ТЗ и получить в цикле табличную часть?
19 Maxus43
 
26.02.14
10:27
я бы сделал так:

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

в твоём варианте в результате запроса там вложенная ТЗ получается, зачем оно?
20 Maxus43
 
26.02.14
10:29
а лучше так:
ВЫБРАТЬ
    ЗаказПокупателяТовары.Номенклатура,
    ЗаказПокупателяТовары.Количество,
    ЗаказПокупателяТовары.Ссылка КАК Документ
ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
ГДЕ
    ЗаказПокупателяТовары.Ссылка В(&СписокСсылок)

....
короче выбирай
21 Gossar1C
 
26.02.14
10:35
&СписокСсылок массив должен быть? или я ошибаюсь? За варианты спасибо
22 Maxus43
 
26.02.14
10:40
или массив, или список значений
23 Gossar1C
 
26.02.14
10:44
(22) да все получилось! Спасибо большое за помощь.