マクロは、メンテナンスを容易にするためのもので、オプションです。
その他として、
■誤制約を防止する
■制約設計者から、使用者への使い方説明
等の機能があります。
マクロ機能
数値の置き換え
下は、列制約の最大・最小値をマクロで置き換えている例です。
ユーザが定義した値(D)に置き換えています。
式の値の置き換え
ユーザが定義した式の値(G)に置き換えています。「式の値を適用」にチェックを入れると、式の値(G)が採用されます。
チェックを外すと(D)の値が採用されます。
スプレッドシート機能
黄色の部分がスプレッドシート計算機能部になります。
Excelライクな記法ですが、Excel互換ではなく独自のものです。詳細は、以下のAPIを参照ください。
Formula Support in Windows Forms Grid Control | Syncfusion
スケジュールナースで独自に実装している関数
C(Day集合アドレス)、C(グループ集合アドレス)は、独自に実装している関数です。
Cは、Countを指し、当該集合の要素をカウントします。
次の例では、「今月土日」の数を数えて、それを公休数としています。
「夜勤可能者」の数を数えています。
「今月」の日数を数えています。
一人あたりの夜勤回数を切り捨て、それを夜勤回数最小値としています。
最小値+1を最大値としています。
浮動小数
浮動小数の置き換えは、専用の制約タイプ(行浮動小数・列浮動小数)を使用してください。
その他の制約タイプは、全て整数を前提としています。浮動小数は、扱えないので注意してください。
(例えば、32.75という値出力を期待しているところで、行制約タイプを使用すると、0として演算結果が出力されてしまいます。)
制約先で、マウス中ボタンを押すことで、値の確認を行ってください。
内部用アサート
アサートは、プログラミング言語でのアサートに近い動きをします。本来の動作をチェックするための機構になります。
アサート条件は、>=0です。下の場合、深夜夜勤回数の最大ー最小≧0をアサートしています。
しかし、設定者が間違って、最大・最小を逆に設定しているために、-1となりアサートエラーが生じています。この結果、設定することが出来ません。エラー時、アサートエラーのダイアログは、コメントをそのまま出す仕様です。
説明用html
説明用htmlファイルが既に作成済みの場合にはそれを「Htmlファイル」で、ファイル指定します。 Textボックスにhtmlの中身を貼り付け、htmlファイルパス(オレンジ部)を全部クリアして設定ボタンを押して保存すると、次回ロード時、プロジェクト名.htmlファイルが、プロジェクトファイルと同じフォルダに生成されます。 そのパスが、htmlファイルパスに入ります。