『キューアイテムを追加』アクティビティを実行時に「トランザクションの作成エラーです。重複参照。 Error code: 1016」エラーが発生する

:grey_question: Question

『キューアイテムを追加』アクティビティでキューにアイテムを追加時に、重複参照のエラーが発生します。
どのように対応したらよいですか?

エラーメッセージ

UiPath.Core.Activities.OrchestratorHttpException: トランザクションの作成エラーです。重複参照。 Error code: 1016 at UiPath.Core.Activities.HttpStatusCodeExtension.OrchestratorEnsureStatusCode(HttpResponseMessage response)
at UiPath.Core.Activities.BaseQueueActivity.EndExecute(NativeActivityContext context, IAsyncResult result)
at UiPath.Core.Activities.AsyncNativeActivity.BookmarkResumptionCallback(NativeActivityContext context, Bookmark bookmark, Object value)
at System.Activities.Runtime.BookmarkWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)

:bulb: Answer

原因

「参照の重複を禁止」オプションが有効なキューに対して、そのキューの中で今まで「参照」に登録したことがある値を「参照」プロパティに設定し、キューアイテムを新規追加しようとしたことが原因です。

Automation Cloud内のOrchestratorの場合、古いキューアイテムは保持ポリシーに沿って削除されます。
スタンドアロン版Orchestratorの場合、スクリプトを用いたデータベースのメンテナンスによって古いキューアイテムを削除できます。

保持ポリシーやスクリプトによるメンテナンスにより、Orchestratorのトランザクション画面で古いキューアイテムが表示されなくなっても、そのキューの中で過去に利用した「参照」の値は依然として使用済みとみなされます。

参考:
「キュー アイテムの保持ポリシー」

「メンテナンスに関する考慮事項 > データベースのクリーンアップ」

解決策

以下いずれかの対応をご検討ください。

対応1:参照が重複することがある場合

「参照の重複を禁止」オプションのチェックを外した状態で、Orchestrator>テナント>フォルダ>キュー>キューの追加から新規キューを作成ください。
※既存キューを編集して、「参照の重複を禁止」オプションのチェックを外すことはできません。

対応2:参照が重複することがない場合

今までに利用したことのない値を、『キューアイテムを追加』アクティビティの「参照」プロパティに設定します。

キューにアイテムを誤って登録してしまった場合は、以下いずれかの方法でキューアイテムのステータスを「削除済み」に変更すると、同じ参照値のキューアイテムを新規追加できるようになります。

  1. Orchestratorの画面から削除する方法:
    Webブラウザで Orchestrator にログインし、フォルダー > キュー > 「トランザクションを表示」画面 > 該当するキューアイテム右端の三点アイコンから削除します。
  2. ロボットから削除する方法:
    『キューアイテムを削除』アクティビティを使用します。