2016-07-12 8 views
0

QMS API를 사용하여 작업을 생성했으며 모든 일반, 재로드 및 축소 탭을 채우지 만 배포 카테고리로 작업 할 때 문제가 있습니다. "QlikView Server에 배포"하고 배포 할보기 사용자를 추가하려고합니다. DocumentTaskScope (DocumentTaskScope.Distribute)에 배포를 포함 할 때를 제외하고는 작업이 SourceDocument에 대한 참조를 잃어 버리고 reduce 범주가 지워지고 일반 및 재로드 옵션이 손실됩니다. 배포 탭에서 사용자 관리를 클릭하면이 대화 상자가 나타납니다. 또한 여기 enter image description here배포를 포함 할 때 QlikView 관리 API 오류가 발생했습니다.

실제로처럼 보이는 당신이 일반적으로가한다 "배포 QlikView 서버에"영역없는 볼 수있는 패널을 배포의 나 무엇 :

다음

enter image description here

이 내 배포 섹션에 대한 코드, 나는이 프로그램을 C#로 작성하고 프로그램을 빌드하고 오류없이 실행하지만 의도 한 결과를 얻지 못한다.

서버 이름 구문 또는 ID 멤버와 관련이 있다면 생각 중입니다. 문서는 이것이 "QlikView 서버의 ID"가 될 것이라는 점을 지적 했으므로 qlikview 서비스의 ID를 사용했으나 이것이 무엇을 찾고 있는지 확신 할 수 없습니다.

//Distribute static ("Manually" in QV Management Console) 

     DocumentTask.TaskDistribute.TaskDistributeStatic tds = new DocumentTask.TaskDistribute.TaskDistributeStatic(); 



     TaskDistributionDestination.TaskDistributionDestinationQlikViewServer tddqvs = new TaskDistributionDestination.TaskDistributionDestinationQlikViewServer(); 

     tddqvs.Name = "[email protected]"; 

     tddqvs.Mount = "Root Folder"; 

     tddqvs.ID = qvsGuid; 



     TaskDistributionEntry newEntry = new TaskDistributionEntry(); 

     newEntry.Destination = new TaskDistributionDestination(); 

     TaskDistributionDestination tdd = new TaskDistributionDestination(); 

     TaskDistributionDestinationType tddt = new TaskDistributionDestinationType(); 

     tddt = TaskDistributionDestinationType.QlikViewServer; 

     newEntry.Destination.Type = tddt; 

     newEntry.Destination.QlikViewServer = tddqvs; 

     TaskDistributionDestination.TaskDistributionDestinationFolder tddf = new TaskDistributionDestination.TaskDistributionDestinationFolder(); 

     tddf.Name = "N/A"; 

     newEntry.Destination.Folder = tddf; 



     DirectoryServiceObject[] serviceObject = new DirectoryServiceObject[2]; 

     DirectoryServiceObject dso1 = new DirectoryServiceObject(); 

     DirectoryServiceObject dso2 = new DirectoryServiceObject(); 

     dso1.Name = "QlikView_Admin"; 

     dso1.Type = DirectoryServiceObjectType.Named; 

     dso1.OtherProperty = "N/A"; 

     dso2.Name = "Qlikview_PowerUser"; 

     dso2.Type = DirectoryServiceObjectType.Named; 

     dso2.OtherProperty = "N/A"; 

     serviceObject[0] = dso1; 

     serviceObject[1] = dso2; 

     newEntry.Recipients = serviceObject; 



     TaskDistributionEntry[] tdeArray = new TaskDistributionEntry[1]; 

     tdeArray[0] = newEntry; 





     tds.DistributionEntries = tdeArray; 



     docTask.Distribute = new DocumentTask.TaskDistribute(); 

     docTask.Distribute.Static = tds; 





     DocumentTask.TaskDistribute.TaskDistributeDynamic taskDistributeDynamic = new DocumentTask.TaskDistribute.TaskDistributeDynamic(); 



     taskDistributeDynamic.Destinations = new List<TaskDistributionDestination>().ToArray(); 

     taskDistributeDynamic.FieldName = string.Empty; 

     taskDistributeDynamic.IdentityType = UserIdentityValueType.DisplayName; 



     docTask.Distribute.Dynamic = taskDistributeDynamic; 



     DocumentTask.TaskDistribute.TaskDistributeNotification tdn = new DocumentTask.TaskDistribute.TaskDistributeNotification(); 

     tdn.SendNotificationEmail = false; 

     docTask.Distribute.Notification = tdn; 



     DocumentTask.TaskDistribute.TaskDistributeOutput tdo = new DocumentTask.TaskDistribute.TaskDistributeOutput(); 

     tdo.Type = TaskDistributionOutputType.QlikViewDocument; 



     docTask.Distribute.Output = tdo; 

답변

1

내가 TaskDistributionDestinationQlikViewServer 개체 'ID 필드에 잘못된 GUID를 사용하고 있었다 밝혀졌습니다. QVS @ (servername) 서비스의 ID로 설정하면 작동합니다.

관련 문제