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

Создание элемента типа 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 пользователей

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




  • Сообщения

    • Alexey8107
      Да, я написал При этом, после сбоя не помогает возврат в реф. А если задать систему координат заготовки то корректоры на инструмент становятся неверными. Возможно бред, но примерно так и есть. С другими станками такой проблемы нет. А с этим почему то каждый раз.
    • BSV1
      Еще забыли сообщить, где такое счастье расположено и как туды написАть.    ЗЫ И еще бы поменьше пионерского задора.
    • Greenston
      @Beliko у Вас пост написан на 2 канала (видимо, на 2 револьверные головы). Каждый канал чаще всего постпроцессируется в отдельный файл уп (но бывает и в один файл, как на Окумах). Надо либо пост править в 1 канал, либо искать одноканальный пост. И вообще лучше сначала спросить, на станке 1 револьверная голова?
    • maxx2000
      @ANT0N1DZE держи недостающее, выбери на свой вкус 
    • IgP
      Я прямо противоположного мнения. Это говорят те кто начинает в нём работать сами(без фундаментального обучения), после другого CADa. Но потом у них мнение меняется на противоположное. Этим заявлением, вы меня сильно огорчили (Слышал я как Windchill работает, и видел ваши вопросы выше - они меня повергали в ступор ..) а дальше то вы чего понаписали ... бред, вчера начали - увидели и давай помои поливать ... ну, флаг вам в руки ... про CAD продукты от отечественных разработчиков, просто намекну ...
    • Kelny
      Заменить на исходные, при замене первого компонента (ЗАМЕНИТЬ КОМПОНЕНТЫ) выбрат галочку ВСЕ.   Лучше весь день потерять, а потом за пять минут долететь. ... Крылья, крылья, тьфу... главное хвост (С)   Не переделаете сейчас, придётся потом не только передедывать, но и вспоминать как должно быть правильно и почему одинаковое не одинаково.
    • ANT0N1DZE
      В разделе "мы предлагаем" забыли самое интересное. 
    • brigval
      Детали по вашим чертежам в ведомость покупных изделий не вносятся.
    • malvi.dp
      В спецификации солида никак, только навести порядок и заменить одинаковые по параметрам детали, тогда они отобразятся под одной позицией с правильными количеством. Если это очень долго - сохранить спецификацию в Эксель, отсортировать и вручную сделать как нужно.
    • Александр1979
      Во время прогона с блокировкой должны изменяться абсолютные и относительные координаты, машинные координаты не должны изменяться.
×
×
  • Создать...