Имя: Пароль:
1C
1C 7.7
v7: Прямой запрос. Несколько видов документов.
0 Eeakie
 
30.06.15
16:02
Добрый вечер.
Есть простой прямой запрос:
Текст = "
|select
|   СправочникТ.id as [Товар $Справочник.Товары],
|   РегистрПОС.ОстатокТовараОстаток as Остаток
|from
|   $Справочник.Товары as СправочникТ with (nolock)
|inner join
|   $РегистрОстатки.ПОстаткиСвободные(,, Фирма = :Фирма, (Товар, Партия), ОстатокТовара) as РегистрПОС";

Партия может быть документами двух видов, а мне надо как-то выцепить РегистрПОС.Партия.Цена. Как добраться до цены? Хотя, наверное, лучше спросить как получить Партия.Вид() чтобы сделать $Документ.*ВидДокумента*?
1 Eeakie
 
30.06.15
16:03
+(0) В селекте еще:
|   РегистрПОС.Партия as [Партия $Документ]
2 viktor_vv
 
30.06.15
16:11
select
|   СправочникТ.id as [Товар $Справочник.Товары],
|   РегистрПОС.ОстатокТовараОстаток as Остаток,
|   Coalesce(ДокСтроки1.Цена,ДокСтроки2.Цена) as Цена
|from
|   $Справочник.Товары as СправочникТ with (nolock)
|inner join
|   $РегистрОстатки.ПОстаткиСвободные(,, Фирма = :Фирма, (Товар, Партия), ОстатокТовара) as РегистрПОС
left join $ДокументСтроки.ВидДокумент1 as ДокСтроки1
on ДокСтроки1.Товар = РегистрПОС.Товар
left join $ДокументСтроки.ВидДокумент2 as ДокСтроки2
on ДокСтроки2.Товар = РегистрПОС.Товар

Не пойму только зачем джойн со справочником,
3 viktor_vv
 
30.06.15
16:12
(2)+ Сорри

left join $ДокументСтроки.ВидДокумент1 as ДокСтроки1
on ДокСтроки1.Товар = РегистрПОС.Товар
   and ДокСтроки1.ID = Right(РегистрПОС.Партия,9)
left join $ДокументСтроки.ВидДокумент2 as ДокСтроки2
on ДокСтроки2.Товар = РегистрПОС.Товар
   and ДокСтроки2.ID = Right(РегистрПОС.Партия,9)
4 Eeakie
 
30.06.15
16:13
(2) Не дописал (скопировать нееоткуда). ... as РегистрПОС on РегистрПОС.Товар = СправочникТ.id
5 Eeakie
 
30.06.15
16:13
(3) Ёлки-палки. Гениально. Туплю :) Спасибо.
6 viktor_vv
 
30.06.15
16:16
(4) Я к тому что если реквизиты справочника номенклатуры не нужны то и джойн внутренний не нужен.

select
|   РегистрПОС.Товар as [Товар $Справочник.Товары],
7 viktor_vv
 
30.06.15
16:16
(5) Корректно будет если в документах нет нескольких строк с одинаковым товаром
8 Eeakie
 
30.06.15
16:17
(7) Я не весь запрос написал. Только то, что хотел узнать. На деле там около 10 джойнов разных и справочник товаров нужен. В партиях всё отлично, дублирования нет.
9 Eeakie
 
30.06.15
16:22
Огромное спасибо. Взлетело.
Ошибка? Это не ошибка, это системная функция.