ADN Open CIS
Сообщество программистов Autodesk в СНГ

07/12/2014

Лёгкое программирование под Autodesk Vault Часть 47

Обновление элемента из файла

В предыдущей статье опубликован код, показывающий, как создавать элементы из файлов . На этот раз я рассмотрим код, показывающий, как обновить эти элементы, если вы хотите, чтобы потреблять изменения файлов.

Код практически идентичен. Создание элементов на основе файлов и обновление элементов на основе файлов, на самом деле та же операция в сущности.   Разница лишь в том, как процесс стартует. При создании элементов, вы начинаете с набором файлов.   При обновлении элементов, вы начинаете с набором элементов.

Ниже приведен код операции обновления. На этот раз процесс запускает метод UpdatePromoteComponents . Опять же, это очень упрощенный пример.   Более сложные спецификации могут включать больше кода.

Код - C#: [Выделить]
  1. ItemService itemSvc = m_conn.WebServiceManager.ItemService;
  2. itemSvc.UpdatePromoteComponents(itemRevIds,
  3.     ItemAssignAll.Default, false);
  4. DateTime timestamp;
  5. GetPromoteOrderResults promoteOrder =
  6.     itemSvc.GetPromoteComponentOrder(out timestamp);
  7. itemSvc.PromoteComponents(timestamp, promoteOrder.PrimaryArray);
  8. ItemsAndFiles itemsAndFiles =
  9.     itemSvc.GetPromoteComponentsResults(timestamp);
  10.  
  11. // Изменить элементы по мере необходимости
  12.  
  13. itemSvc.UpdateAndCommitItems(itemsAndFiles.ItemRevArray);

Код - VBA: [Выделить]
  1. Dim itemSvc AsItemService = m_conn.WebServiceManager.ItemService
  2. itemSvc.UpdatePromoteComponents(itemRevIds, _
  3.     ItemAssignAll.Default, False)
  4. Dim timestamp AsDateTime
  5. Dim promoteOrder As GetPromoteOrderResults = _
  6.     itemSvc.GetPromoteComponentOrder(timestamp)
  7. itemSvc.PromoteComponents(timestamp, promoteOrder.PrimaryArray)
  8. Dim itemsAndFiles AsItemsAndFiles = _
  9.     itemSvc.GetPromoteComponentsResults(timestamp)
  10.  
  11. ' Изменить элементы по мере необходимости
  12.  
  13. itemSvc.UpdateAndCommitItems(itemsAndFiles.ItemRevArray)

Источник: http://justonesandzeros.typepad.com/blog/2014/08/updating-an-item-from-file.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=1136

Опубликовано 07.12.2014