0

We are using TFS2010.

We have a solution - developed by IBM - that synchronizes data between DOORS and TFS. This solution has created proprietary work items (DoorsProxy) with some proprietary fields DoorsTool.DoorsArtifactType.Module.

I think this question is not specific for Doors but for proprietary fields in general.

We have encountered the following problem:

We used the TFS SDK and WIQL language to access the DoorsProxy Work Item. The standard fields can be accessed but not the Doors proprietary fields. We have used e.g. following query

Select ID, Title, [Work Item Type], [DoorsTool.DoorsArtifactType.Module] 
from WorkItems where ([Work Item Type] = 'DoorsProxy' ) order by Title;

But we receive error

TF51005: The query references a field that does not exist. The error is caused by «[DoorsTool.DoorsArtifactType.Module]».

We have tried other syntaxes, other fields and also deleted cache as proposed somewhere but with no success. We have checked field attribute definitions using ProcessEditor etc.

Can you tell whether there is a workaround for this issue?

namezero
  • 2,203
  • 3
  • 24
  • 37

1 Answers1

0

I made a workaround. I changed

Select ID, Title, [Work Item Type], [DoorsTool.DoorsArtifactType.Module] 
  from WorkItems where ([Work Item Type] = 'DoorsProxy' ) order by Title;

to

Select * from WorkItems where ([Work Item Type] = 'DoorsProxy' ) order by Title

I changed the C# code to:

string wiqlQueryDoorsProxy =
   "Select * from WorkItems where ([Work Item Type] = 'DoorsProxy' ) order by Title";

WorkItemCollection witCollectionDoorsProxy = wiStore.Query(wiqlQueryDoorsProxy);

foreach (WorkItem workItemDoorsProxy in witCollectionDoorsProxy)
{
   Console.WriteLine("ID: {0}", workItemDoorsProxy.Id);
   Console.WriteLine("Module: {0}", workItemDoorsProxy.Fields["Module"].OriginalValue);

}