マクロは、メンテナンスを容易にするためのもので、オプションです。
その他として、

■誤制約を防止する
■制約設計者から、使用者への使い方説明

等の機能があります。

マクロ機能

数値の置き換え

下は、列制約の最大・最小値をマクロで置き換えている例です。



ユーザが定義した値(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ファイルパスに入ります。