Перейти к публикации

Получить свойства POM api


butulec

Рекомендованные сообщения

Здравствуйте!

Подскажите, как получить свойства POM и их свойства.

Я получаю объект TCComponentItemRevision,у него есть свойство с отсутствующей второй ссылкой (нет набора данных).

Пробовал getRelated() и getReferenceProperty(), но они есть только на тех объектах, у кого есть этот набор данных, а мне нужно найти именно отсутствующую (пустую) ссылку без НД. 

Ссылка на сообщение
Поделиться на других сайтах


По возможности хотелось бы все свойства взять, просто каким методом у объекта TCComponentItemRevision можно взять свойства которые справа на скриншоте

3.png

Изменено пользователем butulec
Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, lexx174 сказал:

через getTCProperty разве никак?

Через getTCProperty можно посмотреть все свойства, которые есть у объекта. Но мне нужно посмотреть именно ссылки для объекта, которые есть в ПОМ-свойствах.

Это свойство вообще может быть пустое, но в нашем случае оно пустое по ошибке, так как нет набора данных. Вот валидность проверить можно при анализе свойства, которое на скриншоте выше (Свойства (POM))

ТО есть если есть ссылка, но нет набора данных - ошибка

А если нет ссылки, свойство все равно будет (пустое) - не ошибка

 

4.png

Изменено пользователем butulec
Ссылка на сообщение
Поделиться на других сайтах

В вашей модели данных для отношения тех.требования значение массив объектов или только один объект?

Ссылка на сообщение
Поделиться на других сайтах
Только что, lexx174 сказал:

В вашей модели данных для отношения тех.требования значение массив объектов или только один объект?

Один объект, MSWord

Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, lexx174 сказал:

TCProperty.getReferenceValue() пробовали?

Оказалось это отношение принимает массив объектов (выдал стек ошибок), я поправил как нужно.

Ситуация старая, если объект есть - он выводится

Если есть ссылка на объект, но набора данных нет - то массив пустой.

Но как определить есть ли сама ссылка ?

5.png

Ссылка на сообщение
Поделиться на других сайтах
Только что, lexx174 сказал:

ссылка - это объект Relation, в вашем случае именуемый Тех.требования, верно?

Верно, на первом скриншоте на выделенной ревизии, в вкладке Анализ влияния, при выборе Свойства (POM) есть перечень ссылок. Там есть ссылка на структуру, карточку-форму, а также на объекты наборов данных которые находятся в ревизии (модели или тех.требования)

Для того чтобы корректно оценить правильная ссылка или мы заходим в карточку ссылки (чтобы посмотреть свойства) и там есть первичный, вторичный объекты и их связь.

У нас бывает что вторичного объекта нет, то есть не был передан, но ссылка на ревизии весит. Вот нам необходимо анализировать такие ситуации, я так понимаю с помощью анализа этих ссылок. 

Ссылка на сообщение
Поделиться на других сайтах

Тогда чтоб получить и перебрать Relation-объекты используйте функции whereReferenced()/whereReferenced(boolean )

 

в вашем случае нужен 2й вариант функции с параметром

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, lexx174 сказал:

Тогда чтоб получить и перебрать Relation-объекты используйте функции whereReferenced()/whereReferenced(boolean )

 

в вашем случае нужен 2й вариант функции с параметром

Мы приближаемся к истине)

1. Могли вы пояснить в чем между ними разница (whereReferenced(true) и whereReferenced(false)), у меня результаты разные, во 2 варианте перечень полный.

2. Так как результаты во 2 варианте правильные (нужные, там есть ссылка на тех.требования). Там вывод с UID, перебор ImanRelation. Как их правильно обработать могли бы подсказать? Выяснить наименование этого отношения как можно?

6.png

 

Нашел, whereReferenced.getComponent().getType(), так можно посмотреть тип отношения, но теперь вопрос, как найти вторичный объект по этому отношению?

Изменено пользователем butulec
Ссылка на сообщение
Поделиться на других сайтах

true или false означает варианты просто ссылается или ссылается_POM, что не трудно догадаться (об этом написано в ява доке)

 

 

дальше просто проверяется на if( comp instanceof TCComponentTcRelation)

 

Если класса TCComponentTcRelation нет (я не помню за такой), возможно объекты Relation тогда будут просто TCComponent

чурез "object_name" можно потом отфильтровать нужное отношение

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, lexx174 сказал:

true или false означает варианты просто ссылается или ссылается_POM, что не трудно догадаться (об этом написано в ява доке)

 

 

дальше просто проверяется на if( comp instanceof TCComponentTcRelation)

 

