Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
こんにちは。江口です。今回は、SharePoint Online で、SharePoint Designer ワークフロー (SPD ワークフロー) 利用時のエラーについて案内します。
はじめに
業務フローに合わせてSPD ワークフローを発行し利用している場合、これまで問題なく使用できていたワークフローで、下記のエラーが記録されることがあります。
エラーが発生したワークフローでは、以下の図1. のようにワークフロー状態列に 'エラー発生' が表示されます。
ワークフロー状態列の 'エラー発生' をクリックしてワークフローの状態ページにアクセスすると、以下のようなエラーメッセージが記録されていることを確認できます。
エラーメッセージ:
ワークフローでは、アイテムを更新できませんでした。アイテムの 1 つ以上の列で、異なる種類の情報が必要であった可能性があります。
原因
これまで正常に動作していたワークフローに対して上記エラーが発生するようになった場合、下記の要因に該当する可能性があります。
要因) 表示名が同名のユーザーがテナント内に存在する
上記エラーは、テナント内に表示名が同じユーザー (同姓同名のユーザー) が複数存在している状況で、ワークフロー内で使用している"ユーザーとグループ" 列の値として、"返されるフィールドの名前" 項目に [表示名] を設定している場合に発生することを確認しています。
このエラーは、表示名が同姓同名のユーザーが複数存在している場合、ユーザーとグループ列の値に指定するユーザーを一意に特定できないためことに起因します。
なお、具体的には、以下のような構成および手順で現象を再現することができます。
- 事前準備
予め表示名が重複するユーザーをテナント内に作成します
表示名: UserA ログイン名: userA@tenant.onmicrosoft.com
表示名: UserA ログイン名: userB@tenant.onmicrosoft.com
- 現象再現手順
1. SharePoint サイト内で、"ユーザーとグループ" 列を含むリストを作成します。
2. 作成したリストに対して、ワークフローを作成し、"リスト アイテムを作成する" アクションを追加します。
3. "新しいリスト アイテムの作成" ダイアログで、フィールドに "ユーザーとグループ" 列を追加し、"割り当てる値の設定" に以下の値を指定します。
データ ソース: 現在のアイテム
ソースのフィールド: 作成した "ユーザーとグループ"列
返されるフィールドの名前: 表示名
4. ワークフローを発行し、実行すると以下のエラーが発生します。
--- エラー内容: ここから ---
ワークフローでは、アイテムを更新できませんでした。アイテムの 1 つ以上の列で、異なる種類の情報が必要であった可能性があります。
--- エラー内容: ここまで ---
対処方法
テナント内に表示名が同じユーザーが複数存在している状況でこのエラーが発生した場合、上述したように、ユーザーとグループ列の値に指定するユーザーを一意に特定できないためことに起因します。
そのため、対処方法としては、現象が発生するワークフローに対して、"返されるフィールドの名前" 項目に [ログイン名] など、必ず一意のユーザーに特定できる項目に変更のうえ、ワークフローを再発行していただくことで、再発行後開始したワークフローに関してこのエラーは発生しません。