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

Создание элемента типа деталь программно(java)


aleks1113

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

Программирование под Teamcenter начал изучать недавно. Нашел пример как создать TCComponentItem, с ним вроде все понятно. Вопрос: как создать деталь, чтобы допустим пользователь вводил имя, id, ревизию?

 

public static TCComponentItem createItem(String id, String rev, String type, String name) throws TCException {
     TCComponentItem search = searchItem(id);
     if (search == null) {
       TCComponentItemType typeItem = (TCComponentItemType)session.getTypeComponent("Item");
       search = typeItem.create(id, rev, type, name, "", new TCComponent());
       return search;
     }
     return null;     
   }
   
   public static TCComponentItem searchItem(String id) throws TCException
   {
     TCComponentItemType type = (TCComponentItemType)session.getTypeComponent("Item");
     TCComponentItem item = type.find(id);
     return item;
   }
   
   public static void addToNewStuff(TCComponentItem object) {
     try {
       TCComponentFolder newStuffFolder = session.getUser().getNewStuffFolder();
       addItemToFolder(object, newStuffFolder);
     } catch (TCException e) {
       e.printStackTrace();
     }
   }
   
   public static void addItemToFolder(TCComponentItem createItem, TCComponentFolder folder) {
     if (folder == null) {
       return;
     }
     try {
       folder.add("contents", createItem);
     }
     catch (Exception localException) {}
   }
Ссылка на сообщение
Поделиться на других сайтах


сделайте свою форму(диалог) с нужными полями и передавайте параметры в функцию создания Item

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

А тип какой указывать?

 

тип Item-a? Да какой хотите. Какой создан для олицетворения детали такой и используйте

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...
13 часа назад, aleks1113 сказал:

А как созданный item добавить допустим в папку новое(NewStuff)?

 

component.add("contents",newstuff_tag);

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...
В 01.12.2017 в 14:19, lexx174 сказал:

сделайте свою форму(диалог) с нужными полями и передавайте параметры в функцию создания Item

в этом случае лицензия для создания ITEM использует тот кто запустит форму кастомную?

 возможно сделать так, форму запускал один пользователь (у которого нет этой лицензии), а    функция создания Item запускалась от имени пользователя у кого это лицензия есть

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

в этом случае лицензия для создания ITEM использует тот кто запустит форму кастомную?

 возможно сделать так, форму запускал один пользователь (у которого нет этой лицензии), а    функция создания Item запускалась от имени пользователя у кого это лицензия есть

При чем тут лицензия и формы?это никак не связано. Просто вместо стандартного визарда создания айтема вы используете свою форму.

Откуда вы взяли про лицензии на создание айтема?бред

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

При чем тут лицензия и формы?это никак не связано. Просто вместо стандартного визарда создания айтема вы используете свою форму.

Откуда вы взяли про лицензии на создание айтема?бред

Разве для создания Item не нужна лицензия автора? в моем случае речь идет не об Item, а о другом объекте для создания которого требуется лицензия.

мне нужно чтобы объект создавался от имени другого пользователя, но данные для создания вводил тот, кто вошел в тимцентр

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

Разве для создания Item не нужна лицензия автора? в моем случае речь идет не об Item, а о другом объекте для создания которого требуется лицензия.

мне нужно чтобы объект создавался от имени другого пользователя, но данные для создания вводил тот, кто вошел в тимцентр

Так вы сразу и обрисуйте нюансы,это уже другая картина если вам нужен не стандартный айтем и его производные

Авторская лицензия teamcenter_author - это основная лицензия которая и так должна быть у пользователя.

 

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

Думаю такое не получится то что вы хотите.

Единственно что - попробовать запускать внешнюю ITK утилиту(если нужно пакетное создание),а это вряд ли удобно будет

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

Так вы сразу и обрисуйте нюансы,это уже другая картина если вам нужен не стандартный айтем и его производные

Авторская лицензия teamcenter_author - это основная лицензия которая и так должна быть у пользователя.

 

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

Думаю такое не получится то что вы хотите.

Единственно что - попробовать запускать внешнюю ITK утилиту(если нужно пакетное создание),а это вряд ли удобно будет

внешнюю ITK , т.е. утилиту которая запускается вне тимцентра? напрямую с базой работать?

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

внешнюю ITK , т.е. утилиту которая запускается вне тимцентра? напрямую с базой работать?

верно. внешняя утилита - это уже отдельная сессия тимцентра будет.

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

верно. внешняя утилита - это уже отдельная сессия тимцентра будет.

а данные в таком случае заносятся напрямую в базу? просто структура базы у тимцентра такая, что напрямую туда писать рискованно. или я не верно понял вас?

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

а данные в таком случае заносятся напрямую в базу? просто структура базы у тимцентра такая, что напрямую туда писать рискованно. или я не верно понял вас?

насколько я понимаю у вас очень слабое понимание архитектуры этой системы.

 

Данные естественно занесутся в базу,куда им деваться

 

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

Единственно когда используют прямой доступ к БД - это для чтения данных, для например формирования больших отчетов, т.к прямой доступ к БД дает существенный выигрыш по времени

 

 

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

насколько я понимаю у вас очень слабое понимание архитектуры этой системы.

 

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

Единственно когда используют прямой доступ к БД - это для чтения данных, для например больших отчетов, т.к прямое доступ к БД дает существенный выигрыш по времени

то что манипуляции с базой делает система я в курсе, не очень понял про концепцию про отдельную сессию тимцентра, если будет запускаться отдельная утилита вне тимцентра

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

то что манипуляции с базой делает система я в курсе, не очень понял про концепцию про отдельную сессию тимцентра, если будет запускаться отдельная утилита вне тимцентра

тут все просто, это как бы вызов внешнего приложения, которое соединяется с базой TC, создается сессия под нужным пользователем и все.

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

Сама утилита ITK запускается обычно через батник, где настроены переменные доступа к базе,и время на логин и взятие лицензии проходит определенное

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

тут все просто, это как бы вызов внешнего приложения, которое соединяется с базой TC, создается сессия под нужным пользователем и все.

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

Сама утилита ITK запускается обычно через батник, где настроены переменные доступа к базе,и время на логин и взятие лицензии проходит определенное

спасибо! тут еще хотят иметь возможность редактирования ))) сразу сказать нельзя так!

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

спасибо! тут еще хотят иметь возможность редактирования ))) сразу сказать нельзя так!

вы программируете на Java под TC я так понимаю?

что именно редактировать хотят?

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

вы программируете на Java под TC я так понимаю?

что именно редактировать хотят?

да Java.

хотят редактировать свойства этого объекта, который создадут таким образом

 

т.е. хотят редактирование из внешней утилиты, но при этом изменению в тимцентре происходили от имени другого пользователя, у которого есть лицензия

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

да Java.

хотят редактировать свойства этого объекта, который создадут таким образом

 

т.е. хотят редактирование из внешней утилиты, но при этом изменению в тимцентре происходили от имени другого пользователя, у которого есть лицензия

есть еще механизм user services - вызов из rich client функций зарегистрированных на сервере в dll. Это более удобный вариант,т .к никаких сторонних утилит и ожиданий нет. Единственно что нужно посмотреть возможно ли создать новую сессию ITK функциями

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...