Если класса TCComponentTcRelation нет (я не помню за такой), возможно объекты Relation тогда будут просто TCComponent

чурез "object_name" можно потом отфильтровать нужное отношение

Спасибо, искал сегодня очень долго!!! 

Остался последний момент, как найдя нужное отношение, найти по нему вторичный объект, и если его нет, соответственно, то это тот случай который нам нужен)  

Можно конечно извратиться и зайди в TCProperty и проверить значение, но возможно есть вариант по этому пути, имея компонент Relation, или по нему нельзя выйти на вторичный объект?

Изменено пользователем butulec
Ссылка на сообщение
Поделиться на других сайтах

да скорее всего дальше просто через свойства primary_object/secondary_object

 

TCComponentTcRelation есть такой класс? У меня просто eclipse не перед глазами я не могу проверить

Ссылка на сообщение
Поделиться на других сайтах
Только что, lexx174 сказал:

да скорее всего дальше просто через свойства primary_object/secondary_object

 

TCComponentTcRelation есть такой класс? У меня просто eclipse не перед глазами я не могу проверить

Да есть такой класс, но все компоненты попали в этот if при проверке, а мне нужен был конкретный по имени)

Сделал через TCProperty при наличии отношения нужного.

А свойства primary_object/secondary_object смотреть у ревизии вы имеете ввиду? 

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, butulec сказал:

Да есть такой класс, но все компоненты попали в этот if при проверке, а мне нужен был конкретный по имени)

Сделал через TCProperty при наличии отношения нужного.

А свойства primary_object/secondary_object смотреть у ревизии вы имеете ввиду? 

у самого отношения тех.требования

Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, lexx174 сказал:

у самого отношения тех.требования

Что то я запутался.

AIFComponentContext[] whereReferenced = itemRevision.whereReferenced(false);
            for (int i = 0; i < whereReferenced.length; i++) {
                TCComponent comp = (TCComponent) whereReferenced.getComponent();
            
            
                AIFComponentContext[] whereReferenced_pr = comp.getPrimary();
                AIFComponentContext[] whereReferenced_sec = comp.getSecondary();

}

Оба массивы пустые.

 

Вот что в модели данных написано 

     <TcProperty propName="IL2_TechnicalSpec_Relation" propTypeName="Relation" propValueType="PROP_untyped_relation"
         propMaxStringLength="0" isArray="true" arrayLength="-1" description="" referencedTypeConstant=""
         referencedType=""/>

Получается тип массив, но когда я беру значение этого свойства TCProperty, то он говорит неправильный тип, как правильно взять верный тип для этого свойства?

 

org.eclipse.core.runtime.AssertionFailedException: assertion failed: Неправильный тип свойства

Можно просто вывести с помощью prop.getDisplayValue(), мне этого достаточно, но интересно, какой тип ему все таки нужен?

Изменено пользователем butulec
Ссылка на сообщение
Поделиться на других сайтах

Берите TCProperty у Relation(тех. требования)

два свойства - secondary_object и primary_object

 

то что вы привели в xml - это касатеся самого Relation а не свойств его

