דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
א

איש פשוט מאוד

@איש פשוט מאוד
אודות
פוסטים
13
נושאים
2
קבוצות
0
עוקבים
0
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • הצגת מספר חלונות גם שהמחשב נעול
    א איש פשוט מאוד

    לי לא
    אבל אולי יש כאלו שיכולים
    ראיתי פעם תוכנה שהשתלטה על השומר מסך והציגה משהו אחר


  • הצגת מספר חלונות גם שהמחשב נעול
    א איש פשוט מאוד

    @zvinissim מנסה לזרוק רעיון
    אולי אפשר להגדיר את השומר מסך שיהיה מה שאתה רוצה?


  • DB של הזמנות
    א איש פשוט מאוד

    @dovid כתב בDB של הזמנות:

    @איש-פשוט-מאוד לפי התיאוריה האידאלית, אסור שבDATA זה יהיה כתוב בשום מקום, כי זה כפל נתונים (זה בבסיס חוקי הנרמול), כלומר כל שדה שניתן לחישוב אסור לשמירה. לכן הדרך שהצעתי היא בד"כ הדרך הטובה.

    זה אני יודע
    מכאן נובע כל הקושי שלי
    אחרת הייתי עושה פשוט טבלה שלימה נפרדת של הזמנות לספקים ולתחנות, ושולח פוסט בבת אחת לשתיהם

    @dovid כתב בDB של הזמנות:

    לא הבנתי מה התכוונת במקרה שכתבת על נפילת שרת, המקרה הזה הוא דוקא עומד לטובת הימנעות משמירה כפולה, כי אם אתה שומר רק בטבלת הזמנות את המחיר אתה בפחות סיכון לאיבוד נתונים מאשר אם אתה מעתיק את הסכום למוקד לטבלה נפרדת, שאז יכול להיות כישלון חלקי ובעיית עקביות. טכנית יש לזה פתרונות, אבל ודאי שזה לא טיעון לטובת השמירה הכפולה.

    עכשיו נפל לי האסימון למה אתה מתכוין
    אני צריך טיפה לעבד בראש את הרעיון, אבל כבר יש לי כיוון
    תודה רבה!


  • DB של הזמנות
    א איש פשוט מאוד

    @dovid אם אני יעשה הכל כשאילתות JOIN והמחיר יווצר בעזרת פונקציה, האם זה תקני
    כלומר שבדאטה בעצם לא ישמר כלום
    זה לא בעייתי?
    שבמקרה של נפילת שרת אני מפסיד את כל הנתונים
    לא עדיף שההזמנות והמחירים ישמרו בדאטה בצורה מסודרת שלא תוכל לגרום לשגיאות?


  • DB של הזמנות
    א איש פשוט מאוד

    @dovid כתב בDB של הזמנות:

    טבלאות:
    ספקים
    מוקדים
    לקוחות
    מוצרים (מכיל מזהה ספק)
    הזמנות (מכיל גם מזהה לקוח, ומזהה מוקד)
    פרטי הזמנה (מזהה הזמנה, מזהה מוצר)

    לשליפת כל המוצרים פר ספק פר מוקד,
    אתה מחבר את ההזמנות עם הפרטי הזמנה, ומסנן/מקבץ לפי ספק ולפי מוקד.
    בשביל לעשות כזה JOIN בsequelize תוכל לכתוב קודם SQL ואז לשאול פה (או בGPT?) איך כותבים זאת בsequelize.

    לפי איך שזה נראה מדבריך החיבור בין הטבלאות הוא לא אמיתי אלא רק חזותי לפי שאילתא
    וזה דופק לי את החלק של המחירים והחובות של כל מוקד
    שאני רוצה שכל הזמנה יש את המחיר שלה וזה מתווסף לרשימת החובות של התחנה
    וגם מאפשר לי לעשות שינויים לאחר זמן וכל המחירים שמורים בדאטה
    אני צודק?


  • DB של הזמנות
    א איש פשוט מאוד

    @meir-lamdan
    את ההזמנה אני מקבל מהלקוח
    היא מורכבת מכמה ספקים
    ואני רוצה שכל ספק יקבל הזמנה אחת
    שהיא מורכבת מכמה לקוחות


  • DB של הזמנות
    א איש פשוט מאוד

    שלום לכולם
    אני מנסה לבנות אתר להזמנות מוצרים
    בניתי טבלא של מוקדי מכירה וטבלה של מוצרים וטבלה של הזמנות
    עכשיו, היות שבהזמנה אחת יכול להיות כמה מוצרים, אז עשיתי טבלת בת של ההזמנות ששם לוקח ID הזמנה וID מוצר ומוסיף אותם
    ונתקעתי בשלב הבא
    שאני רוצה גם שהספקים יקבלו את ההזמנה אליהם
    אז יצרתי טבלת הזמנות לספקים
    אבל אני לא מצליח למצוא רעיון איך אני מחבר את ההזמנות של המוקדים להזמנות של הספקים

    אני כותב כאן חלק מהמודלים בשביל הדוגמא

    סנטר
    
    const sequelize = require("../../config/db.js");
    const { DataTypes } = require("sequelize");
    const CentersType = require("./centersType-model.js");
    
    const Center = sequelize.define(
      "Centers",
      {
        name: {
          type: DataTypes.STRING,
          allowNull: false,
        },
        city: {
          type: DataTypes.STRING,
          allowNull: false,
        },
        address: {
          type: DataTypes.STRING,
          allowNull: false,
        },
        // שעות פתיחה
        openingHours: {
          type: DataTypes.STRING,
          allowNull: false,
        },
        phone: {
          type: DataTypes.STRING,
          allowNull: false,
        },
        // סוג
        typeID: {
          type: DataTypes.INTEGER, 
          allowNull: false,
        },
        //חובות
        debts: {
          type: DataTypes.DECIMAL(10, 2),
          defaultValue: 0,
        },
        status: {
          type: DataTypes.ENUM("active", "inactive"),
          defaultValue: "active",
        },
        createdAt: {
          type: DataTypes.DATE,
        },
        updatedAt: {
          type: DataTypes.DATE,
        },
      },
      {
        charset: "utf8",
        collate: "utf8_unicode_ci",
      }
    );
    
    Center.belongsTo(CentersType, { foreignKey: "typeID" });
    
    module.exports = Center;
    
    // הוספת שורה על ידי שליחת פוסט עם הגייסון הבא:
    // { "name": "מרכז חדש", "city": "עיר", "address": "כתובת", "openingHours": "שעות פתיחה", "phone": "טלפון", "typeID": 1 }
    
    
    
    הספקים
    
    const sequelize = require("../../config/db.js");
    const { DataTypes } = require("sequelize");
    const Users = require("./users-model.js");
    
    const Companies = sequelize.define(
      "Companies",
      {
        name: {
          type: DataTypes.STRING,
          allowNull: false,
        },
        userId: {
          type: DataTypes.INTEGER,
          allowNull: false,
        },
        address: {
          type: DataTypes.STRING,
        },
        debts: {
          type: DataTypes.DECIMAL(10, 2),
          defaultValue: 0,
        },
        status: {
          type: DataTypes.ENUM("active", "inactive"),
          defaultValue: "active",
        },
        createdAt: {
          type: DataTypes.DATE,
        },
        updatedAt: {
          type: DataTypes.DATE,
        },
      },
      {
        charset: "utf8",
        collate: "utf8_unicode_ci",
      }
    );
    
    Companies.belongsTo(Users, { foreignKey: "userId" });
    
    module.exports = Companies;
    
    // הוספת שורה על ידי שליחת פוסט עם הגייסון הבא:
    // { "name": "company name", "userId": 1, "address": "company address", "debts": 0, "status": "active" }
    
    
    
    המוצרים
    
    const sequelize = require("../../config/db.js");
    const { DataTypes } = require("sequelize");
    const Companies = require("./companies-model.js");
    const ProductsType = require("./productsType-model.js");
    
    const Products = sequelize.define(
      "Products",
      {
        name: {
          type: DataTypes.STRING,
          allowNull: false,
        },
        // חברה
        companyId: {
          type: DataTypes.INTEGER,
          allowNull: false,
        },
        // סוג
        typeId: {
          type: DataTypes.STRING,
        },
        // כמות באריזה
        quantityInPackage: {
          type: DataTypes.INTEGER,
        },
        // המחיר שאני קונה בו
        priceCompoanies: {
          type: DataTypes.DECIMAL(10, 2),
          allowNull: false,
        },
        status: {
          type: DataTypes.ENUM("active", "inactive"),
          defaultValue: "active",
        },
        createdAt: {
          type: DataTypes.DATE,
        },
        updatedAt: {
          type: DataTypes.DATE,
        },
      },
      {
        charset: "utf8",
        collate: "utf8_unicode_ci",
      }
    );
    
    Products.belongsTo(Companies, { foreignKey: "companyId" });
    Products.belongsTo( ProductsType, { foreignKey: "typeId" });
    
    module.exports = Products;
    
    // הוספת שורה על ידי שליחת פוסט עם הגייסון הבא:
    // { "name": "מוצר חדש", "companyId": 1, "type": "סוג חדש", "priceCompoanies": 100 }
    
    
    
    מחירי המוצרים
    
    const sequelize = require("../../config/db.js");
    const { DataTypes } = require("sequelize");
    const Products = require("./products-model.js");
    const CentersType = require("./centersType-model.js");
    
    const Prices = sequelize.define("Prices", {
      productId: {
        type: DataTypes.INTEGER,
        allowNull: false,
      },
      centersTypeId: {
        type: DataTypes.INTEGER,
        allowNull: false,
      },
      price: {
        type: DataTypes.DECIMAL(10, 2),
        allowNull: false,
      },
      priceDifference: {
        type: DataTypes.DECIMAL(10, 2),
      },
      status: {
        type: DataTypes.ENUM("active", "inactive"),
        defaultValue: "active",
      },
      createdAt: {
        type: DataTypes.DATE,
      },
      updatedAt: {
        type: DataTypes.DATE,
      },
    });
    
    Prices.belongsTo(Products, { foreignKey: "productId" });
    Prices.belongsTo(CentersType, { foreignKey: "centersTypeId" });
    
    module.exports = Prices;
    
    // הוספת שורה על ידי שליחת פוסט עם הגייסון הבא:
    // { "productId": 1, "centerId": 1, "price": 100, "priceDifference": 10}
    
    
    
    
    טבלא הראשית של ההזמנות
    const sequelize = require("../../config/db.js");
    const { DataTypes } = require("sequelize");
    const Centers = require("./centers-model");
    
    const Orders = sequelize.define("Orders", {
      // תאריך המכירה
      saleDate: {
        type: DataTypes.DATE,
        allowNull: false,
      },
      // קוד מרכז
      centerId: {
        type: DataTypes.INTEGER,
        allowNull: false,
      },
      // מחיר הזמנה
      totalPrice: {
        type: DataTypes.DECIMAL,
        allowNull: false,
      },
      // רווח הזמנה
      totalProfit: {
        type: DataTypes.DECIMAL,
        allowNull: false,
      },
      // הוצאות הזמנה
      totalExpenses: {
        type: DataTypes.DECIMAL,
        allowNull: false,
      },
      // אישור הזמנה
      approved: {
        type: DataTypes.BOOLEAN,
        defaultValue: false,
      },
      // תאריך יצירה
      createdAt: {
        type: DataTypes.DATE,
      },
      // תאריך עדכון
      updatedAt: {
        type: DataTypes.DATE,
      },
    });
    
    Orders.belongsTo(Centers, { foreignKey: "centerId" });
    
    module.exports = Orders;
    
    // הוספת שורה על ידי שליחת פוסט עם הגייסון הבא:
    // { "saleDate": "2021-09-01", "centerId": 1, "totalPrice": 1000, "approved": true, "status": "active" }
    
    
    
    
    טבלת בת של ההזמנות
    
    const sequelize = require("../../config/db.js");
    const { DataTypes } = require("sequelize");
    const Orders = require("./orders-model");
    const Products = require("./products-model");
    
    const OrderItems = sequelize.define("order_items", {
      // קוד הזמנה
      orderId: {
        type: DataTypes.INTEGER,
        allowNull: false,
      },
      // קוד מוצר
      productId: {
        type: DataTypes.INTEGER,
        allowNull: false,
      },
      // כמות
      quantity: {
        type: DataTypes.INTEGER,
        allowNull: false,
      },
      // כמות * מחיר
      totalPrice: {
        type: DataTypes.DECIMAL(10, 2),
        allowNull: false,
      },
      // כמות * הפרש מחיר
      totalDifference: {
        type: DataTypes.DECIMAL(10, 2),
      },
      // תאריך יצירה
      createdAt: {
        type: DataTypes.DATE,
      },
      // תאריך עדכון
      updatedAt: {
        type: DataTypes.DATE,
      },
    });
    
    OrderItems.belongsTo(Orders, { foreignKey: "orderId" });
    OrderItems.belongsTo(Products, { foreignKey: "productId" });
    
    module.exports = OrderItems;
    
    // הוספת שורה על ידי שליחת פוסט עם הגייסון הבא:
    // { "orderId": 1, "productId": 1, "quantity": 10, "price": 100, "total": 1000 }
    
    
    
    
    הטבלא של הזמנות לספקים - שאותה אני לא יודע איך לחבר
    
    const sequelize = require("../../config/db.js");
    const { DataTypes } = require("sequelize");
    const Companies = require("./companies-model.js");
    
    const CompanyOrders = sequelize.define(
      "CompanyOrders",
      {
        // תאריך הזמנה
        orderDate: {
          type: DataTypes.DATE,
          allowNull: false,
        },
        // קוד חברה
        companyId: {
          type: DataTypes.INTEGER,
          allowNull: false,
        },
        // סכום הזמנה
        totalPrice: {
          type: DataTypes.DECIMAL,
          allowNull: false,
        },
        // תאריך יצירה
        createdAt: {
          type: DataTypes.DATE,
        },
        // תאריך עדכון
        updatedAt: {
          type: DataTypes.DATE,
        },
      },
      {
        charset: "utf8",
        collate: "utf8_unicode_ci",
      }
    );
    
    CompanyOrders.belongsTo(Companies, { foreignKey: "companyId" });
    
    module.exports = CompanyOrders;
    

  • עזרב בהקשר לנטפרי
    א איש פשוט מאוד

    לפני כחצי שנה קיבלתי אישור מהם
    זה היה מיד בקלות עם מילוי טופס קצר שלהם


  • רשתות
    א איש פשוט מאוד

    בשלב ראשון הייתי עושה העברה לכל המיילים למייל אחר, כולל אפשרות תגובה בשם המייל הראשון.
    בשלב ב אפשר לתת למייל אחר אפשרות כניסה חופשית בלי סיסמא
    נ ב את זה לא ניסיתי רק ראיתי בהגדרות


  • אתר המדמה שולחן עבודה וירטואלי
    א איש פשוט מאוד

    @בערל זה אתר מוגן?
    כשאני גולש דרכו זה בעצם סוג של פרוקסי או שזה רק משחק עיצוב ותו לא?


  • אתר המדמה שולחן עבודה וירטואלי
    א איש פשוט מאוד

    @בערל אכן
    לזה התכוונתי
    תודה


  • אתר המדמה שולחן עבודה וירטואלי
    א איש פשוט מאוד

    הייתי פעם באתר כזה,
    וכרגע אני לא מוצא אותו
    מישהו מכיר?

  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום