اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ابو جودي

أوفيسنا
  • Posts

    7051
  • تاريخ الانضمام

  • Days Won

    203

مشاركات المكتوبه بواسطه ابو جودي

  1. فؤش

    تقدر تجربها على اوفيس 2010 32 بت ؟

    هو عنده اوفيس 10 32 بت

    وبيقول كل القواعد شغاله الا دى

    انا عملت المرفق الاخير ده قاعده جديده استوردت كل شئ من القديمه اليها اضفت كلمة مرور للحماية من الانتى فايروس

    عطلت كل الاكواد اللى بها مشاكل وحولت اى شئ بس لتفادى مشاكل الانويه  لان للاسف انا 64 بت القاعده تعمل معى بدون مشاكل ولكن هو نفس المشكله

    واللى هيجننى ما فى اى اكواد اوتو اكسيك ولا نموذج بدايه

    القاعده بمجرد الفتح بتظهر رسالة انه سوف يحذف الاكواد

     

    الحل الاخير اللى عندى تفعيل الاوفيس لانه غير مفعل

     

    المشكله ما عنده انترنت وما قدرت افوت انى ديسك ارسلت له  فى رسائل واتس التفعيل لعله يكون السبب ولنا لقاء يوم الاحد القادم لنكمل

  2. جرب هذه القاعده
    للعلم فقط القاعده مجرد لتجربة مشاكل الفتح والتأكد من وجود الاكواد

    تحويل الاكواد غير صحيح ولم ولن اهتم بالتصحيح الان

    عطلت الكثير من الاكواد نظرا لعدم وجود عناصرها فى النماذج لذا معظم الاكواد لن تكون صحيحة تمام

     

    القاعده فقط لتجرب مشكلة حذف الاكواد من عدم حذفها

     

    2025.zip


  3. استخدم الجملة دى افضل مع عدد السجلات الضخمه تكون اسرع نظرا لعدم وجود استعلامات فرعيه
     

    SELECT t1.*
    FROM test AS t1
    INNER JOIN (
        SELECT [رقم الزبون], [إسم المادة], [حجم المادة]
        FROM test
        GROUP BY [رقم الزبون], [إسم المادة], [حجم المادة]
        HAVING COUNT(*) > 1
          AND MAX([تاريخ الفاتورة]) >= DateAdd("m", -3, MIN([تاريخ الفاتورة]))
    ) AS t2
    ON t1.[رقم الزبون] = t2.[رقم الزبون]
       AND t1.[إسم المادة] = t2.[إسم المادة]
       AND t1.[حجم المادة] = t2.[حجم المادة];



     

    • روح لـ Create > Query Design
    • في SQL View الصق الكود أعلاه

      المرفق

       

    test_05.mdb

  4. استخدم الكود التالى كجملة استعلام عن طريق Count
    ولا تزعل نفسك يا سيدى انت تأمر :eek2:

     

    SELECT t1.*
    FROM test AS t1
    WHERE ((((SELECT Count(*)
        FROM test AS t2
        WHERE 
            t2.[رقم الزبون] = t1.[رقم الزبون]
            AND t2.[إسم المادة] = t1.[إسم المادة]
            AND t2.[حجم المادة] = t1.[حجم المادة]
            AND DateValue(t2.[تاريخ الفاتورة]) >= DateAdd("m", -3, DateValue(t1.[تاريخ الفاتورة]))
            AND DateValue(t2.[تاريخ الفاتورة]) <= DateValue(t1.[تاريخ الفاتورة])
        ))>1));

     

  5. لا افهم ماذا تريد تحديدا

    هل السؤال

    24 دقائق مضت, RAIANESAMI said:

    إدا كان  تاريخ الفاتورة مكرر مرتين نفس اليوم

    الاجابه لا جديد ولا تعديل على الكود فالسطر :
     

     AND t2.[تاريخ الفاتورة] >= DateAdd("m", -3, t1.[تاريخ الفاتورة]);

    يحتوى على  >=


    ولو كان هذا سؤال أخر منفصل بذاته عن موضوع تكرار تاريخ الفاتورة مرتين نفس اليوم

    24 دقائق مضت, RAIANESAMI said:

    وادا اردت اضافة شرط  اخر  هل اكتب هكذا
     

    AND t2.[حجم المادة] = t1.[حجم المادة]

    نعم هو تماما كما قمت أنت الان بإضافة شرط حجم المادة الى الشروط
    ولكن النتيجه التى سوف تحصل عليها من الاستعلام هى التى يتوافر فيها كل هذه الشروط مجتمعين معا
    لذلك تأكد من الشروط بشكل صحيح بتمعن وتأن شديدين فسوف يتم الفرز والتصفيه للبيانات بعد توافر كل هذه الشروط مجتمعين معا 


    طيب اذا كان التاريخ متضمنا وقت
    لنتلافى ههذ المشكلة تكون جملة الاستعلام بالشكل التالى من خلال : DateValue


     

    SELECT t1.*
    FROM test AS t1
    WHERE EXISTS (
        SELECT 1
        FROM test AS t2
        WHERE 
            t2.[رقم الزبون] = t1.[رقم الزبون]
            AND t2.[إسم المادة] = t1.[إسم المادة]
            AND DateValue(t2.[تاريخ الفاتورة]) >= DateAdd("m", -3, DateValue(t1.[تاريخ الفاتورة]))
            AND DateValue(t2.[تاريخ الفاتورة]) <= DateValue(t1.[تاريخ الفاتورة])
            AND t2.[تاريخ الفاتورة] <> t1.[تاريخ الفاتورة]
    );

     

  6. هذا استعلام مركب
    الاستعلام الاساسى الذى يمثل الجدول ككل هو
    وتتم عملية التسمية المؤقته كما شرحتها لك سابقا من خلال : AS t1

    SELECT t1.*FROM test AS t1 ;

    واضفت بداخله ستعلام فرعى وبه جمله شرطيه 

    SELECT 1
    FROM test AS t2
    WHERE t2.[رقم الزبون] = t1.[رقم الزبون]
            AND t2.[إسم المادة] = t1.[إسم المادة]
            AND t2.[تاريخ الفاتورة] < t1.[تاريخ الفاتورة]
            AND t2.[تاريخ الفاتورة] >= DateAdd("m", -3, t1.[تاريخ الفاتورة]);

    وطبعا فى الاستعلام الغرعى والخاص بجملة الشرط استخدمت التسمية المؤقته : AS t2

    كما تقدم فى الشرح السابق سبب استخدام تسميات مختلفى لنفس الجدول

  7. تحديث المرفق

    التحديث الجديد يحتوى على 

    عدم الاعتماد على وسيط بانشاء ملف فى مسار محدد لتمرير اومر الاعدادات ثم حذفه بعد تمرريرها وتطبيقها

    وتم ذلك فى الداله : LoadInstalledKeyboards
    فى النموذج : frmLanguageFormatSetting

    ملاحظة هامة
    احيانا يتم اضافة تخطيط لغات بشكل وهمى لاعدادت الويندوز فى شريط المهام  بجوار الساعه فقط عند فتح احد قواعد البيانات


    من خلال فتح النموذج : frmLanguageFormatSetting
    قم باختيار نفس التخطيط للبلد وعدد المفاتيح الذى تم اضافته فى تخطيط لغات لوحات المفاتيح فى 
    شريط المهام 
    من خلال  مربع التحرير والسرد الخاص بـ اختيار : لغة اعداد النظام
    ومن خلال مربع التحرير والسرد الخاص بـ نوع لوحة المفاتيح

    وطبعا لا تنسي اختيار تنسيق الوقت والتاريخ الى ترغب به ثم قم بعمل تحديث الاعدادات

    سوف تظهر تخطيطات كل اللغات المستخدمه للوحات المفاتيح فى الجهة اليسرى من النموذج داخل مربع قائمة القيم
    اختر اللغة التى تريد حذف التخطيط الخاص بها بها وتأكد من عدم اختيار اكثر من تخطيط لانه معد لاختيار متعدد 
    ثم  بعد ذلك قم بالضغط على زر الامر   " حذف التخطيط ولغة لوحة المفاتيح " لتنهى مشكله تعدد تخطيطات لغات المفاتيح لاكثر من لغة بدون اعادة تشغيل نظام التشغيل :yes:

    LanguageCheck V3.0.2.zip

    • Like 2
  8. ان شاء الله عند استخدم هذه الجمله فى استعلام تجد من ورائها مبتغاك
     

    SELECT t1.*
    FROM test AS t1
    WHERE EXISTS (
        SELECT 1
        FROM test AS t2
        WHERE 
            t2.[رقم الزبون] = t1.[رقم الزبون]
            AND t2.[إسم المادة] = t1.[إسم المادة]
            AND t2.[تاريخ الفاتورة] < t1.[تاريخ الفاتورة]
            AND t2.[تاريخ الفاتورة] >= DateAdd("m", -3, t1.[تاريخ الفاتورة])
    );

    ملاحظة هامة :- 
    استخدمت t1 وt2 ليس تغييرا في اسم الجدول
    بل هو اسم مستعار مؤقت داخل الاستعلام
    أفضل ذلك عندما أستخدم نفس الجدول مرتين في مقارنة داخلية
    حتى يفهم Access أي نسخة نقصد داخل الاستعلام (خصوصا مع EXISTS أو JOIN)

     

    في الاستعلام المستخدم نحن نبحث داخل نفس الجدول test مرتين:

    • مرة للصف الأساسي (t1)
    • ومرة للصفوص الأخرى التي نبحث بينها عن التكرارات (t2)


    t1 هو السجل الأساسي الذي نتحقق منه
    t2 هو سجل آخر في الجدول نبحث فيه عن تطابقات

    الشرط EXISTS يتحقق من وجود أي سجل آخر بنفس اسم المادة ورقم الزبون في نطاق 3 شهور قبل تاريخ الفاتورة الحالية



    ولكن نصيحة ذهبيه

    حاول بقدرالامكان عدم استخدام اللغة العربية فى تسمية الجداول والحقول 

  9. 5 ساعات مضت, jjafferr said:

    اذا كانت بعض البرامج تعمل ، والبعض الاخر لا يعمل (يحذف الكود) ، فيجب النظر في الى الموضوع بعمق اكثر ،

     

    السلام عليكم 

    صادفتنى هذه المشكله من قبل يا استاذ @jjafferr 

    ليست المشكله من الاوفيس ولا من الاكسس ولا حتى من نظم التشغيل المختلفه بمختلف انويتها 

    ولكن المشكله بسبب بعض برامج الحماية والحل الوحيد و الامثل لهذه المشكله هو شئ واحد 

    حماية محرر الاكواد بعمل كلمة مرور لمحرر الاكواد وقد نوهت الى ذلك لاخى الحبيب الاستاذ @طاهر اوفيسنا

    والحل هو فتح قاعدة البيانات فى وضع التصميم ثم الدخول الى محرر الاكواد كما فى الصور التالية

    001.JPG.6d04376b9940bc95137497c1ad29d472.JPG

    ثم

    002.JPG.71b69e4941f28e6499f00871a12fcd82.JPG

    ثم

    003.JPG.3c14132ed3b2f46a5aa4fc3822f0ed4e.JPG

     

    كما تم مع هذه القاعدة باضافة كلمة مرور لمحرر الاكواد 123

    Password for VBA-123.accdb

  10. انتظر ان كنت تفتح الوحدات النمطية ولا تجد اى اكواد فذلك احيانا يكون بفعل بعض برامج الانتى فايروس

    وان لم يكن عندك نسخه احتياطيه فللاسف سوف تعيد كتابة الاكواد من جديد 

    النصيحه الذهبيه 

    لا تترك قواعد بيانات ابدا ونهائيا بدون وضع كلمة مرور على محرر الاكواد لتمنع حدوث هذه المشكلة مستقبلا

  11. 9 ساعات مضت, طاهر اوفيسنا said:

    مشاركة لي معكم كذلك بدوري عندي برنامج إصدار 2007 و 2010 يشتغل على وينداوز 7 و 8 عادي بدون مشاكل ولكن عندما حصلت على جهاز مثبت عليه وينداوز 10 البرنامج لايشتغل معه حاولت تخفيض وحدة الماكرو ولكن بدون جدوى هل من فكرة اساتذة لكي يعمل البرنامج على هذا الاصدار وشكرا

    ارفق القاعدة

  12. 5 دقائق مضت, Foksh said:

    يعني ممكن نحتاج إنشاء جداول منفصلة لحسابات الرصيد والاستحقاقات ، صحيح ؟

    لا خالص ليه كل ده هيتم من من خلال استعلام  او كود مع استعلام او كود بداخله بنية استعلام

     

    5 دقائق مضت, Foksh said:

    ايضاً جدول للعطلات المتغيرة سنوياً

    القاعده المرفقه فيه ده
    - جدول tblHolidaysWeekly دى عطلات اسبوعيه ثابته ولكن قد تتغير مع الايام لاى ظرف نبعا لقانون تنصه الدولة
    - جدول : tblHolidaysOfficial دى عطلات رسمية متغيره ويتم ملئ بياناته مع مطلع كل عام جديد أو تباعا على مدار الأيام 

  13. 25 دقائق مضت, Foksh said:
    • كيف يتم التعامل مع الإجازات التي تتخللها عطلات رسمية أو أسبوعية ؟
    • ما هو الغرض من الحقل isVacation في tblDailyRecords ؟
    • كيف يتم حساب مدة الإجازة الفعلية ( باستثناء العطل ) ؟

    يا اهلا فؤش أفندى أخى الحبيب واستاذى الجليل الاستاذ @Foksh :fff:

    - الغرض من الحقل isVacation في tblDailyRecords ؟
    عند عملية التسجيل فقط للنوع اعتيارديه سوف يتم تسجيل كل الايام من ليكون كل سجل فى يوم ولكن
    بناء على تواريخ العطلات الرسمية تبعا للجدول الخاص بها وكذلك العطلات الاسبوعيه سوف يتم وضع القيمه true للحقل البوليانى isVacation

    والحقل النصى فى نفس الجدول  : HolidayDescription  سوف يتم تسجيل وصف العطلة الرسمية تبعا لتاريخها من الجدول الخاص بها
    او اسم اليوم للعطلة الاسبوعيه وفق الجدول الخاص بها كذلك

    لكى يتم استثناء هذه السجلات عند عمل فرز لسجلات هذا النوع لذلك الموظف 
    طيب ليه عملته

    فى لائحة الاجازت يتم ترحيل الرصيد المتبقى لكل موظف ليتم اضافته الى رصيد بدايه العام للسنه الجديدة ولكن وفق شرطين
    ان يكون الموظف حصل على عدد 15 يوم اجازة اعتيادية لهذا العام  بحد أدنى
    ان يكون شرط اساسى ايضا عدد 6 ايام متلاحقة وطبعا لابد ان يتخللها عطلات اسبوعيه و كمان ممكن يتخللها عطلات رسميه 
    المهم ان تكون متصلة بشكل متتالى مع هذه العطلات ايا كانت وبشكل تواريخ متلاحق

    وهنا يأتى دور الحقل العددى : SerialNumber الموجود فى نفس الجدول لان كل اجازة من النوع اعتياديه عن كل فتره وليس كل يوم سوف تأخذ رقم مسلسل من واقع الرقم المسلسل يتم حصر عدد الايام ال 6 للنوع اعتيادية بدون ان يتم استثناء هذه السجلات التى تعمل القيمه true للحقل البوليانى isVacation لانه ممكن مثلا تبدأ الاجازة يوم خميس ويليها مباشرة يومين عطلات اسبوعيه جمعه وسبت
    ثم يليهم مباشرة عطلة عيد اضحى مثلا خمس ايام تبدأ من الاحد وتنتهى الخميس ويلهم مباشرة يومين عطلات اسبوعيه جمعه وسبت ثم باقى أجازة المظف لتكمل عدد 5 ايام 
    فيكون الحقل لليوم الاول يأخذ مثلا حسب التسلسل لهذا الموظف للنوع اعتياديه رقم 20 لكل السجلات حتى تاريخ النهايه فى هذه الحالة ينتج عدد
    6 ايام اعتيادى + 4 ايام عطلات اسبوعيه + 5 ايام عطلات رسمية ليكون المجموع الكلى للسجلات التى تحمل المسلسل 20 هو 15 سجل 
    اذا هذا الموظف يكون حصل على عدد 6 ايام متصلين وفقا للوائح

    وخطر على بالى الان ان أقوم بتغيير اسم الحقل الرقم للمسلسل لنوع الاعتيادية الى : SerialTypeAnnual
    وخطر على بالى الان ان أقوم بتغيير اسم الحقل البوليانى الدال على انها عطله الى isHoliday 


    اى نوع أخر من انواع اليوميات سوف يت فيه فقط تسجيل الايام الفعليه من واقع داله لتقوم بعمل استثناء لايام العطلات جميعا الرسمية والاسبوعية

  14. استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل :fff:
    جزاكم الله خيــرا اولا على مروركم العطر وزيارتكم الكريمة وشكر الله لكم حسن متابعتكم


     

    2 ساعات مضت, ابوخليل said:

    تفصيل دقيق .. اعانك الله على التنفيذ

    هذا التفصيل الدقيق هى لوائح 
    وهى هامة جدا جدا لانها تحدد يوميات العاملين داخل المؤسسة وفق لوائح وقوانين 

    طيب قلت سابقا انه شرعت فى البناء فعلا وانتهيت تقريبا وقلت لن اعرض القاعدة لسببين
    1- لم اقم بالتجربة بشكل دقيق لظروف اخبرتكم عنها منعتنى آن ذلك
    2- انا قممت بالتصميم ووجدت تحديات كثيرة لتعقيد وتداخل قواعد التحققات المتشابكة احيانا والمتداخله والتى قد تكون معقده وقد اجد بعض الخلل اثناء التجارب الكثيرة والدقيقه بشكل مكثف ولكن
    احببت ان يطرح الموضوع اولا ليتم النقاش فيه وليدلى كل من اساتذتى الكرام العظماء بدلوهم فى عرض مقترحاتهم وافكارهم وسيناريوهات الية التنفيذ بعد التحليل للأسباب الاتية
    - لأتعلم
    - ليكون الموضوع مرجعا لطلاب العلم والدارسين
    - لاهمية الموضوع فى قواعد ادارة الموارد البشرية وشئون العاملين لانه وكما قلت هذه الجزئية فقط ولاهميتها القصوى تعد تقريبا ثلث التطبيق حرفيا

    2 ساعات مضت, ابوخليل said:

    عندي ملحوظة :

    لو تم تعارض مثلا تم طلب تسجيل يومية او عارضة مما يخالف القانون .. طبعا البرنامج سيمتنع عن التسجيل بناء على ما تم ضبطه 

    ولكن المدير العام  او الرئيس الأعلى للدائرة او الشركة ( بناء على صلاحياته ) رأى ان يتم تسجيلها كإجازة او عارضة .. 

    او ان البرنامج يراد استخدامه في مكان لا تطبق جميع هذه القوانين بالدقة نفسها

    قطعا  بما انها قوانين ولوائح صارمه المفروض ان لا يتم مخالفتها ولكن هناك حالات شاذه لابد من استخدام روح القانون لذلك الاوجب و من المرونه التعامل مع هذه الحالات بشكل من الاشكل 
    وهذه ثمرة النقاش ان هذه النقطه لم تخطر على بالى فعلا

     

    2 ساعات مضت, ابوخليل said:

    الخلاصة : هل فكرت بعمل جدول كنترول يتيح تفعيل هذه الضوابط من عدمها ؟

    ملحوظة غير ملزمة .. فقط كتبتها لإثراء الموضوع

    لا بالعكس اى مللاحظات سوف يتم الاستفاده منها على المدى البعيد فى تعلم التفكير والتصور والتحليل للنظم وتخيل وتصور الهيكل العام لهذا التحليل
    او على المدى القريب فى وضع التصور لاساس صحيح ومتين يتم البناء عليه بأكبر قدر ممكن من الاحترافيه والمرونه وأعلى درجات الامان فى الحصول على المعلومات الدقيقه والغير مغلوطه 

    لذلك اتمنى من اساتذتى العظماء ان يشمروا عن سواعدهم لنخطو كل الخطوات خطوة تلو الاخرى من :
    التحليل للنظم

    وضع التصور والهيكل لالية العمل بناء على التحليل 
    وبعد ذلك تأتى عملية البناء تباعا وفق ما سبق


    وفى النهاية انا لا اطلب من اساتذى تقديم الحل او قاعدة بيانات لعمل كل ماسبق
    وتقريبا بفضل الله تعالى قادر على تحقيقها جميعا وبفضل الله تعالى سبحانه وهبنى الله تعالى ملكة فى التعامل مع الاكواد والافكار بما يمكننى بمشيئة الله تعالى من انهاء العمل ولكن كما اخبرتكم 

    - لأتعلم تناول تحليل النظم والتخطيط للهيكل بناءً على التحليل بأفكار غير أفكارى أنا لانها قطعا سوف تضيف الى بنك معلوماتى وافكارى وتصوراتى
    - ليكون الموضوع مرجعا لطلاب العلم والدارسين
    - لاهمية الموضوع فى قواعد ادارة الموارد البشرية وشئون العاملين لمن يهتم بتلك الامور وخاصة لانه دائما تكون من حين لاخر طلبات واسئلة رواد المنتدى و لانه وكما قلت هذه الجزئية فقط ولاهميتها القصوى تعد تقريبا ثلث تطبيق ادارة الموارد البشرية ومتباعة شئون العاملين داخل المؤسسات الصغيرة والمتوسطة والكبيرة 

  15. السلام عليكم استاذى الجليل و معلمى القدير و والدى الحبيب 

    رايت مشاركتكم الكريمة ولكن وقتها لم يكن الوقت يسعفنى للتوضيح والرد على حضرتك بالترتيب والتفصيل الممل

    في 22‏/4‏/2025 at 19:31, ابوخليل said:

    ولكن لا حظت في جدول العطل الرسمية تكرار  عيد الفطر  .. حسب عدد ايامه

    هذا من واقع جدول العطلات الرسمية : tblHolidaysOfficial
    قصدت تسجيل كل يوم فى سجل بحيث عند محاولت التحقق من العطلات لا نقوم بعمل لوب داخل الجدول باستمرار 
    هو جدول خدمه يستخدم كدليل 

    ونفس الموضوع مع جدول : tblHolidaysWeekly
    هو جدول خدمى يستخدم مع الكليندر لتحديد ايام العطلات الاسبوعيه التى سوف تتعامل معها الكليندر بشكل ديناميكة من خلال التأشير على ايام العطلات داخل الجدول بقيم بوليانيه = true
    هو جدول خدمه يستخدم كدليل 

    ونفس الموضوع مع الجدول : tblDailyType
    هو جدل خدمى يستخدم كدليل لاضافة اسماء وانواع اليوميات المختلفة 

    فى النهاية الجدول محور العمل واساس هذا الموضوع هو الجدول : tblDailyRecords
    مطلوب عمل التالى 

    تسجيل كل انواع اليوميات لكل موظف حسب اليومية المطلوب تسجيلها داخل هذا الجدول على ان يكون كل تاريخ فى سجل منفرد اذا كانت اليوميه لها تاريخ بدايه وتاريخ نهايتها اكثر من يوم واحد بالنسبه لتاريخ البداية

    اما اليوميات التى لها يوم واحد اى ان تاريخ بدايتها وتاريخ نهايتها نفس التاريخ كده كده هيكون سجل واحد فقط

    طيب لتسجيل كل اليوميات تحقق مشترك وهو
    1- أن لا يكون تاريخ البداية ـو تاريخ النهاية أحد ايام العطلات الاسبوعية أو احد ايام العطلات الرسمية من واقع البيانات داخل الجداول الخاصة بها 
    2- فى حالة كان تاريخ البدايه وتاريخ النهايه نفس التاريخ ان لا يكون هذا التاريخ محجوز بالفعل وتم تسجيله كيوميه لنفس الموظف الحالى 
    3- فى حالة كان تاريخ النهاية اكبر من تاريخ البدايه لابد التأكد من أنه لم يتم تسجيل أى سجلات بأى نوع من أنواع اليوميات لنفس الموظف الحالى فى هذه الفتره من تاريخ البداية وحتى تاريخ النهاية
    4- ان لا يكون تاريخ النهاية اقل من تاريخ البدايه ما عدا  اليوميات من النوع : بدل ساعات أو بدل مبيت

    ولكن هناك تحققات الخاصة للانواع عارضة , اعتيادية , بدل ساعات أو بدل مبيت


    قواعد تحقق الإجازة العارضة:
    1- التحقق من عدد الإجازات العارضة في نفس الشهر: يجب التحقق أنه لا يوجد أكثر من يومين عارضة في نفس الشهر لنفس الموظف الحالى .
    2- اجمالى المستحق لكل موظف عدد 2 يوم بحد أقصى لكل شهر ميلادى 
    يعنى يتم التحقق من أن عدد الاجازات السابقة  لهذا الشهر فقط فى التاريخ المستخدم  لنفس الموظف الحالى من النوع عارضة لا يتعدى 1 يوم
    ولو كان تاريخ البدايه هو أخر يوم فى أى شهر ميلادى وتاريخ النهاية أول يوم فى الشهر الجديد
    يتحقق أن عدد الاجازات السابقة من النوع عارضة فى الشهر الذى يوافق شهر تاريخ البداية لم يحصل فيه لنفس الموظف الحالى على اكثر من عدد 1 يوم عارضة
    ونفس التحقق مع الشهر الجديد التالى وهو تاريخ النهاية بالنسبه للشهر الذى يخص تاريخ النهاية

    3- التحقق من الإجازات العارضة المتتالية: يجب التأكد أنه لا يوجد أكثر من يومين عارضة اجمالا متتاليين سواء في نفس الجلسة أو في جلسات مختلفة :
    يعنى لو تم عمل سجل بتاريخ يوم 5 فى جلسه سابقة وفى الجلسة الجديده يتم محاولة تسجيل يوم 6 اذا المجموع يوميان متتاليان هذا مقبول .
    اما اذا تم عمل سجل بتاريخ يوم 5 فى جلسه سابقة وفى الجلسة الجديده يتم محاولة تسجيل يوم 6 ويوم 7 اذا المجموع يوم سابق مع يومان متتاليان هذا غير مقبول .
    وطبعا ممكن ييحصل العكس  يكون يكون هناك سجلان بتواريخ متتاليه ويراد تسجيل سجل جديد اما بتاريخ سابق او لاحق ليكون العدد النهائ 3 اايم متتاليه هذا غير مقبول .
    وللاسف لابد من الاخذ فى الاعتبار انه ممكن يتم تسجيل حديث لاى نوع من انواع اليوميو العارضة او الاعتيايدة حتى ثم فى جلسة عمل جديده يتم محاولة تسجيل ايام قد تكون اقدم من التاريخ الذى تم تسجيله من قبل ولكن فى النهايه التواريخ متتاليه ومتلاحقة ومتصلة

    التحقق من عدم وجود فجوة بين الإجازات العارضة على ان تكون هذه الفجوة هى عطلات رسمية أو اسبوعية او اعتيادية:
    يجب التأكد من أن الإجازات العارضة متصلة بشكل فعلي دون أن يكون بينها عطلات رسمية، أسبوعية، أو إجازات اعتيادية.
    امثله
       - يوم 3/4/2025 مسجل كاجازة عارضه فى الجدول لنفس الموظف الحالى المفروض لا يقبل عند تسجيل يوم 6/4/2025 اجازة عارضة لان التواريخ 4,5 هى لتواريخ توافق ايام العطلات الاسبوعيه ( الجمعة , السبت ) وذلك وفق جدوال العطلات
       - يوم  17/4/2025 مسجل كاجازة اعتيادية فى الجدول لنفس الموظف الحالى المفروض لا يقبل عند تسجيل يوم 20/4/2025 كاجازة عارضة لان يوم 18.19 هى لتواريخ توافق ايام العطلات الاسبوعيه ( الجمعة , السبت ) وذلك وفق جدوال العطلات وبذلك يكون يوم 20 الذى نريد تسجيله فى هذه الجلسه متصل مع الاجازة الاعتيادية بشكلل متلاحق غير مباشر لانه يتخللهما عطلات اسبوعيه
    ونفس ما سبق لو مع عطلات رسمية
    ونفس ما سبق لو كانت عطلات اسبوعيه يلاحقها بشكل مباشر عطلات رسميه

    قواعد الإجازة الاعتيادية:
    التحقق من الإجازات الاعتيادية التي تسبق أو تلي إجازة عارضة: يجب التأكد من أنه لا توجد إجازة اعتيادية تسبق مباشرة إجازة عارضة أو تليها مباشرة. مثل التحقق السابق الذى يخض: التحقق من عدم وجود فجوة بين الإجازات العارضة على ان تكون هذه الفجوة هى عطلات رسمية أو اسبوعية او اعتيادية 


    وهناك قاعدة مشتركة مع الأنواع ( اعتيادية , عارضة ) التحقق من ان رصيد الموظف المستخدم الحالى يسمح بعد خصم عدد الايام المراد تسجيلها من الرصيد الحالى له تبعا لكل نوع
    وطبعا لانه يتم تسجيل كل تاريخ فى سجل محدد
    اذا عدد السجلات للموظف الحالى من النوع اعتياديه أو النوع عارضه سوف تمثل عدد الايام السابقة التى تم الحصول عليها  والتحقق يكون بإضافة عدد الأيام الجديدة المراد تسجيلها - العدد الاجمالى الذى يستحقه الموظظف والمسجل فى الجدول tblEmployeeData فى الحقول
    AnnualBalanceOfYear
    CasuaaBalanceOfYear


    اما الانواع بدل ساعات أو بدل مبيت التحقق لها كالتالى 
    تاريخ البداية هو يوم الاجازة يتم تسجيله فى الجدول: tblDailyRecords  فى الحقل : RecordDate بشرط انا لا يوكون مستخدما من قبل لنفس الموظف الحالى فى نفس الحقل : RecordDate 
    اما تاريخ النهاية 
    1- لابد من التأكد من أن القيمة CheckInTime فى الجدول tblAttendance لنفس الموظف الحالى غير فارغه 
    2- لابد ان يتم التأكد من أن تاريخ النهاية غير مستخدم من قبل لنفس الموظف الحالى فى الجدزل : tblDailyRecords فى الحقل : AllowanceDate حيث أن هذا الحقل هو الذى سوف يتم فيه تسجيل النهايه مع انواع اليوميات فقط (  بدل ساعات أو بدل مبيت )
    ملاحظة هامة مع الانواع فقط (  بدل ساعات أو بدل مبيت ) قد يكون التاريخ الذى يمثل تاريخ النهاية هو عطلة رسمية أو عطلة أسبوعية أو يوم عمل عادى  بدون 

×
×
  • اضف...

Important Information