думаю дальше справитесь. и проверьте ЛС

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Guhl
      Посмотреть хотя бы что предлагают. Цены увидеть. Может для себя присмотреть что-нибудь 
    • gudstartup
      нет в ноль только в россии  ушатывают причем в полный и по балансовой стоимости и по морально физическому состоянию. станки по 20 лет круглосуточно работают. вы на реставрацию берете?
    • alek77
      Не отработал на нарисованном прямоугольнике: Начальный макрос такие вещи отрабатывает:   SW17 у меня   И еще. И для чертежа с модели тоже не отработал: Хотя я никакими галочками "измененное значение" не пользуюсь, и не знаю где они находятся. Я тупо меняю размер в свойствах: Старый макрос при этом прекрасно все видит и раскрашивает такие размеры. В чем разница не вникал. Просто потестил. Сам я так размеры никогда не меняю, это вредно. А за другими проверить очень даже полезно бывает.  
    • Горыныч
      Не занимайтесь ерундой. В Китае б/у оборудование ОЧЕНЬ ликвидно, а потому дорого. Ну и в 99%случаев уже ушатано почти в ноль. 
    • Guhl
      Кто-нибудь может подсказать сайт, где продаются б/у станки в Китае?
    • gudstartup
      если не повезет то вобразе исправляйте user/system/etc/basesys.ini
    • Spiryakina.s
      Ищу  возможность поставки листов из сплава 7075Т6 Варианты толщины: 0,8 мм 1,0 мм 1,2 мм В размере 2500х1250 в количестве 20 шт И нарезку их в размер и в количестве по таблице ниже:     длина ширина кол 2395 1080 8 2245 1185 4 2215 1050 8    лист алюминиевый Д16Т (АТ) Толщиной 8мм, следующих размеров и в количестве: Тип 6 3300 1900 2 шт     
    • andref
      @gudstartup  ну если есть PCU50  то все гораздо проще: подключаем к нему мышь , клаву и монитор, загружаемся в Windows и выставляем там  нужный IP (надеюсь что он известен). А вот если 840Dsl без PCU50 , то да... Хотя может просто сетевые разъемы  перепутали  
    • Kate KAUS
      Инжиниринговая компания, специализирующаяся на проектировании морских портов и терминалов приглашает в команду Ведущего/главного инженера-проектировщика ПОС. Чем предстоит заниматься: Разработка разделов проектной документации ПОС согласно ПП№87; Анализ проектной и исходно-разрешительной документации, используемой в качестве данных для составления раздела ПОС Составление ведомостей объемов работ разделов ПОС; Выдача заданий и исходных данных для смежных отделов; Обеспечение увязки принятых решений с проектными решениями других разделов (частей) проекта; Принятие основных технических решений, их обоснование, согласование и защита в органах экспертизы. Разработка основных технических решений на период строительства объектов (ППР, ОПР, строительные решения); Обеспечение соответствия разрабатываемой документации стандартам, техническим условиям, заданию на проектирование.   Требования: Высшее профильное образование (строительное); Опыт не менее 3 лет по специализации ПОС, ППР; Знание требований, предъявляемых к оформлению проектной документации; Умение качественно и в срок выполнять поставленные задачи; Опыт работ на строительных площадках приветствуется; Опыт прохождения согласований проектной документации; Знание ПК на уровне уверенного пользователя: (AutoCAD, Adobe Acrobat PRO, MS Office : Word, Excel, выполнение расчетов в программах).   Мы предлагаем: Трудоустройство согласно ТК РФ Пятидневную рабочую неделю с 9:00 до 18:00 Все социальные гарантии, ДМС Полностью официальную заработную плату, уровень готовы обсуждать с успешным кандидатом Динамично развивающаяся компания, комфортный офис   г. СПб м. Василеостровская, зп от 100 000-140 000р.   Контакты: eksmirnova@kaus-group.ru ТГ @Kate_Kaus  
    • denis.d
      В ООО "СТОД" требуется сотрудник на должность:    Проектировщик конструктор КД КР (каркасные дома) З/п от 150.000 руб   Обязанности: - разработка 3D модели несущего каркаса объекта по ТЗ заказчика; - разработка и расчёт конструктивных решений из дерева, ЛВЛ бруса, клееного бруса; - увязка конструктивных решений с архитектурными и инженерными; - разработка проектной и рабочей документации КД/КР; - проектирование объектов различного функционального назначения (Многоквартирные дома, общественные здания, спортивные и сельскохозяйственные объекты, склады, индивидуальные дома, кровли и мансарды); - подготовка конструкторской/проектной документации для производства и монтажа конструкции из ЛВЛ бруса; - взаимодействие с заводом-изготовителем ЛВЛ бруса и/или конструкций из него; - взаимодействие с организацией, производящей монтаж конструкций из ЛВЛ бруса на объекте; - взаимодействие и консультация менеджеров по согласованию технических составляющих заказа.     Требования: - высшее профессиональное образование или студенты последних курсов; - опыт работы от 3-х лет на аналогичной должности (опыт работы с ЛВЛ брусом будет вашим преимуществом); - опыт проектирования деревянных большепролетных конструкций (КД, КР); - знание ЕСКД и нормативно-технической базы по деревянному каркасному и большепролётному домостроению; - владение программами AutoCAD, ArchiCAD, Revit (владение Sema, будет вашим преимуществом); - опыт расчёта и разработки узлов для ДК; - владение инструментами инженерного анализа (прочностные расчеты), уверенный пользователь ЛИРА или SCAD; - опыт разработки 3D моделей объектов; - творческий подход к делу, креативное мышление, умение решать сложные инженерные задачи; - целеустремлённость, умение работать в команде.   Условия: - полное соблюдение трудового законодательства; - полная занятость; - график и характер работы (обсуждается индивидуально); - испытательный срок 3 месяца; - заработная плата обсуждается по итогам собеседования; - работа в офисе, г. Москва (командировки в г. Торжок Тверская обл.)   Тел. для связи +79778231663  
×
×
  • Создать...