128で、複数のExcelシートに同時に出力できるようにしました。
一番上は、通常の出力で、2番目は、Formatted出力となります。
何が違うかというと、Excelに書いてあるスタッフのところにのみ、データが書かれます。
スタッフ名は、順不同でOKです。解として求めていないスタッフ名があってもよいです。その場合は無視されるだけです。
また、GUI内では、空白等Trimしていますが、長谷川 孝幸 等、空白があってもOKです。
また、色も白黒とすることができます。また、予定制約でハード制約として入力している部分は赤にすることもできます。また、日等 特定のラベルを出力しないことも出来ます。
要するに、元の勤務表に直接出力することを狙っています。
もう一つの機能は、行制約についてのみですが、制約名を書くと、その結果を出力できます。
2番目の画像で、右側3ブロックは、実は同じ項目名なのですが、意図的にずらしています。
最初のブロックは、今月解出力になります。(スタッフ名という項目と同じ行)
SC3GUIと同じ行制約名を発見したので、その下の結果の数字は、SC3が書いているわけです。
2番目3番目のブロックは、先月までの累計と、今月を含めた累計で、同じ項目名なのですが、同じ行に書いてしまうと、SC3がそこに結果を書いてしまい折角の累計が消失してしまうというバグの回避のために、意図的に行をずらしています。
こういう形でExcelで累計処理し、「今月は累計数が少ない部分により多く割り当てる」、という処理をPythonで、動的に書いています。月内ではなく、年度内平準化のためには、どうしても年度内累計処理を行う必要がありました。
この行制約出力機能は、急遽つけました。最初は、Excelでsumif..で書いていたのですが、どうにも複雑で、書いてられない、ということに気付きました。実際、Day集合を簡単に指定できるのでExcelで書く手間よりも、遥かに少ない時間でできました。SC3のC#コード追加変更時間を含めても、少なかった位です。
0 件のコメント:
コメントを投稿