2012-03-12 16 views
2

必要なロジックを実行するために、リソース作業時間を取得しようとしています。私は、CRMスケジューリングエンジンは、そのようなものの周りに少しclunkyですが、私は最終的に労働時間がDBに格納されていた方法を見つけることができると思った... ...CRM 2011 - プログラムによる勤務時間の設定/取得

リソースは、これらのカレンダーには、カレンダールールや内部カレンダーなどが関連付けられています。前述のカレンダールールの開始日と終了日および頻度を見て、指定した期間にリソースが「働いている」かどうかを調べることができます。しかし、私は実際の勤務時間を見つけることができませんでした。私たちはDB内のどの分野でも9-5と言います。

UIを介してリソースの新しいスケジュールを作成しているうちに、SQLプロファイリングを試したこともありますが、結果にはSQLに渡す勤務時間は表示されません。忍耐とのそれらのための傍受SQL文は以下の通りです: -

EXEC Sp_executesql 
    N'update [CalendarRuleBase] set [ModifiedBy][email protected], [EffectiveIntervalEnd][email protected], [Description][email protected], [ModifiedOn][email protected], [GroupDesignator][email protected], [IsSelected][email protected], [InnerCalendarId][email protected], [TimeZoneCode][email protected], [CalendarId][email protected], [IsVaried][email protected], [Rank][email protected], [ModifiedOnBehalfBy]=NULL, [Duration][email protected], [StartTime][email protected], [Pattern][email protected] where ([CalendarRuleId] = @CalendarRuleId0)', 
    N'@ModifiedBy0 uniqueidentifier,@EffectiveIntervalEnd0 datetime,@Description0 ntext,@ModifiedOn0 datetime,@GroupDesignator0 ntext,@IsSelected0 bit,@InnerCalendarId0 uniqueidentifier,@TimeZoneCode0 int,@CalendarId0 uniqueidentifier,@IsVaried0 bit,@Rank0 int,@Duration0 int,@StartTime0 datetime,@Pattern0 ntext,@CalendarRuleId0 uniqueidentifier', 
    @ModifiedBy0='EB04662A-5B38-E111-9889-00155D79A113', 
    @EffectiveIntervalEnd0='2012-01-13 00:00:00', 
    @Description0=N'Weekly Single Rule', 
    @ModifiedOn0='2012-03-12 16:02:08', 
    @GroupDesignator0=N'FC5769FC-4DE9-445d-8F4E-6E9869E60857', 
    @IsSelected0=1, 
    @InnerCalendarId0='3C806E79-7A49-4E8D-B97E-5ED26700EB14', 
    @TimeZoneCode0=85, 
    @CalendarId0='E48B1ABF-329F-425F-85DA-3FFCBB77F885', 
    @IsVaried0=0, 
    @Rank0=2, 
    @Duration0=1440, 
    @StartTime0='2000-01-01 00:00:00', 
    @Pattern0=N'FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA', 
    @CalendarRuleId0='0A00DFCF-7D0A-4EE3-91B3-DADFCC33781D' 

文のキーパーツ

は、パターンの設定です: -

@Pattern0=N'FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA' 

しかし、上述したように、の兆候ありません作業時間が設定されます。

私はこれについて間違って考えているのですか、CRMはこれらの勤務時間内に面白いことをしていますか?

ご意見ありがとうございます、ありがとうございます。

答えて

1

CalendarRuleBaseテーブルを見ると、トレースに収集したデータが記録されているはずです。ほぼ同じ時刻に作成された別のレコードも表示され、トレースのデータのInnerCalendarIdに等しいCalendarIdが表示されます。このレコードには、Offsetという値があり、開始時刻の深夜0分を表します。もう1つの値があります。継続時間は、シフトの分数のように見えます。

私は8-5から勤務時間を作成しました。私のオフセットは480時間(480/60 = 8)午前8時で、9時間シフトでは540(540/60 = 9)時間でした。

+0

ありがとう@jasonlattimer私はこのことを明日見て、私がどのように乗っているかを教えてあげます。 –

関連する問題