Здравствуйте. Помогите пожалуйста. Пытаюсь сделать так, чтобы все объекты, которые входят в объект родитель отображались на форме родителя.
В одной из тестовых баз на своем предприятии нашел выражение такого вида, которое показывает вложенные документы, но честно говоря, я мало что понял
if (number(f_execSQLselect_3('SELECT count(alnk.id) FROM lsdbo.tree_link_view alnk WHERE alnk.link_type_ID=1 AND alnk.parent_id='+id,'','','',300))>0,f_execSQLselect_3('SELECT aobj.description FROM lsdbo.tree_link_view alnk, lsdbo.object_reference_view aobj WHERE aobj.id=alnk.link_ID AND aobj.type_ID=100000028905006 AND alnk.parent_id='+id,char(13),char(13),'',300),'Вложенных документов нет')
если не сложно можете ли объяснить популярно, что за что отвечает, либо подсказать более простой способ...
Вложенные документы
-
- Новый участник
- Сообщения: 21
- Зарегистрирован: 15 окт 2009, 10:12
- Используемое ПО: Lotsia PDM PLUS
Re: Вложенные документы
Сечас можно проще, создаешь форму обьекта - тип дочерние обьекты и украшаешь ее как хочешь -это для обьектов
Для документов архива чуть посложнее там же можно вывести запросом наличие доументов и прочее, как позволит фантазия и БД
Для документов архива чуть посложнее там же можно вывести запросом наличие доументов и прочее, как позволит фантазия и БД
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Вложенные документы
Код: Выделить всё
if (number(f_execSQLselect_3('SELECT count(alnk.id) FROM lsdbo.tree_link_view alnk WHERE alnk.link_type_ID=1 AND alnk.parent_id='+id,'','','',300))>0,f_execSQLselect_3('SELECT aobj.description FROM lsdbo.tree_link_view alnk, lsdbo.object_reference_view aobj WHERE aobj.id=alnk.link_ID AND aobj.type_ID=100000028905006 AND alnk.parent_id='+id,char(13),char(13),'',300),'Вложенных документов нет')
if(<условие>, <если истина>,<если ложь>) - это наверное не требует комментариев..
f_execSQLselect_3('SELECT count(alnk.id) FROM lsdbo.tree_link_view alnk WHERE alnk.link_type_ID=1 AND alnk.parent_id='+id,'','','',300) - функция f_execSQLselect_3 выполняет запрос к БД и возвращает результат в виде строки, запрос в данном случае - число объектов, которые входят по типу связи Дерево проектов (вроде это у нее код 1) в объект с ИД, который передается через аргумент id
'SELECT aobj.description FROM lsdbo.tree_link_view alnk, lsdbo.object_reference_view aobj WHERE aobj.id=alnk.link_ID AND aobj.type_ID=100000028905006 AND alnk.parent_id='+id - запрос, который возвращает описания объектов, которые входят в объект с ИД = id. аргументы char(13),char(13) - это символы разделители между столбцами и строками результатов.
вот как то так...
лучше день потерять, потом за пять минут долететь!
-
- Новый участник
- Сообщения: 5
- Зарегистрирован: 17 мар 2010, 13:58
- Используемое ПО: Lotsia PDM PLUS LT
- Контактная информация:
Re: Вложенные документы
Так в принципе понял, спасибо за разъяснение. Грубо говоря, мне можно просто скопировать это выражение и вставить в вычисляемое поле в своей форме... Но почему то, когда ввожу ID объекта родителя, система выдает ошибку
... С чем это может связано? Может быть здесь используется ID другого объекта
А по поводу формы дочерних объектов, с ней я даже еще не разбирался, да и придется переделывать все формы, а дерево у меня с большим количеством вложенных объектов...


А по поводу формы дочерних объектов, с ней я даже еще не разбирался, да и придется переделывать все формы, а дерево у меня с большим количеством вложенных объектов...
-
- Новый участник
- Сообщения: 21
- Зарегистрирован: 15 окт 2009, 10:12
- Используемое ПО: Lotsia PDM PLUS
Re: Вложенные документы
Родитель у тебя текущий объект надо подставить его ИД
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Вложенные документы
или использовать приведенное выражение в чистом виде, ДОБАВИВ ЗАРАНЕЕ на форму объекта поле ID объекта (именно поле, а не атрибут). тогда в выражении будет использоваться ИД того объекта, который в данный момент выделен в дереве..
лучше день потерять, потом за пять минут долететь!
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Вложенные документы
Ну да, все верно. Правой кнопкой мыши щелкаем в форме справа (в списке колонок), выбираем добавить поле и выбираем поле ID объекта.Anderyt писал(а):ДОБАВИВ ЗАРАНЕЕ на форму объекта поле ID объекта (именно поле, а не атрибут)
"Лучше меньше, да лучше" (C)
-
- Новый участник
- Сообщения: 5
- Зарегистрирован: 17 мар 2010, 13:58
- Используемое ПО: Lotsia PDM PLUS LT
- Контактная информация:
Re: Вложенные документы
Спасибо большое! Все сделал работает, только еще пришлось добавить одно поле, в нем указал описание какого атрибута использовать 
