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

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

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




  • Сообщения

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