2

SharePoint MOSS 2007 で、ドキュメント ライブラリに適用するカスタム コンテンツ タイプを作成しました。必須フィールドの 1 つは「受信日」で、もう 1 つは「期日」です。

期日は、常に受信日から 10 営業日です。受信日は、郵便室が手紙を受け取った日であり、必ずしも文書が図書館に投稿された日ではありません。

ここから: http://msdn.microsoft.com/en-us/library/bb862071.aspx

=DATE(YEAR([Incoming Date]),MONTH([Incoming Date]),DAY([Incoming Date])+10)

10日追加されますが、どうすれば10営業日追加できますか? 共有ポイントのロールアウトのガバナンス計画に従っても、VS.NET の贅沢はありません。

人間がデータ入力の責任を負っていると仮定しますが、人間にとってより簡単にしたいと考えています。

4

4 に答える 4

4

非常に具体的な「10 日」の要件にはやり過ぎですが、これは開始日からの任意の日数の期日を計算する必要があります。

Excel の WORKDAY 関数の結果と一致するように書きました (計算フィールド内のすべての関数が Excel 関数であることを考えると、これはほとんど問題になるはずです)。1 ~ 146 の「完了するまでの日数」、曜日ごと、および年をまたいでテストされ、矛盾の兆候はありません。Excel からコピーしてタイプミスをしない限り、宣伝どおりに動作するはずです。唯一の欠点は、休日がないことですが、ユーザーが SharePoint に慣れている場合は、いずれにせよ期待することはありません。まったく。いかなる種類の。何でも。または希望。または、笑顔の原因となった顔の筋肉。または、子供を見て、枯れ死の暗い確実性以外のものを見る能力。したがって、彼らの仕事がクリスマスに期限切れになっても大したことではありません。また、おそらく必要以上にずさんです。

=[Start Date]+[Days to Complete] 
+ ROUNDDOWN([Days to Complete]/5,0)*2 
+ IF(WEEKDAY([Start Date])+MOD([Days to Complete],5)>=7,2,0)
- ROUNDDOWN(WEEKDAY([Start Date])/7,0) 
+ IF(AND(MOD([Days to Complete],5)=0,WEEKDAY([Start Date])=1),-2,0)  
+ IF(AND(MOD([Days to Complete],5)=0,WEEKDAY([Start Date])=7),-2,0)  

最初の行は...明らかです。2 行目は週末を追加します。次の 4 行は、2 行目の不足分を調整します。

于 2013-04-24T15:50:42.447 に答える
2

最初に、あなたがその式を一生懸命に作っていることを指摘しておく必要があります。これは同じことをします.

=[受信日] + 10

コメントから、10 営業日 (MF) には常に 2 つの週末があることがわかったので、これを使用できます。

=[受信日] + 14

しかし、これはまだ休日を考慮していません

ワークフロー内のカスタム コードや、場合によってはJavaScript の「ハック」と地域の休日のデータベースがなければ、これを行うことはできません。

可能性の 1 つは、レコードが作成された時点で、期日をデフォルトで 10 営業日後に設定することです。

=今日+14

その期間に休日がある場合は、この日付を手動で変更するようにユーザーに依頼してください。

詳細については、私が書いたばかりのブログ エントリ - SharePoint 計算列の稼働日、週末、および休日を参照してください。

于 2008-11-21T15:23:52.547 に答える
0

おそらく、ワークフロー (おそらくカスタム ワークフロー) を使用して期日を管理することで、この制限を回避できますか? 期日は、とにかく誰かに割り当てられるべき実行可能な項目であることを意味します。

VS.NET は贅沢品である必要はありません。無料で使用できます。

于 2008-11-20T19:59:29.510 に答える