@aaron
עקרונית אני מכין json של מערך אובייקטים, השאיפה שלי ליצור קטלוג מוצרים.
בניתי את ה JSON אבל החברה שאני עובד איתה לא מספקת לי.
אבי 203
הפורום כעת לקריאה בלבד, לקריאה נוספת.
-
ממשק ליצירת PDF עם API -
לולאה שנתקעת ומדלגת פריטים -
לולאה שנתקעת ומדלגת פריטים@yossiz לא אתן לך על האחרונה לייק...

אבל עדין חסר לי.
אני מריץ את הלולאה על אובייקטים (anashim,dard) שנבנים בפונקצייה אחרת בפעולת ההורדה של הPDF.
ואז הפונקצייה הזו אמורה לעדכן במסד הנתונים לא באובייקט, למסד הנתונים קוראים tormim , card/וממה שכתבת נראה שהעדכון הוא באובייקט לא במסד הנתונים. אני טועה? או שמה שצבוע באדום זה ההדמייה שלך לשם מסד הנתונים
updateItemPrinted('card', card)), -
לולאה שנתקעת ומדלגת פריטים@yossiz אמר בלולאה שנתקעת ומדלגת פריטים:
table
חלישות הדעת!
רק להבין אבל מה זה table?
שם של מסד הנתונים? איפה שלחת את זה? -
לולאה שנתקעת ומדלגת פריטים@yossiz
אני מעדכן שני רשימות. אז אני שם את זה אחרי השני הם אכן ממתינים אחד לשני? אני חושב ששוב לא הבנתי.await Promise.all(dard.map(item => { return wixData.get('card', item._id) .then((item2) => { console.log(item2); item2.print = 'הודפס'; return wixData.update('card', item2).catch(err => err) }) .catch((err) => { const errorMsg = err; }); })) await Promise.all(anashim.map(item4 => { return wixData.get('tormim', item4._id) .then((item6) => { console.log(item6); item6.print = 'הודפס'; return wixData.update('tormim', item6).catch(err => err) }) .catch((err) => { const errorMsg = err; }); })) .then(() => { console.log("הסתיים"); }) -
לולאה שנתקעת ומדלגת פריטים@yossiz תודדהה.
אני לא משתמש עד שאבין...
רואה את ההבדל בכיתוב לא מבין לגמרי.למשל למה בפעם השניה הזו
Promise.all(anashim.map(item4 => {
למה לא הוספת await
וגם איפה למשל אני מבין שהסתימו שני התהליכים ורק לאחר מכן תכניס הודעה הסתיים סגור חלון וכדו'.אולי החטא הקדמון שלא הבנתי את מהות promise
אגב אולי זה באמת הבעיה שאם היה אחד שגיאה הוא עוצר את הכל.
-
לולאה שנתקעת ומדלגת פריטיםיש לי פונקצייה שאני מבצע עדכון הדפסה, אחרי שמדפיסים את כל הפריטים, אני עובר אחד אחד ומעדכן שהוא הודפס שלא יבוא בפעם הבאה להדפסה.
לא מצליח להבין למה הוא מעדכן לי חלק ונתקע, יש איזה דרך טובה. אני חייב עזרה, בניתי את זה כבר בארבע דרכים וכולן לא מוצלחות...
תודה רבהה. אני חייב בדחיפות לסדר את זה, יש לי יום התרמה במוצ"ש. ושוב תודה.export async function button108_click(event) { // sac = כמות של כל הפריטים if (sac>0) { let skip3=0, ms3; let hh3 =Number((sac/50).toFixed()); if (hh3>0) { ms3=Number((sac/50).toFixed()) +1 console.log((sac/50).toFixed()); let dd3=1 for (var i = 0; i < ms3; i++) { let results = await wixData.query("card").isNotEmpty("torem").ne("print","הודפס").skip(skip3).limit(50).find() let items = results.items; console.log(items); await items.map(obj => { console.log(obj); wixData.get("card", obj._id).then((item)=>{ item.print = "הודפס" return wixData.update("card", item) }) }) skip3 = skip3 +50 console.log(skip3); dd3=dd3+1 } } } Promise.all[( await anashim.map(item4 => { wixData.get('tormim', item4._id) .then((item6) => { console.log(item6); item6.print = "הודפס"; return wixData.update("tormim", item6); } ) .catch( (err) => { let errorMsg = err; } ); }) )] .then(()=>{ dard=undefined anashim=[] }) } -
ממשק ליצירת PDF עם APIמחפש המלצה על אתר ליצירת PDF עם התממשקות ב API
אני עובד היום עם זה
https://us1.pdfgeneratorapi.com/account/billing
יש 500 ראשונים חינם לחודש.
לא אכפת לי לשלם אבל בזה יש רק פונט אחד עברית לא משהו, וגם לא מוצא הגדרות API ברורות למיכל וכדו'.
אשמח לעיצה. -
ניהול של עדכון נתונים כשיש הרבה משתמשים@אבי-203 זה מה שחבר בWIX כתב לי
"אתה צריך למעשה מנגנון כפול שמנהל תורים (Queues) וולידציה כפולה לפני שהרכישה מתבצעת לוודא שהכרטיס לא נרכש, כמו במערכות למכירת כרטיסים
- למנוע שהשרת לא יציע את אותו כרטיס לשני אנשים
- לתת X זמן ללקוח כשהוא נמצא בעמוד ההזמנה הודעה שאומר (״הכרטיס זמין לך ל X זמן הקרוב״)
- רגע לפני הרכישה לעשות בדיקה שהכרטיס לא נרכש.
זה דורש לא מעט קוד מורכב תחפש בגוגל How to manage Promises into dynamic queue with vanilla JavaScript"
סוף ציטוט.
זה לא הכי יעזור לי כי אני לא יודע כמה כמות ירכוש כל אחד. ושוב לכאורה תהיה בעיה כמה לתפוס, ואם לא תופס את אותם המספרים, אם יש בו זמנית 10- 20 נציגים.
-
ניהול של עדכון נתונים כשיש הרבה משתמשים@dovid @yossiz איבדתי אתכם!
מה זה הדבר הזה??
מה שעשיתי זה בסוף התהליך בדיקה כמה יצא והאם זה תואם את מה שמגיע לו, ואם לא מריץ אותה מחדש עם עדכון כמות פחות מה שיצא.
הבעיה שאני גם מנסה לחבר אותם לשדה טקסט פשוטה, עם פסיק, ומשום מה אני לא מצליח לעכב את זה, זה חוזר לי ריק לדף, למרות שבמסד הנתונים זה נכתב טוב.
(אגב. לשם הבנת הקוד, זה בנוי שעל כל כרטיס שני מקבלים שלישי בונוס)זה בדף הצד לקוח
postData(truma).then((ms) => { $w('#html2').hide() $w('#text119').text = String(ms) $w('#repeater1').expand() $w("#dynamicDataset").refresh() $w('#dataset3').refresh() emails(truma, ms) } );וזה בצד אחורי
export async function postData(truma) { let carim = Number(truma.amount), bonusim =(Math.floor( truma.amount/2)) await tikun(truma,carim,bonusim).then((ms)=>{ wixData.get("tormim", truma._id) .then((item5) => { item5.ishur= true item5.status = "מאושר" item5.card1= ms wixData.update("tormim", item5) } ) .catch( (err) => { let errorMsg = err; } ); return ms; })export async function tikun(truma,carim,bonusim) { for (var i = 0; i <carim ; i++) { let results = await wixData.query("card").eq("sug", "הגרלה").ascending("ms").isEmpty("torem").isEmpty("toremim").limit(1).find() let item = results.items[0]; item.torem = truma._id; await wixData.update("card", item); await wixData.insertReference("tormim", "card", truma._id, results.items[0]._id) } for (var ii = 0; ii < bonusim ; ii++) { let results2 = await wixData.query("card").eq("sug", "בונוס").ascending("ms").isEmpty("torem").isEmpty("toremim").limit(1).find() let item2 = results2.items[0]; console.log(item2); item2.torem = truma._id await wixData.update("card", item2); await wixData.insertReference("tormim", "card", truma._id, results2.items[0]._id) } let ms; let cardragil = await wixData.query("card").eq("torem",truma._id ).eq("sug", "הגרלה").find() let cardbonus = await wixData.query("card").eq("torem",truma._id ).eq("sug", "בונוס").find() console.log(cardragil,cardbonus); if (cardragil.length===carim && cardbonus.length===bonusim) { let rels = await wixData.query("card").eq("torem",truma._id ).find() console.log(rels); await rels.items.map(obj => { if (ms===undefined ||ms===null ||!ms) { ms = obj.ms + "," }else{ ms += obj.ms + "," } }) return ms; }else{ carim =carim - cardragil.length, bonusim = bonusim -cardbonus.length await tikun(truma,carim,bonusim) console.log(2); } }בתכלס ערך ms חוזר אלי undefined
כנראה שהוא חוזר לפני הסיום כי במסד הנתונים זה נשמר טוב.אשמח כמובן להבין שיש פתרון פשוט יותר,
-
ניהול של עדכון נתונים כשיש הרבה משתמשים@אבי-203 תוך כדי שאני כותב עלה לי רעיון אולי בסוף התהליך לבדוק אם יצא לו לפי הכמות ואם לא להפעיל את הפונקצייה בחזרה, רק שאלה: אם אני באמצע פונקציה קורא שוב לפוקצייה עצמה היא עוצרת ומתחילה מחדש? כך.
let cardragil = await wixData.query("card").eq("torem",truma._id ).eq("sug", "הגרלה").find() let cardbonus = await wixData.query("card").eq("torem",truma._id ).eq("sug", "בונוס").find() console.log(cardragil,cardbonus); if (cardragil.length===truma.amount&&cardbonus.length===bonus) { return ms }else{ postData(truma) } -
ניהול של עדכון נתונים כשיש הרבה משתמשיםבניתי מערכת לרכישת כרטיסים, אני לא יכול לעשות שברכשיה יצור שורת כרטיס כי יש הרבה פרטים משתנים.
איך שיהיה כעת מיש לי טבלה עם 10 אלף פריטים שזה בעצם הכרטיסים, אני צריך לעדכן ולרשום לקוח שם אם קנה 2 להכניס אותו בשתי שורות, כלומר 2 כרטיסים.מלכתחילה פחדתי שאם יהיו בו זמנית אחד יקח לשני מספרים, אז נסיתי שהתהליך יהיה הכי קצר ומהיר. בניתי לולאה פשוטה כזו:
for (var i = 0; i < truma.amount ; i++) { let results = await wixData.query("card").eq("sug", "הגרלה").ascending("ms").isEmpty("torem").limit(1).find() let item = results.items[0]; item.torem = truma._id; await wixData.update("card", item); } וכו...מה שקואה שם יש מישהו שרוכש עשר לדוגמא ומיהו אחר באותה שניה קונה 4 למשל, אז השני לוקח חלק לראשון...
איך אני עוצר את זה.
תוןדה רבה -
קידום מכירה באתר באמצעות עדכון על רכישות כעת -
קידום מכירה באתר באמצעות עדכון על רכישות כעת -
קידום מכירה באתר באמצעות עדכון על רכישות כעת -
קידום מכירה באתר באמצעות עדכון על רכישות כעתבאתר מכירות עשיתי משהו שידרבן מכירות שמתריע שכעת נוסף לסל על ידי לקוח כלשהו מוצר פלוני.
היות שלא יודע אם תמיד יהיה באותו רגע, אז אני שומר את כל הרכישות האחרונות במסד נתונים ובניתי איזה לולאה אקראית שתוציא בזמן לא אחיד איזה הוספה לסל אקראית ותציג שנוספה כעת.
עובד נהדר.
רק החשש שלי שקוד כזה גורם לעומס על האתר.
אשמח לדעתם. או שיש המלצה אחרת. או לשפר את הקוד.let countdown = setInterval(function () { var time = Math.floor((Math.random() * 200000) + 20000); setTimeout(function () { let sisma = Math.floor((Math.random() * 12) + 1); console.log(sisma); wixData.query("sales").limit(1).skip(sisma).find().then((results) => { console.log(results); let muzar =[results.items[0].muzar] $w('#repeater16').data= muzar; $w("#repeater16").onItemReady( ($item, itemData, index) => { $item("#text376").text = itemData.muzar; $item("#image32").src = itemData.imeg; $item('#container152').onClick((event) => { wixLocation.to("/items/" + itemData.mkt); } ) }); $w('#container152').show() setTimeout(function () { $w('#container152').hide() }, 8000); }) // } ); }, time); }, 5000); -
אולי זו עיצה טובה למחפש את דרכו בעולם פיתוח אתרים.@nigun דברי טעם.
אני לא חושב שיש מישהו שיכול לקום ולהצהיר שיש לו כזה דבר זמן פנוי...
ועדין אני מניח שכל פלטפורמה תעשה גם צעדים להדביק את הקצב.במקום לשרוף אלפי שעות, ואז לבדוק ולגלות, מן הנכון שאזובי הקיר ישמעו ממומחים כמוכם שרואים מלמעלה, האם באמת למי שעובד מ-0 כתיבה מלאה מHTML וכו'
האם העבודה מהירה יותר?
האם המחיר שניתן לגבות גבוה יותר?
האם היכולת גבוהה יותר, ביחס לדרישות השוק?
האם ברוב העבודות צריך את היכולות הנוספות הללו?
ובפועל מה לעומת מה זמן הלמידה או הריווח מהיכולות הנוספות? -
אולי זו עיצה טובה למחפש את דרכו בעולם פיתוח אתרים.@odeddvir בשביל לבנות אתר בסטנדרט, ברוחו של @dovid . צריך ללמוד HTML וCSS וכמובן JS ו SQL וכו' וכו' כל כך הרבה.
המעלה ב- WIX שפשוט לא צריך לדעת כלום. (יתרון: גרפיקאים או בעלי חוש עיצובי.. ) אם רוצים להתפתח נעזרים ב JS ויש להם מדריכים בלי סוף. וכמובן תחומים..
אני כבר 4 שנים עם לקוחות, כל מה שקרה ואמרתי שאני לא יכול, היום זה אפשרי ועשיתי, אפילו הנפקת pdf ברקודים דיאגרמות, API עם כל דבר, מודולים, רק השבוע קרה לי שנרתעתי מפרוייקט לבנות אתר עם אפשרות עיצוב תמונות עריכה סוג של פוטושופ אינטרנטי. ועדין לא בדקתי רק בשמיעה ראשונית נשמע לי מורכב.וחוץ מהמקרה הזה, ביחס לשוק יש לי את כל הכלים להציע. לכל לקוח לכל עבודה.
אז השאלה היא כמה אני צריך לאבד זמן לימוד ועבודה, ביחס לכמה עבודות אני אפסיד.
הנקודה שהיה חסרון דרמטי עם המהירות, ואת זה באתי לבשר שהוא כבר אינו.
אני משוכנע שאני יכול לקחת כל אדם עם אינטואיציה בסיסית ובחצי שעה-שעה אני מלמד אותו את יסודות המערכת. והוא למחרת מגיש הצעות מחיר של עסקאות ב-10 אלף.וכמובן גם אני מצטרך כמוכה (כ"ף דגושה) מ@dovid שאומר גדל וגם משקה..
-
אולי זו עיצה טובה למחפש את דרכו בעולם פיתוח אתרים.@dovid ניסוח מדויק!
רק מניח שרוב הבוחרים בדרך הזו, בסבירות גבוהה כשיגיעו לחסם הראשון יגלו ש-WIX (חברה מצליחה לא קטנה...) פרצו אותו לפני שהגיע אליו.
במהלך השנים אלפי! דברים שבעבר לא יכולתי לעשות אפשריים כיום.
אני לא אומר שאני לא נתקל בחסמים בתחום css וגם בפונקציות כל שהם.
אבל בכל זאת הקצב שם מהיר, היום אפשר להוסיף מודולים וכוכו'.
אני נזכר שאחד ממנהלי המוצר שם אמר לי מפורש שזה היעד שלהם שמפתחים יעבדו שם. אז סביר להניח שאם זו המגמה הם יעשו הכל לאפשר אותה.
