Jump to content

Как установить свойство Дата выпуска у объекта ReleaseStatus ?


Recommended Posts

alexeytur

Добрый день.

 

Создаю объект TCComponentReleaseStatus, пытаюсь у него установить свойство  date_released и вылетает ошибка  com.teamcenter.rac.kernel.TCExceptionPartial   Имя входного свойства пусто.

Исходник:

Скрытый текст

                TCComponentReleaseStatusType componentReleaseStatusType = (TCComponentReleaseStatusType)session.getTypeComponent("ReleaseStatus");
                TCComponentReleaseStatus tcStatus = (TCComponentReleaseStatus)componentReleaseStatusType.create("Validation");
                

                java.util.Date date = new java.util.Date();
                tcStatus.setDateProperty("date_released", date);

 

                tcStatus.lock();
                tcStatus.save();
                tcStatus.unlock();

 

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

В чем может быть проблема?

Link to post
Share on other sites


UnPinned posts
butulec

Там выше в логе есть ошибка Attempted to modify date_released which has it's modifiable set to FALSE

А нужно поставить конкретную дату? Или текущую?

Link to post
Share on other sites
alexeytur

Да, у этого свойства isModifiable = false, а как тогда вообще его установить?

 

Можно установить и текущую дату.

 

 

Link to post
Share on other sites
butulec
30 минут назад, alexeytur сказал:

Да, у этого свойства isModifiable = false, а как тогда вообще его установить?

 

Можно установить и текущую дату.

 

 

Мы делали через задачи, он автоматом проставлял текущую дату, я так понимаю это ограничение

Возможно решается через itk

Link to post
Share on other sites
butulec
24 минуты назад, alexeytur сказал:

А можете рассказать, что за задачи?

EPM 

там хендлер сам поставит статус на целевые объекты

 

public static void executeStatusOperation(List<TCComponent> comps, String processName) throws Exception
         {
           TCSession session = (TCSession)AIFUtility.getDefaultSession();
           
           int[] types = new int[comps.size()];
            for (int i = 0; i < types.length; i++) {
             types[i] = 1;
            }
           TCComponentTaskTemplateType t = (TCComponentTaskTemplateType)session.getTypeComponent("EPMAddStatusTaskTemplate");
          TCComponentTaskTemplate find = t.find(processName, 0);
          if (find == null) {
             return;
          }
          NewProcessOperation op = null;
           op = new NewProcessOperation(session, AIFUtility.getActiveDesktop(),     "Статус",  "Статус",  find, (TCComponent[])comps.toArray(new TCComponent[comps.size()]),  types);
            op.executeOperation();
       }

Edited by butulec
Link to post
Share on other sites
alexeytur

Спасибо, решил через сервисы:

                WorkflowService wfs = WorkflowService.getService(session);
                Workflow.ReleaseStatusInput input = new Workflow.ReleaseStatusInput();
                input.objects = new TCComponent[] {component};
                Workflow.ReleaseStatusOption oper = new Workflow.ReleaseStatusOption();
                oper.newReleaseStatusTypeName = "Validation";
                oper.operation = "Append";
                input.operations = new Workflow.ReleaseStatusOption[] {oper};
                SetReleaseStatusResponse resp = wfs.setReleaseStatus(new Workflow.ReleaseStatusInput[] {input});

  • Нравится 1
Link to post
Share on other sites

@alexeytur а св-во даты что-то не видно, как установили или Вам его уже не нужно устанавливать?

Link to post
Share on other sites
alexeytur
Posted (edited)
7 минут назад, Nek сказал:

@alexeytur а св-во даты что-то не видно, как установили или Вам его уже не нужно устанавливать?

Этот метод ставит текущую дату, мне это подходит.

Edited by alexeytur
  • Нравится 1
Link to post
Share on other sites
4 минуты назад, alexeytur сказал:

Этот метод ставит текущую дату, мне это подходит.

Понятно, спасибо за ответ!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



×
×
  • Create New...