אשמח לעזרה.
אני בונה חנות, ובעמוד סל הקניות בשלב הסופי של בחירת התשלום, סידרתי את זה כך:
אני יוצר הזמנה חדשה במסד נתונים, לאחר מכן אני אני מכניס את כל המוצרים ששמורים עד כה רק ב-local, לתוך מסד נתונים של סל קניות, כל מוצר לסל עם כל הפרטים שלו כמות ומחיר וסך, ואח"כ אני מכניס את כל הפריטים שמסד נתונים סל, לתוך הפריט של ההזמנה שנכנסה.
אני מבין שצריך את החלוקה הזו, בכדי שיהיה שבסל אוכל לפרט על פרטי הפריט, ובהזמנה לרשום את פרטי התשלום וההזמנה.
הבעיה שלמרות שאני מבצע רירפש אחרי יצירת ההזמנה, המוצרים שנכנסו לסל לא נרשמים על ההזמנה החדשה שנוצרה כעת, אלא על ההזמנה האחרונה שבוצעה לפניה. כלומר הפעולה של ההכנסה כנראה מקדימה את התהליך של משיכת הID של ההזמנה החדשה שנוצרה כעת.
אשמח לעזרה.
export function button17_click(event, $w) {
let mistames = $w("#dataset4").getCurrentItem()._id;
let scum = $w('#input15').value
let toInsert = {
"lakoh": mistames,
"mehir": scum,
"hazmana": ($w("#dataset3").getTotalCount()) + 1001,
};
wixData.insert("hazmanot", toInsert)
.then((results) => {
$w("#dataset3").refresh()
let item = results;
let idhazmana = results.id
$w('#group1').show()
})
$w("#dataset3").refresh()
.then(() => {
$w("#repeater99").forEachItem(($item, itemData, index) => {
let id = itemData._id
let muzar = itemData.muzar
let camut = Number($item('#input4').value)
let mehir = Number(itemData.mehir)
let sac2 = mehir * camut
let toInsert2 = {
"lakoh": mistames,
"muzarim": id,
"camut": camut,
"title": muzar,
"sach": sac2
};
wixData.insert("sal", toInsert2)
.then((results) => {
$w('#dataset1').refresh()
let item = results
let id2 = item._id
console.log(id2);
let idhazmana = $w("#dataset3").getCurrentItem()._id;
wixData.insertReference("hazmanot", "muzarim", idhazmana, [id2])
.catch((error) => {
console.log(error);
});
})
.catch((err) => {
console.log(err);
});
})
})