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

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

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




  • Сообщения

    • Dimetil Gidrozin Dnepr
      куда пропал твой парень? с ним в паре вы замечательно смотрелись и ты был гораздо круче спасибо. я уже с автором темы связался он мне ссылок дал и где качать и как ставить. понту мне смотреть то чего у меня нет)) я поставлю то что он мне дал и посмотрю по нему. он видеоуроки пишет. норм чувак кста
    • IgorT
      Да че там хорошего? По мне уже то, что нет возможности выбрать плоскость симметрии напряг.
    • AlexKaz
      А если сделать такой финт: есть два тела, на телах две площадки с одинаковой сеткой. Что будет, если создать много RBE2 от площадки к площадке, но каждый RBE2 связывает только 1 узел на первой площадке с 1 узлом на второй (а не несколько узлов с одним узлом)? По логике вещей, получается аналог нескольких простых MPC узел в узел, т.е. для каждой пары узлов с разных площадок имеем Ux1-Ux2=0, Uy1-Uy2=0, Uz1-Uz2=0. Т.е. получим деформируемые границы площадок (вместо абсл. жёстких), но "сшитые" попарно по площадкам узлы, и попарные узлы на площадках должны перемещаться на одинаковое расстояние. Или нет?
    • Anat2015
      Не путайте модель станка и модель ЧПУ. Синумерик - это ЧПУ, у вас точно ЧПУ Sinumerik SN-770, или это все таки название станка, не встречал, чтобы Сименс станки делал. Определитесь с точным названием УЧПУ.   Теоретически, да, но можно и с внешнего инструмента (ноутбука) а процесс восстановления привязан к модели ЧПУ. Только arc. (архив) бывает разный, могут быть отдельно архивы NCU, PLC, HMI, а может быть объединенный. Где батарейка, какие настройки вы имеете ввиду? Может и архивы не надо восстановливать? Подробнее опишите свои проблемы.
    • ID_Hacker
      Бывает на пульте кнопка, бывает М командами откидывается. Если заходите в меню измерения инструмента в режиме Jog, возможно надо выбрать параметры измерения и нажать "Цикл старт" Вариантов реализации много, и без осмотра подсказать практически нереально. Вы вообще уверены, что у вас моторизированная рука, а не откидываемая руками? Правильно вам пишут - необходимо смотреть в руководстве пользователя станка. Если нет руководства, просить поставщика, производителя. Ну а если уже совсем край, искать специалиста, готового провести исследование и возможно пусконаладку.
    • Мрачный
      Компас напоминает в своих способностях SW 2001-2006 г. Очень во многих местах. А вот с зеркальными деталями-сборками там вроде бы все весьма неплохо, гораздо лучше чем в SW. Вот такое неоднозначие...
    • maxx2000
      там посыл скорее про оформление чертежей согласно ГОСТ Айтишники и манагеры. Что с них взять. 1 семестр начерталки и 1 семестр инженерной графики, если не всё вместе, на отстань в каком нить педагогическом или аграрном вузе
    • brigval
      Заложено, но на усмотрение пользователя. К сожалению.
    • Ветерок
      Хочешь сказать, что разработчики Компаса не знают начерталку? Это же должно быть заложено в программу.
    • gudstartup
      бывает что и не в нуле если в 1240 что то записано 
×
×
  • Создать...