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

Создание элемента типа Schedule


Malder

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

Здравствуйте, при попытке создания элемента типа Schedule

createItem("123333","0","Schedule","test_name");
public static void createItem(String id, String rev, String type, String name)
{
    try
    {
      TCComponentItemType typeItem = (TCComponentItemType)session.getTypeComponent("Item");
      typeItem.create(id, rev, type, name, "", new TCComponent());
    }
    catch (TCException localTCException1)
    {
    	localTCException1.printStackTrace();
    }
}

получаю эксепшен "Отсутствуют права на данное приложение". Вручную от пользователя Schedule создается. Возможно Schedule не создается как простой item? Может manager или builder какой есть?

Teamcenter 10.

Заранее спасибо!

 

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


#include <tc/tc_startup.h>
#include <schmgt/schmgt_bridge_itk.h>

int create_schedule(char *schedule_type, char *schedule_id, tag_t *schedule_tag)
{
    int ifail = ITK_ok;
    
    date_t start_date;
    IFERR_ABORT(ITK_string_to_date( "27-Jun-2016 13:48", &start_date));

    date_t finish_date;
    IFERR_ABORT(ITK_string_to_date( "27-Jun-2016 13:48", &finish_date));
    
    SCHMGT_new_schedule_container_t create_inputs;
    
    create_inputs.id = schedule_id;
    create_inputs.name = schedule_id;
    create_inputs.description = schedule_id;
    create_inputs.customer_name = NULL;
    create_inputs.customer_number = NULL;
    create_inputs.bill_code = NULL;
    create_inputs.bill_sub_code = NULL;
    create_inputs.bill_type = NULL;
    create_inputs.bill_rate = NULLTAG;
    create_inputs.start_date = start_date;
    create_inputs.finish_date = finish_date;
    create_inputs.priority = 0;
    create_inputs.dates_linked = false;
    create_inputs.published = true;
    create_inputs.notifications_enabled = true;
    create_inputs.percent_linked = false;
    create_inputs.is_template = false;
    create_inputs.is_public = true;
    create_inputs.type = schedule_type;
    create_inputs.other_attributes_size = 0;
    create_inputs.typed_attribute_container_size = 0;
    
    int number_schedules_create = 1;
    tag_t *created_schedules = NULL;
    IFERR_ABORT(SCHMGT_create_new_schedule(&create_inputs, 1, &created_schedules));
    *schedule_tag = created_schedules[0];
    if(created_schedules) MEM_free(created_schedules);

    return ifail;

}

 

 

ходить тут: https://solutions.industrysoftware.automation.siemens.com/result.php?sort=desc&p=1&q=schedule+itk

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

Сам разобрался

TCComponent resultTCComponent;
Calendar startDate= new GregorianCalendar(2018, Calendar.DECEMBER, 20);
Calendar finishDate= new GregorianCalendar(2019, Calendar.DECEMBER, 20);
//Массив с параметрами
ArrayList localArrayList1 = new ArrayList();
//item_id можно не указывать тогда будет автоматически взят следующий
localArrayList1.add(new StringValuePair("item_id", "000012"));
localArrayList1.add(new StringValuePair("item_sub_type", "Schedule"));
//Тут массив с какими то доп параметрами. Еще не разбирался. Поэтому он пустой
ArrayList localArrayList2 = new ArrayList();
//Создаем контейнер. "test_name" имя элемента.
ScheduleCreateContainer SchCont = new ScheduleCreateContainer("test_name",startDate,finishDate,0,false, false, false, false, false, false, 0,localArrayList1, localArrayList2, null, 0);
ModelFactory localModelFactory = ModelFactory.singleton(session);
ScheduleModel localObject1 = localModelFactory.getScheduleModel();
ReferenceIDContainer localObject3 = null;
try {
	localObject3 = localObject1.newSchedule(SchCont);
} catch (SchedulingException e) {
	e.printStackTrace();
}
if (localObject3!=null){
	Collection localObject4 = localObject3.getObjectIDs();
	Iterator localIterator = localObject4.iterator();
	if (localIterator.hasNext())
	{
		//resultTCComponent наш созданный TCComponent
		resultTCComponent = session.stringToComponent((String)localIterator.next());
	}
}
		

 

Ссылка на сообщение
Поделиться на других сайтах
В 08.01.2019 в 10:44, lexx174 сказал:

Так человек на JAVA же пишет..

О точно, ну лана, пригодится)

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

Продолжаем развивать тему. Пытаюсь создать ScheduleTask

InterfaceAIFComponent c_target = AIFUtility.getTargetComponent();
TCComponentSchedule item = (TCComponentSchedule)c_target;
TCComponentScheduleTask SmTask=null;
try {
	SmTask = (TCComponentScheduleTask)item.getReferenceProperty("sch_summary_task");
} catch (TCException e1) {
	e1.printStackTrace();
}
TaskModel localTaskModel = ModelFactory.singleton(session).getTaskModel();
TaskCreateContainer localTaskCreateContainer = new TaskCreateContainer();
localTaskCreateContainer.setParentTaskId(SmTask.getUid());
localTaskCreateContainer.setPrevTaskIDSameLevel(null);
localTaskCreateContainer.setTaskName("test_name");
ArrayList<StringValuePair> prop = new ArrayList<StringValuePair>();
prop.add(new StringValuePair("item_sub_type", "ScheduleTask"));
localTaskCreateContainer.setStringValuePair(prop);
ArrayList<TaskCreateContainer> lArray = new ArrayList<TaskCreateContainer>();
lArray.add(localTaskCreateContainer);
try {
	localTaskModel.createTasks(lArray, item.getUid());
} catch (SchedulingException e) {
	e.printStackTrace();
}

На строке 

localTaskModel.createTasks(lArray, item.getUid());

получаю ошибку 

DATA_LOOKUP_ERR_FIND_TASK

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

Неужели никто с графиками программно не работал?

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

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

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

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

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

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

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

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

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

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

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




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