דילוג לתוכן

תכנות

5.0k נושאים 41.1k פוסטים

קטגוריות משנה


  • 22 נושאים
    137 פוסטים
    katzK
    שלום לכולם התבקשתי רבות מחברים פיתרון לבעיה הידועה לבצע מיזוג דואר, אך לשמור קובץ PDF נפרד לכל רשומה, עם שם מותאם אישית. אפרט כאן במדריך שלב אחר שלב איך לבצע זאת, תהיו איתי עד הסוף מקווה שתהנו... נתחיל... שלב א: ראשית בקובץ ה- Excel של רשימת הנמענים, הוסיפו לטבלת הנתונים ארבעה עמודות בשמות כדלהלן (חשוב שהשמות יהיו מדויקים ללא רווחים מיותרים - לתשומת ליבכם): DocFolderPath DocFileName PdfFolderPath PdfFileName שלב ב: צרו שתי תיקיות נפרדות, אחד לקבצי הפלט בפורמט docx, ואחד לקבצי הקלט בפורמט pdf, העתיקו את נתיב התיקייה של קבצי ה- docx והדביקו אותם עבור כל רשומה בשדה שיצרתם בשם DocFolderPath, לאחמ"כ חזרו על הפעולה והפעם העתיקו את נתיב התיקייה של קובצי ה- PDF והדביקו בשדה PdfFolderPath. בשדה DocFileName כתבו את השם של הקובץ עבור הרשומה - ניתן להשתמש בנוסחאות, כמו"כ בשדה PdfFileName כתבו את שם הקובץ כנ"ל. שלב ג: פתחו את קובץ ה- word והשלימו את פעולת המיזוג כרגיל, עצבו את המסמך כרצונכם. שלב ד: פתחו את לשונית מפתחים בקובץ ה- word פתחו את עורך הקוד הוסיפו מודל חדש מצו"ב צילום מסך: [image: 1662883665514-3eb2538f-9ab1-41eb-a1df-452212916da6-image.png] הדביקו את הקוד הבא: Sub MailMergeToPdfBasic() ' Mark the start of the Subroutine (i.e. Macro) and name it "MailMergeToPdf" ' Macro created by Imnoss Ltd ' Please share freely while retaining attribution ' Last Updated 2021-05-03 Dim masterDoc As Document, singleDoc As Document, lastRecordNum As Long ' Create variables ("Post-it Notes") for later use Set masterDoc = ActiveDocument ' Identify the ActiveDocument (foremost doc when Macro run) as "masterDoc" masterDoc.MailMerge.DataSource.ActiveRecord = wdLastRecord ' jump to the last active record (active = ticked in edit recipients) lastRecordNum = masterDoc.MailMerge.DataSource.ActiveRecord ' retrieve the record number of the last active record so we know when to stop masterDoc.MailMerge.DataSource.ActiveRecord = wdFirstRecord ' jump to the first active record (active = ticked in edit recipients) Do While lastRecordNum > 0 ' create a loop, lastRecordNum is used to end the loop by setting to zero (see below) masterDoc.MailMerge.Destination = wdSendToNewDocument ' Identify that we are creating a word docx (and no e.g. an email) masterDoc.MailMerge.DataSource.FirstRecord = masterDoc.MailMerge.DataSource.ActiveRecord ' Limit the selection to just one document by setting the start ... masterDoc.MailMerge.DataSource.LastRecord = masterDoc.MailMerge.DataSource.ActiveRecord ' ... and end points to the active record masterDoc.MailMerge.Execute False ' run the MailMerge based on the above settings (i.e. for one record) Set singleDoc = ActiveDocument ' Identify the ActiveDocument (foremost doc after running the MailMerge) as "singleDoc" singleDoc.SaveAs2 _ FileName:=masterDoc.MailMerge.DataSource.DataFields("DocFolderPath").Value & Application.PathSeparator & _ masterDoc.MailMerge.DataSource.DataFields("DocFileName").Value & ".docx", _ FileFormat:=wdFormatXMLDocument ' Save "singleDoc" as a word docx with the details provided in the DocFolderPath and DocFileName fields in the MailMerge data singleDoc.ExportAsFixedFormat _ OutputFileName:=masterDoc.MailMerge.DataSource.DataFields("PdfFolderPath").Value & Application.PathSeparator & _ masterDoc.MailMerge.DataSource.DataFields("PdfFileName").Value & ".pdf", _ ExportFormat:=wdExportFormatPDF ' Export "singleDoc" as a PDF with the details provided in the PdfFolderPath and PdfFileName fields in the MailMerge data singleDoc.Close False ' Close "singleDoc", the variable "singleDoc" can now be used for the next record when created If masterDoc.MailMerge.DataSource.ActiveRecord >= lastRecordNum Then ' test if we have just created a document for the last record lastRecordNum = 0 ' if so we set lastRecordNum to zero to indicate that the loop should end Else masterDoc.MailMerge.DataSource.ActiveRecord = wdNextRecord ' otherwise go to the next active record End If Loop ' loop back to the Do start End Sub ' Mark the end of the Subroutine שלב ה וסיום: סגרו את עורך הקוד. לחצו על כפתור פקודות מאקרו שבכרטיסיית מפתחים, בחרו את המאקרו בשם MailMergeToPdfBasic ולחצו הפעל מצו"ב צילום מסך [image: 1662883849719-3890ce69-c0e9-4f30-89ce-3e97b7de750b-image.png] כעת שבו בנחת והמתינו עד ליצירת כל הקבצים, להנאתכם תפתחו את תיקיות הפלט שיצרתם וגלו שהיא מלאה קבצים קובץ לכל רשומה בשם המתאים שהגדרתם לה. מקור
  • ארכיון האתר הקודם והחביב קוד-613

    1k 10k
    1k נושאים
    10k פוסטים
    chagoldC
    @אבי אמר בשוב, צילומי הצ'קים בבנקים: התעסקתי לאחרונה עם סורקים של חברת MAGTEK, הם ידידותיים ונוחים להתממשקות, אבל כמדומני שהבנקים בישראל מוכנים לקבל סריקות רק מסורקים של חברת PANINI @אבי איך יוצרים אתך קשר?
  • 31 133
    31 נושאים
    133 פוסטים
    Y.Excel.AccessY
    יש כמה נוסחאות חדשות שממש משנות את כללי המשחק בגוגל שיטס: CHOOSECOLS לבחירת עמודות ממערך CHOOSEROWS לבחירת שורות ממערך WRAPROWS להמרת מערך חד ממדי לרב ממדי - פריסה לשורות WRAPCOLS כנ"ל - פריסה לעמודות HSTACK ו VSTACK - הפעולה של {} אך בלי סוגריים - לא משמעותי לכאורה והעולה על כולנה, סוף סוף: LET - ליצירת משתנים. כל אלו מצטרפות לפונקציות שנוספו מוקדם יותר - https://blog.sheetgo.com/google-sheets-formulas/10-new-google-sheets-functions/ וכלול בתוכם - LAMBDA, MAP (חלקי - לא עובד לקנן ב MAP ודומיו מערכים אחרים), פונקציות בעלות שם, וכו' ע"ש בקישור.
  • איפה לקנות מנוי Claude Opus 4.6

    5
    0 הצבעות
    5 פוסטים
    103 צפיות
    י.פל.י
    @Jabberwock כתב באיפה לקנות מנוי Claude Opus 4.6: אני משתמש ב-IDE של גוגל שנקרא Antigravity. לא שילמתי בינתיים. אבל יש לו באגים. הוא דומה ל-Cursor עם ה-auto complete שלו. נופל כל הזמן. נגמר במהירות שיא (החלפתי בערב אחד 4 חשבונות). לא מוצלח במיוחד. כללית, אני מאוד מסופק כמה בכלל אפשר לקרוא לג'מיני AI...
  • שליפת נתונים מטבלה עם 3 טבלאות מקושרות

    8
    0 הצבעות
    8 פוסטים
    120 צפיות
    E
    @dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות: א. השאלה לא עסקה בknex אלא בSQL השאלה עדיין עומדת על SQL שאלתי כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות: השאלה איך נכון לעשות את זה. וחידדתי כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות: מבחינת עומס על השרת, AI למיניהם טענו שכ"כ הרבה join מהוה עומס על השרת ומכביד סתם על כל תהליך השליפה, מה שא"כ אם חלק מהם עושים ע"י בקשה שניה בקוד עצמו. האמת, שאני רואה עכשיו שיצא לא מובן (בכל זאת 4 לפנות בוקר, קמתי רק להכין מטרנה או משהו...) אז אסביר כאן ואשנה גם שם. הבעיה שלי היא לא המימוש, (כמו שכתבתי כמה וכמה פעמים, אני משתדל לא לבקש שיכתבו במקומי אלא איך נכון לעשות) אלא האם נכון לשלב 4 טבלאות ביחד... ניסיתי לחדד בהודעה השניה שהAI טענו שלא כדאי לעשות גם לזה JOIN כיון שזה מאוד מכביד על השרת, אלא עדיף למשוך את הערים בשאילתא נפרדת שלא תסבך את השרת, ושאלתי (לפחות התכוונתי) האם זה נכון? או שהם טועים ואין שום בעיה לחבר טבלאות. @dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות: לראשונה בחיי שאני שומע על knex גם אני, @צדיק-תמים המליץ לי עליה במקום אחר ושיניתי את כל הפרויקט לספריה הזו, אני חושב שהיא מאוד שימושית. @dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות: אבל תבין שהשאלה הראשונה מזמינה כל אחד שקצת למד SQL לענות מצוין, זה מה שאני צריך, כאמור אני צריך תאורטית, מה הדרך הנכונה, והאם הטענה ההיא נכונה או לא נכונה. @dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות: ובהודעה האחרונה אתה דופק את כלי מי שהיה טורח לענות, כי כמה שהתשובה יפה ונכונה היא לא בטוח רלוונטית עבור איזה כלי בשם knex לא דופק אף אחד, מותר להגיד "הדרך של חיבור 4 טבלאות היא הנכונה כאן, לגבי knex - לא יודע" (אגב, בknex אפשר גם להכניס raw כך שאין בעיה, מכניסים שאילתת SQL כמו שהיא והכל טוב). @dovid כתב בשליפת נתונים מטבלה עם 3 טבלאות מקושרות: בין העובדה שאתה לא יודע בכלל SQL מי קבע? למדתי את הנושא, הבנתי פחות או יותר אני יודע מה שאני צריך, נכון אני לא יודע עד הסוף, אבל את הבסיס אני בהחלט יודע. יש כאן לדוגמא מדריך חמוד ועוד מקומות. ובינינו SQL בסיסי כמו שאני צריך זה לא משהו מורכב כ"כ. התנאים אצלי נראים יותר ככה: let queryBuilder = knex("advertiser_ads as M").select("M.*"); queryBuilder.leftJoin("ratings as R", "R.rated", "M.phone"); queryBuilder.select(knex.raw("AVG(R.rating) as average_rating")); queryBuilder.groupBy("M.id"); עוד קוד, לא רלוונטי if (filters.phoneOfSearcher && isValidIsraeliPhone(filters.phoneOfSearcher)) { queryBuilder.select( knex.raw( `EXISTS ( SELECT 1 FROM advertiser_ads_read MK WHERE MK.id = M.id AND MK.phone = ? ) as was_read`, [filters.phoneOfSearcher] ) ); } עוד קוד לא רלוונטי queryBuilder.innerJoin("advertiser_cities as E", "E.id", "M.id"); queryBuilder.groupBy("M.id"); // חשוב למנוע כפילויות במודעה אם יש לה כמה ערים if (filters.cities && filters.cities.length > 0) { // המצב שבו המחפש הזין עיר/ערים ספציפיות queryBuilder.where(function() { // כלל 3: לשניהם יש עיר - בדיקת התאמה מדויקת לעיר this.whereIn("E.city", filters.cities) // כלל 2: למפרסם יש רק אזור - מפרסם שמשרת את כל האזור יעלה בתוצאות .orWhere(function() { this.where("E.area", filters.area).whereNull("E.city"); }) // כלל 1 (מתוקן ומאובטח): למפרסם יש "כל הארץ" (אזור ריק + עיר ריקה) - הוא יעלה בתוצאות תמיד .orWhere(function() { this.whereNull("E.area").whereNull("E.city"); }); }); } else { // המצב שבו המחפש הזין רק אזור (ללא עיר) queryBuilder.where(function() { // כלל 2: חיפוש לפי אזור (מכסה מפרסמים של כל האזור, וגם מפרסמים של עיר ספציפית באזור) this.where("E.area", filters.area) // כלל 1 (מתוקן ומאובטח): למפרסם יש "כל הארץ" (אזור ריק + עיר ריקה) - הוא יעלה בתוצאות תמיד .orWhere(function() { this.whereNull("E.area").whereNull("E.city"); }); }); } תנאים מורכבים שחושבו כמו שצריך.
  • תמלול קבצים תורניים

    5
    0 הצבעות
    5 פוסטים
    114 צפיות
    מ
    כן ניסית הייתי פחות מרוצה
  • סליקה בימות המשיח

    2
    0 הצבעות
    2 פוסטים
    71 צפיות
    E
    למה כאן ולא בפורום של ימות המשיח? לא מכיר דרך
  • נושא זה נמחק!

    2
    0 הצבעות
    2 פוסטים
    47 צפיות
  • סליקה עם פרטי אשראי שמורים בנדרים

    7
    0 הצבעות
    7 פוסטים
    128 צפיות
    ה
    אבל כן אפשרי לקנות אצלם מספר ישיר ולעשות הפניית שיחות למספר המערכת של נדרים מזהה את הטלפון והתורם צריך רק להקיש את הסיסמה בלי להכניס את כל פרטי האשראי
  • וירטואליזציה ב-Html גדולים

    6
    5 הצבעות
    6 פוסטים
    204 צפיות
    dovidD
    @חצקעלע בהחלט חוסך, מדובר פה במקרים שלא רוצים למממש Infinite Scroll או בשביל לשמור על הדברים פשוטים או בשביל חוויית משתמש מהירה בהרבה.
  • API לקבלת רשימת דפים וסימנים בספרי היסוד התורניים

    9
    1 הצבעות
    9 פוסטים
    753 צפיות
    יגעתי ומצאתיי
    @NH.LOCAL ואוו בדיוק הייתי צריך את זה היום השגחה פרטית!
  • איך למדתם לכתוב קוד - סקר

    26
    2 הצבעות
    26 פוסטים
    601 צפיות
    יגעתי ומצאתיי
    @eido למדתי בעיקר מקורסים באינטרנט וקצת עזרה של 2 אחים שעובדים בתכנות התחלתי PHP עקב צורך בחיבורי API לימות המשיח. אח"כ התחלתי גם פייתון וHTML בערך בו זמנית... ופתאום הAI נכנס לתמונה וגרם לי לעצור את הלמידה ולהעזר בו וכיום אני בקושי כותב קוד כבר.
  • מדריך טוב לjs עדיף התמקדות בnode ועוד יותר עדיף - עברית

    16
    0 הצבעות
    16 פוסטים
    304 צפיות
    pcinfogmachP
    משהו אישי שחוויתי בלימוד ‎JS‎ – אולי יש עוד אנשים שמרגישים כמוני, ולכן אני משתף. מאוד מאוד התקשיתי ללמוד ‎JS‎. ואני דווקא דובר 'קורא וכותב באנגלית שוטפת, ובכל זאת גם המדריכים המומלצים ביותר לא ממש קידמו אותי. עד שבשלב מסוים הבנתי שהקושי שלי נובע מכך שחסר לי המבנה הכללי של הדברים. במקור ‎JS‎ נועדה בעיקר עבור ‎frontend‎, וזה השפיע מאוד על הפרדיגמות של השפה ועל הדרך שבה עובדים איתה. ברגע שתפסתי את זה – זה הקל עלי מאוד. נכון שהיום ‎JS‎ היא הרבה מעבר לזה, אבל לדעתי אם אין את הבסיס וההבנה של הרקע הזה, מאוד קל לטבוע מהר בים הגדול שנקרא ‎JS‎. הערה נוספת: css מודרני הוא כלי ממש עוצמתי ובהרבה מקרים הוא תפס את המקום של js- של פעם. חשוב ללמוד css בצורה טובה כדי לא לעבוד קשה סתם עם js
  • תוסף שימושי ל VSCODE - ניהול פרויקטים

    3
    2 הצבעות
    3 פוסטים
    163 צפיות
    י
    @י.פל. אולי זה ענין של הרגלי שימוש לי היה מאד לא נח כשרציתי לפתוח פרוייקט הייתי צריך לדפדף בסייר הקבצים להגיע לתיקיה שלו ומשם לפתוח אותו. עכשיו יש לי את הפרוייקטים ברשימה מסודרת, ואני יכול לדפדף ביניהם בלחיצה אחת, לפתוח מופע חדש של התוכנה או להחליף את המופע הקיים, וזה מסודר בתגיות.
  • 1 הצבעות
    27 פוסטים
    1k צפיות
    לא-מתייאשל
    @Shmuel754 כתב במה עונים ללקוחות ששואלים האם אפשר לבנות את מה שאני בונה בAI?: @Whenever בקשר למה שכתבת, מה הבעיה להכניס את הפרוייקט לAI ואפי' אחר ולבקש ממנו בדיקת אבטחה? אני אישי מסרב, אני לא סובל שאחד חשב שהוא עשה לי 90% מהעבודה וכיאלו ישלם לי על 10%, בפרוייקטים הללו אתה מתקן באג אחד וזה גורם לשני באגים חדשים, והטיפש הזה שביקש את זה ממך יגיד שזה אשמתך, לכן אם אני רואה מראש שהפרוייקט נכתב על ידי מישהו שלא יודע כלום בתיכנות, אני מסרב עקרוני בלי להסתכל על הפרוייקט ומציע לו הצעת מחיר על כל הפרוייקט.
  • דרוש יעוץ (אפשר בתשלום) לתכנון פרויקט בJS

    נעול
    10
    0 הצבעות
    10 פוסטים
    232 צפיות
    E
    אפשר גם לשלוח לי בפרטי לstamandsefer של ג'ימייל.
  • הבנת solid וclean code

    18
    0 הצבעות
    18 פוסטים
    316 צפיות
    A0533057932A
    @eido כתב בהבנת solid וclean code: כתב בהבנת solid וclean code: ב. איך אני מונע ממישהו להתשמש בפונקצית הוספת ערך הכללית שכוללת את הולידציה וכו' ולא להשתמש בפונקצית ההוספה ישירות, דבר שבוא אסון למסד נתונים? אתה כמובן משתמש בקלאסים וכך יש לך פונקציית הכנסה חיצונית שהיא רק קונטרולר כלומר שורה ראשונה קוראת לפונקציה או קלאס של ולידציה שורה שניה קוראת לפונקציה או קלאס של הכנסה @pcinfogmach כתב בהבנת solid וclean code: כיצד נכתוב קוד שיהיה ברור ומובנה עד כדי כך שגם כלי בינה מלאכותית יוכלו לנתח ולתחזק אותו מבלי ליצור חוסר סדר. לענ"ד בלתי אפשרי לצערי... הם לא יודעים מימינם ומשמאלם. אין לי מושג מול מי השתמשת אבל היום הAI יודעים טוב מאד מה היא פונקציה טובה ומה לא והם יודעים לתת צינוים לכל פונקציה ויודעים לשפר קוד שנכתב עם כללים וסדר ברור בלי ליצור בלאגן בכלל @pcinfogmach כתב בהבנת solid וclean code: ש לשאול: מה ישרת אותי ואת המערכת בצורה מיטבית לאורך זמן? מה יסייע בניווט בקוד ובהכנסת שינויים בצורה מסודרת? מה יאפשר למערכת לבצע את ייעודה מבלי לייצר בעיות לוגיות או תלותיות מיותרות? אם נשתמש בדוגמה מעולמנו העכשווי: כיצד נכתוב קוד שיהיה ברור ומובנה עד כדי כך שגם כלי בינה מלאכותית יוכלו לנתח ולתחזק אותו מבלי ליצור חוסר סדר. ובשני מילים: "בהירות מודולרית" ועוד הערה קטנה מותר לך להחליט מתי ליישם בהירות זו ומתי לא כל עוד שהחלטת כך במודע ולא מתוך עצלנות ממקומות אחרים ומשאלה את הבינה מלאכותית נשמע שזה הסטנדרט וכך כותבים היום. עכשיו נשמע שלא? זה אכן הסטנדרט הנפוץ ביותר לקוד שיתופי כי כך ניתן לתחזק אותו במקביל ובזמנים שונים לכתוב פונקציה אחת גדולה שעושה הכל זה נהדר בהתחלה כל עוד אתה המתחזק היחיד והיא לא רמורה להשתנות לעולם
  • נושא זה נמחק!

    3
    0 הצבעות
    3 פוסטים
    69 צפיות
  • החלפת ספק בראוטר של הוט

    1
    0 הצבעות
    1 פוסטים
    65 צפיות
    אין תגובות
  • תכנון טבלאות לפרוייקט

    נעול
    22
    0 הצבעות
    22 פוסטים
    302 צפיות
    dovidD
    @eido כתב בתכנון טבלאות לפרוייקט: @צבי-ש אני חושב שזה לא כ"כ יועיל, כי הרי צריך לשמור בצמוד את המספר המדורג, ואז כבר יודעים את המספר המדורג, כל מה שנשאר זה להוסיף את המספר המדרג, שזה בעצם כמו פשוט לעבור על המספר המדרג לבד... למרות שהנושא סגור, חשוב לי שתדע שהוא התייחס באותה הודעה לבעיה שאתה מעלה והסביר איך להסתדר עם זה.
  • BD עדיפות למבנה טבלאות

    4
    0 הצבעות
    4 פוסטים
    75 צפיות
    dovidD
    נכון, אני לשיטתי שלא להשתמש בENUM, בטח בכזה מקרה. זה מצויין בשביל לאכוף שלמות, עקביות וכל המילים האלה, אבל אני כיום מסתכל על מסד נתונים יותר כעל טכניקת שמירה מאשר כעל פרוטוקול אבטחת תוכנה, ולכן אני חושב שכל מה שמקשה על פיתוח מרכזי של האפלקיציה בקוד, הוא הגדרה "מרגיזה". ENUM גורם לכך שיצטרכו לשנות במסד גם כשאין שינוי בעיצוב ההתנהגות, ולכן אני פוסל את השימוש בו. כמו כן לעיתים קרובות במקביל למסד יש התייחסות קשיחה גם בקוד (שהרי הוא צריך לוודא וגם למלא את הנתון) וממילא יש פה גם פיזור שעומד בסתירה לDRY ולעוד פרנציפ בשם Single Source of Truth.
  • Home Assistant ונטפרי

    7
    0 הצבעות
    7 פוסטים
    249 צפיות
    MordechayM
    לא אפשרי, זה מערכת הפעלה של home assistant וזה לא אפשרי (אלא אם כן יבצעו עריכה), רק בהתקנת דוקר אפשר https://www.home-assistant.io/installation/linux#install-home-assistant-container (זה לא עובד בווידנוס)
  • הפעלת תהליך נוד מחדש לקובץ ספציפי - הגיוני?

    7
    0 הצבעות
    7 פוסטים
    131 צפיות
    צדיק תמיםצ
    @צבי-ש כתב בהפעלת תהליך נוד מחדש לקובץ ספציפי - הגיוני?: נכון, כי זה נשמר לקואלית, לא מורכב לשייך את כל הנתונים שיישמרו בredis או מסד חיצוני מהיר אחר, ולא יורגש כמעט ההבדל במהירות במהלך השיחה, וזה כן יישמור נתונים אחרי ריסטארט בכללי הטריק של הספריה הוא שאתה כותב קוד שרץ רק פעם אחת ואז התשובה של הread שמורה בזיכרון ולא שכל פעם הקוד רץ מחדש ואתה צריך לבדוק אם הפרמטר כבר קיים ממילא ברגע שאתה מפעיל מחדש את התהליך הפונקציה כבר לא קיימת ואין דרך לא לאפס את הריצה, וגם אם היה לך דרך לשמר את הפונקציה רצה אז זה היה גרסה ישנה שלה ולא היה עוזר לך לפיתוח היתרון של זה הוא שהכתיבה והדיבוג מאוד פשוטים, הקוד רץ מלמעלה ללמטה ברצף אם אתה עושה שהקוד כן ירוץ מחדש רק יקח את הנתונים מהזיכרון, אז פעולות שהן לא idempotent כמו נניח שליחת מייל יהיה צריך לעטוף ככה בערך const name = await call.read([{ type: ‘text’, data: ‘מה שמך?’ }]) await call.once(async () => { await db.insert({ name }) await sendEmail(name) console.log(‘נשמר!’) }) const age = await call.read([{ type: ‘text’, data: ‘מה גילך?’ }]) @ששא בכל מקרה מה שהצעת לא יעזור לך לעניין של איפוס הסטייט בפיתוח ולפרודקשן עדיף לדעתי שיטות יותר פשוטות של החלפת התהליך כולו
בא תתחבר לדף היומי!