Как получить созданную дату компонента с использованием основных служб


6

Я пытаюсь получить созданную дату компонента с использованием основных служб.

Я пробовал использовать информацию об управлении версиями, но там я могу видеть только измененную дату.

Я использовал нижеследующее. В списке версий я получаю все версии с информацией о версии, которая имеет название, дату создания и дату ревизии, но дата создания возвращает дату null и дату изменения в качестве измененной даты. Пожалуйста, предложите.

VersionsFilterData versionsFilter = new VersionsFilterData(); 
versionsFilter.IncludeRevisorDescriptionColumn = true; 
IdentifiableObjectData[] versionList = client.GetList(compData.Id, versionsFilter); 
  0

Вы проверили свойство «VersionInfo» компонента? 23 дек. 152015-12-23 11:50:10

3

Warner получил его - вот логика, как вы делаете с новым клиентским приложением переменного тока # Ядро службы:

ComponentData c = (ComponentData)coreServiceClient.Read(componentId, readOptions); 
FullVersionInfo v = (FullVersionInfo) c.VersionInfo; 
Console.Write(v.CreationDate); 

В принципе, вы можете использовать класс FullVersionInfo, чтобы получить доступ к информации с версией Item. BasicVersionInfo применяется ко всем объектам, в том числе к объектам без версий, и, следовательно, содержит меньше информации.

  0

Nuno.Thanks, он отлично работает. 27 дек. 152015-12-27 06:19:34


4

Это заняло у меня некоторое время, только чтобы понять, что мы оба делаем это сложнее, чем нужно. Вы можете в конечном итоге получить это, как вы это делаете. Но, вы должны сделать это (и вам нужно перевести свой код PowerShell в ваш ...)

 $filter = New-Object Tridion.ContentManager.CoreService.Client.VersionsFilterData$ filter.BaseColumns = 3 
 $versions =$ client.GetList( $itemId,$ filter) 
foreach ( $version in$ versions) 
{ 
   $vitem = Get-TridionItem$ version.Id 
  write-host $vitem.VersionInfo.CreationDate 
  write-host$ vitem.VersionInfo.Creator.Title 
} 

однако, это пресловутое «длинный путь вокруг сарая.» все версии будут иметь одну и ту же дату создания/создания. Итак, что вам действительно нужно сделать, это получить полный элемент, а затем использовать его информацию о версии:

 $vitem = Get-TridionItem$ itemId 
write-host $vitem.VersionInfo.CreationDate 
write-host$ vitem.VersionInfo.Creator.Title