SALESFORCE勤務表の時間入力スクリプト自動化~javascript
❖ 背景
働き方改革で勤務時間が制限され、残業は減ったが、
単位時間当たりの労働量が増加した
なんてことを耳にします。
残業が制限されたことで、毎月の残業時間が制限されることも..
Salesforceの場合、当月の残業時間の可視化をするためには、勤務表に見込み時間を入力しておく必要があったりします。
が、ポチポチ決まった時間を入力するのが面倒だったりもします。
少しでも日ごろの単純作業を自動化したいと思い、
Web勤務表(SALESFORCE)の自動打刻スクリプトを作成しました。
❖ 前提条件
ブラウザ(Chrome)と少しJavascriptの知識があればOKです!
対象として、teamspilitの勤怠管理を想定しています。
https://appexchangejp.salesforce.com/appxListingDetail?listingId=a0N30000003J6KhEAK
❖ できること
- Salesforceを使った勤務表打刻の自動化(固定時間の入力)
- 当月分の勤務予定時間をあらかじめ自動的に埋めておくことができる
❖ スクリプト(javascript
)
以下より取得(コピー)してください。
❖ 使い方
- 対象者
- salesforce(https://login.salesforce.com/)でWeb勤務表を利用している人
- 利用方法
- salesforceにログインし、勤務表ページを開く
- ブラウザの開発者ツール > コンソールを開き、コピーしたスクリプトを全量を張り付ける
- 個人設定変数
config
を編集する(編集方法は以下の通り) - Enter! で実行
変数 | デフォルト | 説明 |
---|---|---|
startDD | 14 | 日: 入力を開始したい日付 |
endDD | 31 | 31日までを入力候補とします。30日までしかない月も31日で問題ありません。 |
sleepTime | 3000 | 遷移の待ち時間(ミリ秒): 3秒推奨。3秒あれば各トラン処理が終了する想定 |
resetFlg | false | 入力項目をリセットするかどうか true/false trueを設定すると、 startDD からendDD までの日付に入力されている時間をリセットします。誤って全部入力してしてしまった際に重宝。 |
defaultStartTime | "09:30" | 設定したい勤務開始時刻 |
defaultEndTime | "20:00" | 設定したい勤務終了時刻 |
- その他
- 実行後、ブラウザをリロード(F5)することで処理を中断することができます
- タグ名から要素を取得しているので、変更があった場合は正しく動きません(2019/08/23現在は大丈夫そうです)
- 勤務表画面以外では実行しないでください。
- 値が正しく入力されているかは自己責任でお願いします
~~ あとがき
- お手軽に ブラウザ(
chrome
) +javascript
でWebスクレイピングする方法の糸口として勉強になりました。- ただ、画面遷移を伴う処理はこの方法では不可能..
- async/await の理解も進みました
- 要素のクリックを伴うのでSleep処理は必要だと実感
ご参考になれば幸いです。