Имя: Пароль:
1C
1С v8
Справочник с табличной частью в запросе
,
0 ogion83
 
15.05.13
15:05
Есть справочник материалов с ТЧ. Например Материал "Краска белая" и в ТЧ несколько видов краски.
Делаю отчет СКД с таким запросом:
ВЫБРАТЬ
   НескончаемыеМатериалы.Наименование КАК Матер,
   НескончаемыеМатериалы.ЕдИзмерения,
   НескончаемыеМатериалы.МинКоличество,
   НескончаемыеМатериалы.Количество,
   НескончаемыеМатериалы.СписокМатериалов.(
       Материал
   ),
   ЕСТЬNULL(МатериалыОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК Остаток
ИЗ
   Справочник.НескончаемыеМатериалы КАК НескончаемыеМатериалы
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Материалы.ОстаткиИОбороты КАК МатериалыОстаткиИОбороты
       ПО (МатериалыОстаткиИОбороты.МПЗ = НескончаемыеМатериалы.СписокМатериалов.Материал)
Но почему то "Остаток" выводит одинаковый. (если в первом виде краски остаток 4, то и в других покажет 4)
Кто подскажет где подправить?
1 Maxus43
 
15.05.13
15:07
не видел вобще задач, где надо было НескончаемыеМатериалы.СписокМатериалов.( в запросе юзать. Запрос к самой ТЧ делай, а не к справочнику
2 Laerys
 
15.05.13
15:10
Сделай отдельный запрос, по таб части, и запихни его результаты в условия  регистра, а после уже делай соединение
3 ogion83
 
15.05.13
15:13
Попробуем...
4 ogion83
 
15.05.13
15:20
Может конечно не так, но не вышло:
ВЫБРАТЬ
   НескончаемыеМатериалы.СписокМатериалов.(
       Материал
   ),
   ЕСТЬNULL(МатериалыОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК Остаток,
   НескончаемыеМатериалы1.Наименование,
   НескончаемыеМатериалы1.МинКоличество,
   НескончаемыеМатериалы1.Количество,
   НескончаемыеМатериалы1.ЕдИзмерения
ИЗ
   Справочник.НескончаемыеМатериалы КАК НескончаемыеМатериалы
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Материалы.ОстаткиИОбороты КАК МатериалыОстаткиИОбороты
       ПО (МатериалыОстаткиИОбороты.МПЗ = НескончаемыеМатериалы.СписокМатериалов.Материал)
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НескончаемыеМатериалы КАК НескончаемыеМатериалы1
       ПО (НескончаемыеМатериалы.Наименование = НескончаемыеМатериалы1.Наименование)
5 Maxus43
 
15.05.13
15:21
не так...
НескончаемыеМатериалы.СписокМатериалов.(
       Материал

этого быть не должно, в запросе обращайся не к справочнику, а к его ТЧ сразу
6 Maxus43
 
15.05.13
15:21
и нахрена у "нескончаемых" материалов смотреть остатки? они ж нескончаемые)
7 palpetrovich
 
15.05.13
15:25
(6) бугага
кстати, "НескончаемыеМатериалы" - это в типовой так?
8 andreymongol82
 
15.05.13
15:28
(6) Это философский вопрос. Что-то вроде, если от бесконечности отнять конечное число, получится бесконечность, но будет ли получившаяся бесконечность равна предыдущей?
9 Laerys
 
15.05.13
15:30
(6) если они нескончаемые зачем вообще тогда нужны у регистра остатки и остаткииобороты?))
10 ogion83
 
15.05.13
15:44
Это просто список материалов, которые не должны заканчиваться на складе, как только количество доходит до определенного предела - нужно закупить.
11 ogion83
 
15.05.13
15:44
(5) Понятно
12 ogion83
 
15.05.13
16:09
Во:
ВЫБРАТЬ
   НескончаемыеМатериалыСписокМатериалов.Материал,
   НескончаемыеМатериалыСписокМатериалов.Ссылка.Наименование,
   НескончаемыеМатериалыСписокМатериалов.Ссылка.МинКоличество,
   НескончаемыеМатериалыСписокМатериалов.Ссылка.Количество,
   НескончаемыеМатериалыСписокМатериалов.Ссылка.ЕдИзмерения,
   МатериалыОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
   Справочник.НескончаемыеМатериалы.СписокМатериалов КАК НескончаемыеМатериалыСписокМатериалов
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Материалы.ОстаткиИОбороты КАК МатериалыОстаткиИОбороты
       ПО НескончаемыеМатериалыСписокМатериалов.Материал = МатериалыОстаткиИОбороты.МПЗ
Всё пашет, благодарствую
13 ogion83
 
15.05.13
16:41
Только почему то не хочет  выдавать материалы с нулевым остатком:
ВЫБРАТЬ
   НескончаемыеМатериалыСписокМатериалов.Материал,
   НескончаемыеМатериалыСписокМатериалов.Ссылка.Наименование,
   НескончаемыеМатериалыСписокМатериалов.Ссылка.МинКоличество,
   НескончаемыеМатериалыСписокМатериалов.Ссылка.Количество,
   НескончаемыеМатериалыСписокМатериалов.Ссылка.ЕдИзмерения,
   ЕСТЬNULL(МатериалыОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК Остаток
ИЗ
   Справочник.НескончаемыеМатериалы.СписокМатериалов КАК НескончаемыеМатериалыСписокМатериалов
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Материалы.ОстаткиИОбороты КАК МатериалыОстаткиИОбороты
       ПО НескончаемыеМатериалыСписокМатериалов.Материал = МатериалыОстаткиИОбороты.МПЗ
14 ogion83
 
16.05.13
09:43
Через ЛЕВОЕ СОЕДИНЕНИЕ всё выдаёт правильно.