ソリューションの内容
特徴
実際、 Dynamics365WorkflowToolsなど、相当する補助開発ソリューションがかなり前から存在していました。
共有、役割の確認、役割の割り当てなどの便利な機能があります。
以前のプロジェクトでも、再利用可能なものをいくつかまとめ、上記ソリューションの補足ともいえるいくつかの簡易パッケージ化を実施しました(上記ソリューションが提供するワークフローと一部機能が重複する可能性があります)ので、追加していきます。常に改善し、補完していきます。
アクション
EW - 時間加算操作
入力パラメータ:
inputdate: 入力日付
inputvalue: 入力数値
type: 年、月、日、時、分、秒
出力パラメータ:
outputdate:出力日付
outputtimestamp:出力タイムスタンプ
機能紹介:入力された日付、数量、種類に応じて、年、月、日、時、分、秒を付加した日付とタイムスタンプを出力します。
構成の使用法は図に示すとおりです。構成は、テスト エンティティ A の日付フィールドに 3 年を追加することです。
EW - 現在時刻の取得操作
入力パラメータ: なし
出力パラメータ:
nowdatetime: 出力現在時刻
Outputtimestamp: 出力タイムスタンプ
関数紹介: 出力現在時刻
構成の使用法は次の図に示すとおりです。
EW- 時間詳細の取得操作
入力パラメータ:
inputdate: 入力時刻
出力パラメータ:
year:年
月:月
日:日
時:時分:
分 秒
:秒
機能紹介:入力時刻に応じて、年、月、日、時、分、秒の整数を出力します
構成の使用法は次の図に示すとおりです。
EW 時のフォーマット操作
入力パラメータ:
inputdate: 入力日付
formattype: (yyyy-MM-dd HH:mm:ss) などの日付形式タイプ
出力パラメータ:
outputformarttimestring: 出力時刻のフォーマット文字
機能紹介: 受信した日付に応じて、必要な日付形式の文字出力にフォーマットします。
構成の使用法は次の図に示すとおりです。
EW - 時差計算操作
入力パラメータ:
inputdate1: 入力日付1
inputdate2: 入力日付2
type: 取得する時差の種類
(日、時、分、秒、ミリ秒)
出力パラメータ:
timedifferencevalue: 出力時間差
機能紹介: 受信した 2 つの日付と種類に応じて差分値を取得します。
構成の使用法は次の図に示すとおりです。
EW - システム構成の取得操作
入力パラメータ: キー: キー
出力パラメータ: 値: 値
機能紹介:キーに応じて構成テーブルConfigurationRecordの値を取得します。
構成の使用法は図に示すとおりです。キー値 systemkey1 に従って、ConfigurationRecord テーブル内の対応するレコードが取得されます。
次の図は、アクション構成によって取得されるレコード情報を示しています
EW - レコード ID の取得操作
入力パラメータ:
url: プロセス設定の「レコード URL (動的)」
出力パラメータ:
guid: レコードの主キー
機能紹介: ワークフローに設定されているエンティティまたは関連エンティティのレコードURL(動的)に応じてGuidを取得します。
構成の使用法は図に示すとおりです。テスト エンティティ A のレコード URL (動的) に従って、テスト エンティティ A レコードの主キー Guid を取得します。
EW-Get ClientUrl オペレーション
プロセス設定のパラメータ: recordurl:「レコード URL (動的)」を入力します。
出力パラメータ:
clienturl: 記録された URL に従ってインターセプトされた clientUrl。
機能紹介:ワークフローに設定されたエンティティレコードURL(動的)に応じてClientUrlを取得します。
構成の使用法を図に示します。
EW-Jsonデータに基づく属性操作の取得
入力パラメータ:
jsonstring: Json データ
キー: Json データで取得する必要がある属性の名前
出力パラメータ:
value: 対応する属性の値
機能紹介:Json文字列全体(jsonstring)を渡し、属性(キー)の値を取得し、属性値(値)を返します。
構成の使用法は図に示すとおりです。次の図に示すように、HttpRequestRecord レコードの戻り値 Response の state 属性を取得します。
EW-乱数取得操作
入力パラメータ:
min: 最小値
max: 最大値
出力パラメータ:
出力番号: 乱数
機能の紹介: 数値の間隔 (最小、最大) を渡して、その間隔内の数値をランダムに選択します。
構成の使用法は図に示すとおりです。1~ 100 の乱数を返します。
EW-MD5暗号化操作
入力パラメータ:
inputstring: 暗号化する文字
istrueremovespaces: 暗号化された文字からスペースを削除するかどうか is16or32: 暗号化結果が 16 ビットか 32 ビットか
isupperor lower: 暗号化結果が大文字または小文字で返されます
出力パラメータ:
暗号化文字列: 暗号化結果の
出力文字列: 入力パラメータ入力文字列と同じ (暗号化を組み合わせるために複数の動的構成フィールドを設定する必要がある場合があります。それが正しいことを確認するために、暗号化されていないテキストも出力します)
機能紹介:暗号化フィールドと対応する暗号化設定を入力し、暗号化結果を出力します。
構成の使用法は図に示すとおりです。スペースを削除して文字列を暗号化し、暗号化された結果を 32 ビットの小文字の暗号文として返します。
EW-AES暗号化操作
入力パラメータ:
inputvalue: 暗号化する文字
key: key
iv: iv offset (空の場合、デフォルトで key に等しい)
cipher: 動作モード (CBC、ECB、OFB、CFB、CTS、デフォルトは CBC)
padding: パディングmode (None、PKCS7、Zeros、ANSIX923、ISO10126 のデフォルトは PKCS7)
encoding: エンコード方式 (utf-8、gb2312 のデフォルトは utf-8)
outtype: 暗号化暗号文タイプ (base64、hex
のデフォルトはbase64)
出力パラメータ:
outvalue: 出力暗号文
機能紹介:暗号化設定に従ってコンテンツを暗号化します。
構成の使用法は図に示すとおりです。「テスト エンティティ A」の「名前」フィールドを暗号化します。キーは「abcdefhijklmn123」です。他のパラメータは空白のままでかまいません。デフォルト値についてはパラメータ情報を参照してください。
EW-AES復号化操作
入力パラメータ:
inputvalue: 復号化する文字列
key: key
iv: iv offset (空の場合、デフォルトで key に等しい)
cipher: 動作モード (CBC、ECB、OFB、CFB、CTS、デフォルトは CBC)
padding: パディングmode (None、PKCS7、Zeros、ANSIX923、ISO10126 のデフォルトは PKCS7)
encoding: エンコード方式 (utf-8、gb2312 のデフォルトは utf-8)
outtype: 暗号化暗号文タイプ (base64、hex
のデフォルトはbase64)
出力パラメータ:
outvalue: 出力復号化されたコンテンツ
機能紹介:暗号化設定に従ってコンテンツを復号化します。
構成の使用法は図に示すとおりです。暗号化された結果をキー「abcdefhijklmn123」に従って復号します。
EW-RSA暗号化操作
入力パラメータ:
inputvalue: 暗号化する文字
key: 暗号化された公開鍵
keysize: 鍵の数字 (512、1024、2048、4096
デフォルトは 2048)
padding: パディング モード (RSA/ECB/PKCS1Padding、RSA/ECB/OAEPWithSHA-256AndMGF1Padding など)
デフォルトは RSA/ECB/PKCS1Padding です)
出力パラメータ:
outvalue: 出力暗号文
機能紹介:暗号化設定に従ってコンテンツを暗号化します。
構成の使用方法は図に示すとおりです:「テスト エンティティ A」の「名前」フィールドを RSA 公開鍵で暗号化し、その他のパラメーターは空白のままにすることができます。デフォルト値についてはパラメーター情報を参照してください。
非対称公開キーと秘密キーの生成はオンラインで照会できます。
EW-RSA復号化操作
入力パラメータ:
inputvalue: 復号化する文字
key: 復号化された秘密鍵
keysize: 鍵の数字 (512、1024、2048、4096
デフォルトは 2048)
padding: パディング モード (RSA/ECB/PKCS1Padding、RSA/ECB/OAEPWithSHA-256AndMGF1Padding など)
デフォルトは RSA/ECB/PKCS1Padding です)
出力パラメータ:
outvalue: 復号化されたコンテンツを出力します
機能紹介:暗号化設定に従ってコンテンツを暗号化します。
構成の使用法は図に示すとおりです。RSA秘密キーを使用して暗号化された暗号文を復号します。他のパラメーターは空白のままにすることができ、デフォルト値のパラメーター情報を参照します。
非対称公開キーと秘密キーの生成はオンラインで照会できます。
EW-新しいガイド アクションを生成
入力パラメータ:
なし
出力パラメータ:
newguid: 新しい guid を出力します。
機能紹介: 新しいGUIDをランダムに出力
構成の使用法は図に示すとおりです。追加の構成は必要ありません。
EW - 指定された文字インデックスを取得する操作
入力パラメータ:
inputstring: 入力文字列
value: 指定された文字
startindex: 開始するインデックス (空でも可)
出力パラメータ:
outputstringindex: インデックス位置の値を返します。
機能紹介: 指定した文字または文字列が文字列内で初めて出現する位置を検索し、最初のインデックス値に戻ります。
設定の使用法は図に示すとおりです。「abcdef」の「e」の位置を問い合わせます。
EW-指定された文字の最後のインデックス操作を取得します。
入力パラメータ:
inputstring: 入力文字列
value: 指定された文字
startindex: 開始するインデックス (空でも可)
出力パラメータ:
outputstringindex: インデックス位置の値を返します。
機能紹介: StringIndexOfActionと同様に後ろから前へ検索します。
設定の使用方法は図のとおりです。「abcdef」の「e」の位置を後ろから前に問い合わせます。
EW - 文字列の置換操作
入力パラメータ:
inputstring: 入力文字列
oldvalue: 置換される文字または文字列
newvalue: 新しい文字または文字列
出力パラメータ:
出力文字列: 置換後の新しい文字列を返します。
関数の紹介: 新しい文字列を返し、指定された文字または文字列を新しい文字または文字列に置き換えます。
構成の使用法は図に示すとおりです。文字列内の「Hello Zhang San」の「Zhang San」を「Li Si」に置き換えると、返される結果は「Hello Li Si」になります。
EW インターセプト文字列操作
入力パラメータ:
inputstring: 入力文字列
startindex: インターセプト開始インデックス位置
length: インターセプト長
出力パラメータ:
出力文字列: インターセプトされた文字列を返します
関数紹介: startindex から長さを求めたい文字列をインターセプトします。
構成の使用法は図に示すとおりです。文字列「abcdefg」のインデックス 1 から開始して、長さ 3 の文字がインターセプトされ、返される結果は「bcd」です。
EW - 計算操作
入力パラメータ:
inputstring:
Math.abs(4+(Math.PI-666 ))
Math は js のメソッドを採用しており、関数名は小文字、プロパティ名は大文字です。
出力パラメータ:
outvalue: 数値型の結果を出力します。
outstringvalue: 文字列型の結果を出力します。
機能紹介:入力された計算式に従って結果を計算します。
構成の使用法は次の図に示すとおりです。
EWデータのバッチ操作
入力パラメータ:
fetchxml: 必要なフェッチをクエリします。(動的条件を設定可能)
プロセス: 実行するワークフローまたはアクション。
機能紹介: fetchxmlクエリの記録結果に応じて、ワークフローやアクションを一括実行します。
構成の使用法は図に示すとおりです。 fetchxml に従って「テスト エンティティ B」をクエリし、結果セットに対して操作「テスト ワークフロー B」をバッチで実行します。
EW - 型変換操作
入力パラメータ:
inputstring: 変換する文字列 (ブール型に変換する必要がある場合、文字列は "1"、"0"、または "yes"、"no"、または "true"、"false" になります) type :
変換対象の型
(int、money、datetime、bool、10 進数、float)
出力パラメータ:
outputintvalue: 変換された整数の結果を返します。
Outputboolvalue: 変換後のブール型の結果を返します。
Outputmoneyvalue: 変換された通貨タイプの結果を返します。
Outputdatetimevalue: 変換された日付型の結果を返します。
OutputDecimalvalue: 変換された 10 進数型の結果を返します。
Outputfloatvalue: 変換された浮動小数点型の結果を返します。
機能紹介:入力文字列と変換対象の型に応じた変換結果を出力
構成の使用法は図に示すとおりです。文字列「yes」を bool 型に変換します。
EW - FetchXml クエリ結果に従って最初のデータを取得します
入力パラメータ:
fetchxml: 必要なフェッチをクエリします。(動的条件を設定可能)
出力パラメータ:
istruehavedata: データを含むかどうか。
returnjson: json 型のデータを返します
機能紹介: fetchXml クエリに従って json レコードを返し、 Json データに基づく EW 属性取得操作やEW 型変換操作と組み合わせて使用でき、クエリ内にレコードがあるかどうかの検証も可能です。
構成の使用法を図に示します。
fetchxml の内容は次のとおりです。
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="new_entitya">
<attribute name="new_entityaid" />
<attribute name="new_name" />
<attribute name="new_double" />
<attribute name="new_decimal" />
<attribute name="new_date" />
<order attribute="new_name" descending="false" />
<filter type="and">
<condition attribute="new_opportunityid" operator="not-null" />
</filter>
<link-entity name="opportunity" from="opportunityid" to="new_opportunityid" visible="false" link-type="outer" alias="a">
<attribute name="parentcontactid" />
</link-entity>
</entity>
</fetch>
返される結果は次のとおりです。
{“new_date”:“2021-12-28 21:00:00”,“new_entityaid”:“2172aa1f-825c-ec11-8df8-000c29a51af9”,“a.parentcontactid”:“a1da2624-1cf3-ea11-8db7-000c29998b06 ”,”a.parentcontactid_parentcontactidyominame”:”张三”,”new_double”:”2”,”new_decmal”:”2.0000000000”,”new_name”:”1”}
EW - ビジネスプロセスステップの設定
入力パラメータ:
processstagename: 設定する必要があるビジネス プロセス ステージの名前
entitylogicalname: エンティティの論理名
recordid: エンティティ レコード ID
process: エンティティに対応するビジネス プロセス
機能紹介: Dynamics365WorkflowTools の Set Process Stage と同様に、操作としてパッケージ化されており、使いやすくなっています。上記のパラメータを通じて、特定のレコードのビジネス プロセスを特定のステージに直接設定できます。
構成の使用法を図に示します。
効果は次の図に示すとおりです。
EW - 必須のロールアップ操作
入力パラメータ:
entitylogicalname: 要約エンティティの論理名
fieldname: 要約エンティティの要約フィールドの論理名
Recordid: 要約エンティティのレコード ID
機能の紹介: Dynamics365WorkflowTools の Force Calculate Rollup Field と同様に、使いやすさを考慮した操作としてパッケージ化されています。システム自体の集計フィールドは定期的であり、集計フィールドの変更の待ち時間が長すぎる場合がありますが、リアルタイムの集計が必要な場合は、この操作を使用できます。
構成の使用法は次の図に示すとおりです。