【BluePrism】コレクションに連番を付与する


やりたいこと

小ネタです。

コレクションに連番を付与したいときありますよね。
単純なことなのですが、いちいちプロセス側でループ回して連番セットしていくのはイヤだ。。。
というわけで、Utility - Collection Manipulationを拡張して作ってみました。

実装

アクション全体

開始ステージ

コードステージ

入力

出力

コード

コレクションの先頭列に連番フィールド(名前は任意に設定可)を追加して、各レコードに連番を付与しています。

If Not Collection.Columns.Contains(Column) Then

    Collection.Columns.Add(Column, Type.GetType("System.String"))

    Dim cnt As Long = 1
    For Each dr As System.Data.DataRow In Collection.Rows

        dr(Column) = CStr(cnt)
        cnt += 1
    Next

    Collection.Columns(Column).SetOrdinal(0)

Else
    Throw New Exception("The field already exists")
End If

New_Collection = Collection

実行結果

呼び出し元のプロセスの実装

Utility - Collection Manipulationオブジェクトの連番付与アクションを呼び出してます。

コレクション

このコレクションに連番を追加してみます。

連番付与アクション

入力

出力

結果

確かにコレクションの先頭列に連番が付与されており、連番の値も正しくセットされていることが確認できました。