Имя: Пароль:
1C
1С v8
В Иерархии. Как сделать ?
,
0 Румата
 
25.05.17
09:03
Есть ТЧ в ней есть реквизит "Контрагент", при чем можно выбирать в этом реквизите как группы, так и элементы справочника контрагента. Хочу написать запрос в котором параметр запроса проверяется на иерархию с реквизитом табличной части.

Пишу так :

(&НашКонтрагент) в иерархии (ЗадачиПользователяКонтрагенты.Контрагент)

Так нельзя. А как мне проверить параметр запроса с реквизитом табличной части ? Спасибо заранее.
1 Ёпрст
 
25.05.17
09:07
(0) местами поменяй
2 Румата
 
25.05.17
09:14
(Ёпрст) А прокатит ? Мне надо проверить чтобы параметр - элемент справочника входил в группу - реквизит табличной части.

т.е. параметр например ИП Сидоров. А в реквизите табличной части выбрана группа справочника контрагенты "Ипэшники".
3 cw014
 
25.05.17
09:16
Не, не прокатит ИМХО
4 Румата
 
25.05.17
09:19
А как тогда переделать запрос, чтобы прокатило ? )
5 cw014
 
25.05.17
09:20
(4) Логику работы пересмотреть
6 Ёпрст
 
25.05.17
09:20
(2) если в реквизите будет элемент, кто в кого входить должен ?
7 azt-yur
 
25.05.17
09:23
Выразить(&НашКонтрагент КАК Справочник.Контрагенты) = ЗадачиПользователяКонтрагенты.Контрагент ИЛИ Выразить(&НашКонтрагент КАК Справочник.Контрагенты).Родитель = ЗадачиПользователяКонтрагенты.Контрагент ИЛИ Выразить(&НашКонтрагент КАК Справочник.Контрагенты).Родитель.Родитель = ЗадачиПользователяКонтрагенты.Контрагент
8 Румата
 
25.05.17
09:33
(Ёпрст) тогда проверка на равенство, если элемент будет в реквизите табличной части.
9 Румата
 
25.05.17
09:34
(azt-yur) не комильфо, но если других вариантов нет, то ...
10 Ёпрст
 
25.05.17
09:34
(8) На равенство ? Ты группу-параметр будешь на равенство с элементом в ТЧ сравнивать ?
11 Румата
 
25.05.17
09:36
( Ёпрст) Параметр - элемент, группой быть не может в моем случае
12 rincewind
 
25.05.17
11:02
Я бы сделал через временную таблицу, в которую нужно предварительно выбрать элементы с иерархией. Примерно так:

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура
ПОМЕСТИТЬ ВремТаб
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1000
    РеализацияТоваровУслугТовары.Ссылка,
    РеализацияТоваровУслугТовары.Номенклатура
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
    РеализацияТоваровУслугТовары.Номенклатура В
            (ВЫБРАТЬ
                ВремТаб.Номенклатура
            ИЗ
                ВремТаб КАК ВремТаб)
13 azt-yur
 
25.05.17
11:18
(12) что то не то вы написали. Во первых автору надо наоборот получить строки для которых параметр является подчиненным, тогда уж в запросе ВТ надо получать по подчиненным элементам из реализации а не по параметру.
И представляете если подчиненных элементов тысячи и все они будут выбираться в запросе. Это ж какой объем данных будет тягаться каждый раз.
Лучше варианта чем в (7) я пока не вижу
14 dezss
 
25.05.17
11:27
И никто еще не сказал про транзитивное замыкание?)
Странно, мне позавчера почти сразу на него навели.
Если че, вот ссылка с грамотным описанием. Там даж есть хороший пример в камментах от автора.
http://catalog.mista.ru/public/160707/
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.