ポータルからカスタムテーブルの予約を構成する方法<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } ポータルからの予約 予約プラグインをインストール (ID:com.snc.appointment_booking) ステップ #1:カタログアイテム 予約はタスク拡張テーブルでサポートされています。タスクレコードは、予約レコードの前に作成する必要があります。タスクレコードはレコードプロデューサーによって作成されます。 任意のレコードプロデューサーを使用するか、新しいレコードプロデューサーを作成できます。(参照:カタログ情報:>カタログアイテム) タスクレコードの生成に適切な変数を使用していることを確認してください。 このカタログアイテムは、ステップ #3 で予約サービス設定を作成するときに使用することに注意してください。 カタログアイテム内の予約ウィジェットを取得するには、 「sn_appointment_variable_set」 を変数セットとして追加します。 ステップ #2:(予約構成の作成) [予約]-> [予約設定] に移動します。 [新規] ボタンをクリックし、次の構成を作成します。 (この例では CHANGE REQUEST テーブルを使用しています。) 「可用性メソッド」は、スロットを決定する方法を表します。 これには 2 つの選択肢があります。 1.Number of appointments per slot (スロットあたりの予約数) 2.スクリプト化 (スクリプト化されたメソッドがこの形式で JSON を返すことを確認してください。) { "success": true, "data": [ { "start_date": "2020-12-17 13:00:00", "end_date": "2020-12-17 15:00:00", "start_date_display": "13:00", "end_date_display": "15:00", "start_dateUTC": "2020-12-17 21:00:00", "end_dateUTC": "2020-12-17 23:00:00", "available": false }, { "start_date": "2020-12-17 15:00:00", "end_date": "2020-12-17 17:00:00", "start_date_display": "15:00", "end_date_display": "17:00", "start_dateUTC": "2020-12-17 23:00:00", "end_dateUTC": "2020-12-18 01:00:00", "available": true }, ], "hasMore": false, "noApptAvailable": false, "timeZone": "America/Los_Angeles", "timeZoneDisplayValue": "America/Los_Angeles", "errorCode": "", "msgType": "success" } ステップ #3:(予約サービス構成の作成) 上記の構成から、[新規] ボタンをクリックします。 次に示すような内容をフォームに入力します。 ステップ #1 で説明したカタログアイテムがここに入力されていることに注意してください。 ステップ #4: [ユーザー連絡先] フィールドの変数を作成する。 ステップ #3 で、[要求者] を [ユーザー連絡先] に設定しています。これは、予約を誰が要求したかを示します。 この変数は、タスクテーブルによって変更される可能性があります。 変更要求の場合は、フィールドを次のように設定します。 タイプ:参照 カタログアイテム :(#3 – changeRequestCatalog で指定) 必須:true アクティブ:true 質問:要求者 名前:requested_by 参照:ユーザー [sys_user] ユーザー参照修飾子:シンプル これは、インシデントテーブルの場合は「caller_id」、wm_orderテーブルの場合は「caller」などに変更される可能性があります。これはビジネス要件によって異なります。また、このためにサポートされているのはsys_user参照列のみであることもご注意ください。 ステップ #5: レコードプロデューサーに移動し、[Tryout/Preview item (トライアウト/プレビューアイテム)] をクリックします。 送信すると、新しい変更要求レコードが作成されます。 [予約 (sn_apptmnt_booking_appointment_booking)] テーブルで新しいレコードを取得するには、レコードプロデューサーにリストされているタスクテーブルの挿入時に、前のビジネスルールにスクリプトを追加する必要があります。 ここでは、変更要求テーブルの挿入に関するビジネスルール前のルールになります。このスクリプトには、新しい予約レコードを作成するためのコードが含まれている必要があります。 たとえば、予約レコードを作成するだけで、要件に基づいてコードをカスタマイズし、追加の可用性チェックを行う以下のスクリプトを使用できます。 var sn_appointment = current.variables.sn_appointment;var helper = new sn_apptmnt_booking。AppointmentBooking_Factory().getWrapperType(sn_apptmnt_booking.AppointmentBookingConstants.APPOINTMENT_BOOKING_IMPL);var sn_appointmentJSON = JSON.parse(sn_appointment);予約の作成 var appointmentId = helper.submitAppointmentFromPortal(sn_appointment, current, sn_appointmentJSON.config.opened_for, sn_appointmentJSON.config.location, current.short_description); また、ビジネスルールの代わりにフローデザイナーを使用することもできます。詳細については、「wm_order」テーブルの「予約の作成」ビジネスルールを確認してください。 ビジネスルール/フローが正常に追加されると、予約レコードが作成されます。