データベースに保存するオブジェクトがいくつかありますが、スクリプトが実行されるたびに一意である必要があります。これらのオブジェクトは、アプリケーションのインスタンスごとに値を変更するだけです。問題は、最初のオブジェクトを作成すると、その後スクリプトが実行されるたびに、さらに多くのコピーが作成されることです。同じオブジェクトをもう一度使用しようとしましたが、クエリを実行すると、以前の実行からオブジェクトが取得され、間違った値が返されます。同じオブジェクトをデフォルト値にリセットし、ScriptDbに不要なコピーを多く含まないようにしたいだけです。
ここにいくつかのコードがあります:
// Get a database instance
var database = getDb();
// Create a new employee instance
var myEmployee = {
element: "currentEmployee",
firstName: "",
lastName: "",
ID: 0,
manager: "",
managerEmail: "",
department: "1 - University Store",
startDate: "",
endDate: "",
regularHours: 0,
vacationHours: 0,
sickHours: 0,
personalHours: 0,
H2Hours: 0,
overtimeHours: 0,
totalHours: 0,
rowLocation: 0,
salaryType: "H",
};
var week1 = {
// Identify the week and for query purposes
element: "Week1",
// User entries
HW: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
VH: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
SH: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
PH: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
TH: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
// Calculated totals
TotalHW:0, TotalVH: 0, TotalSH: 0, TotalPH: 0, TotalHours: 0,
// Week totals
Vacation: 0, Sick: 0, Personal: 0, H2: 0, OT: 0, Regular: 0,
}
var week2 = {
// Identify the week and for query purposes
element: "Week2",
// User entries
HW: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
VH: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
SH: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
PH: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
TH: {THUR: 0, FRI: 0, SAT: 0, SUN: 0, MON: 0, TUES: 0, WED: 0},
// Calculated totals
TotalHW:0, TotalVH: 0, TotalSH: 0, TotalPH: 0, TotalHours: 0,
// Week totals
Vacation: 0, Sick: 0, Personal: 0, H2: 0, OT: 0, Regular: 0,
}
// Save these to the database
database.save(myEmployee);
database.save(week1);
database.save(week2);
次に、ステートメントScriptDb.getMyDb.query({element: element}).next()
を使用してオブジェクトを取得します。「currentEmployee」、「Week1」、または「Week2」を含む文字列要素。