Равнозначные связи - неравнозначные?

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Ответить
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Равнозначные связи - неравнозначные?

Сообщение Александр »

коллеги, задача такая - связать три объекта и отобразить связи (имя + id объекта) в действии (выпадающий список) и на форме объекта и в отчете - текстовое поле через запятую
вариант 1: - делаю через xml - сам ищу объекты, сам формирую xml, сам его показываю.. короче все ок (Действие/Форма/Отчет)

решил использовать штатный функционал и ...

вариант 2: - завязываю все три объекта связью - горизонтальная равнозначная
и, получаю не то что ожидаю... совсем))
равнозначности никакой, есть только родители и дети

Код: Выделить всё

  Select rw.id,
         rw.description
    From lsdbo.object_reference rw left join lsdbo.object_type tw on rw.type_id=tw.id   
   Where tw.Mnemo = 'Clt' and rw.id in (Select tl.parent_id 
                                          From lsdbo.tree_link tl 
                                         Where tl.link_Type='E'
                                               and tl.link_id = 100000473100030
                                        Union all
                                        Select tl.link_id 
                                          From lsdbo.tree_link tl 
                                         Where tl.link_Type='E'
                                               and tl.parent_id = 100000473100030)
т.е. встав на первый объект - вижу что он родитель для двух
встав на второй объект - он родитель для одного
третий вообще ничей не родитель
если по дочерним связям все наоборот соответственно
если объединить и родителей и детей по связям то
два из 3х объектов имеют по две связи
а третий имеет всегда одну связь или как родитель или как дочка

короче)) есть ли какой нибудь запрос? чтобы встав на один, любой из 3х объектов можно было получить таблицу (Наименование + id) для двух оставшихся, равнозначно привязанных объектов????

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Равнозначные связи - неравнозначные?

Сообщение Старик Крупский »

Ты когда связываешь объекты, указываешь, кто из них родитель, а кто потомок, так? Вот отсюда запрос и строй. Или у тебя связи можно произвольно задавать?
"Лучше меньше, да лучше" (C)
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Равнозначные связи - неравнозначные?

Сообщение Александр »

привет, ну да произвольно...
тут другое, профайлер мне в руки - ведь на форме Связанные объекты - показаны по два объекта при активации любого из трех - значит они делают какой-то правильный запрос....
Последний раз редактировалось Александр 13 ноя 2012, 06:51, всего редактировалось 1 раз.

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Равнозначные связи - неравнозначные?

Сообщение Александр »

вот, все нашел, показывает по два объекта с любой из сторон ))

Код: Выделить всё

SELECT lsdbo.object_reference_view.id, 
    lsdbo.object_reference_view.type_id, 
    lsdbo.object_reference_view.description, 
    lsdbo.object_type_view.description, 
    lsdbo.object_type_view.object_type, 
    lsdbo.object_type_view.mnemo, 
    lsdbo.tree_link_view.id, 
    lsdbo.tree_link_view.link_type_id, 
    'O', 
    lsdbo.link_type_view.link_type  
  FROM lsdbo.object_reference_view, 
    lsdbo.object_type_view, 
    lsdbo.tree_link_view, 
    lsdbo.link_type_view 
  WHERE lsdbo.object_reference_view.type_id = lsdbo.object_type_view.id and 
    lsdbo.object_reference_view.id = lsdbo.tree_link_view.link_id and 
    lsdbo.tree_link_view.link_type_id = lsdbo.link_type_view.id and 
    lsdbo.link_type_view.link_type in ('E','D') and 
    lsdbo.tree_link_view.parent_id = 100000473100030 --100000412000030 --100000420100030 

UNION ALL 
SELECT lsdbo.object_reference_view.id, 
    lsdbo.object_reference_view.type_id, 
    lsdbo.object_reference_view.description, 
    lsdbo.object_type_view.description, 
    lsdbo.object_type_view.object_type, 
    lsdbo.object_type_view.mnemo, 
    lsdbo.tree_link_view.id, 
    lsdbo.tree_link_view.link_type_id, 
    'I', 
    lsdbo.link_type_view.link_type  
  FROM lsdbo.object_reference_view, 
    lsdbo.object_type_view, 
    lsdbo.tree_link_view, 
    lsdbo.link_type_view 
  WHERE lsdbo.object_reference_view.type_id = lsdbo.object_type_view.id and 
    lsdbo.object_reference_view.id = lsdbo.tree_link_view.parent_id and 
    lsdbo.tree_link_view.link_type_id = lsdbo.link_type_view.id and 
    lsdbo.link_type_view.link_type in ('E','D') and 
    lsdbo.tree_link_view.link_id = 100000473100030 --100000412000030 -- 100000420100030
круто короче! переделаю с xml на связи

ps
так приятно в Лоции поизвращаться - в 1С все гораздо запутаннее, уже скоро год а я там только пару процедур и написал всего ))

pps
кстати и ошибку у себя нашел - связи нужно было из view таблиц брать - если напрямую - то и в этом запросе результат тот же что и в моем
типа так
Select rw.id,

Код: Выделить всё

         rw.description
    From lsdbo.object_reference rw left join lsdbo.object_type tw on rw.type_id=tw.id   
   Where tw.Mnemo = 'Clt' and rw.id in (Select tl.parent_id
                                          From lsdbo.tree_link_view tl
                                         Where tl.link_Type='E'
                                               and tl.link_id = 100000420100030 
                                        Union all
                                        Select tl.link_id
                                          From lsdbo.tree_link_view tl
                                         Where tl.link_Type='E'
                                               and tl.parent_id = 100000420100030 

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Равнозначные связи - неравнозначные?

Сообщение Старик Крупский »

Ну вишь как хорошо :)
"Лучше меньше, да лучше" (C)
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Равнозначные связи - неравнозначные?

Сообщение Александр »

еще одна засада...
до этого я руками связывал эти 3 объекта в произвольном порядке, а теперь в действии и опять получается ерунда
допустим первый объект связываю равнозначно с остальными двумя - рассчитывая что все объекты три объекта будут связаны между собой, т.е. у каждого будет по две связи...
но получается что у первого объекта две связи у второго и третьего по одной..., а чтобы было у всех по две нужно еще второй и третий между собой связать...
т.е. для 3х объектов нужно создать две связи а для 23 - 22 связи, или больше?
чет я запутался...

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Re: Равнозначные связи - неравнозначные?

Сообщение Disillusioned »

Понедельник пятницы мудренее...
Ах и с ними невозможно
И без них никак нельзя
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Равнозначные связи - неравнозначные?

Сообщение Старик Крупский »

Ну слушай, если у тебя есть две связи (любовницы, знакомые...), это не значит, что они между собой знакомы. Не так ли? Вот и здесь так же.
"Лучше меньше, да лучше" (C)
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Равнозначные связи - неравнозначные?

Сообщение Александр »

:wink: :wink: :wink:
в принципе я тож пришел к такому мнению... им необязательно знать друг о друге

тема закрыта - все супер!

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Ответить