Monday, May 13, 2013

التفقيط باستخدام اكسل - تحويل الأرقام إلى حروف مكتوبة

الكود المرفق يقوم بتحويل أي رقم إلى حروف (التفقيط) باللغة العربية بالجنيه المصري.
قم بنسخ الكود المرفق و إضافته في Excel VB و ستعمل الوظيفة Monitize كأحد الوظائف الموجودة بإكسل و تساعدك على تحويل أي رقم إلى مبلغ مالي بالحروف بالجنيه المصري. الفيديو التالي يوضح كيفية استخدام الوظيفة الجديدة:

يمكنك نسخ الكود التالي بالكامل و إضافته في إكسل لاستخدامه بعد ذلك. ملحوظة: تم عمل هذا الكود لإجراء وظيفة محددة و يجب اختباره جيدا قبل استخدامه بشكل احترافي.

Public Function Monitize(num_entry)
Dim LE
Dim PT
Dim iVal
Dim fFrac
Dim cDigit
Dim cFrac
Dim result

      LE = " جنيه "
      PT = " قرش "
      iVal = Int(num_entry)
      cDigit = Digit_Translator(iVal)
      fFrac = Val(Right(Format(num_entry, "000000000000.00"), 2))
      cFrac = Digit_Translator(fFrac)
      If cDigit <> "" And fFrac > 0 Then result = cDigit & LE & " و " & cFrac & PT
      If cDigit <> "" And fFrac = 0 Then result = cDigit & LE
      If cDigit = "" And fFrac <> 0 Then result = cFrac & PT
      Monitize = result
      
End Function

Private Function Digit_Translator(X)
Dim n
Dim c
Dim c1
Dim Digit1
Dim c2
Dim Digit2
Dim c3
Dim Digit3
Dim c4
Dim Digit4
Dim c5
Dim Digit5
Dim c6
Dim Digit6

      n = Int(X)
      c = Format(n, "000000000000")
      c1 = Val(Mid(c, 12, 1))
      Select Case c1
            Case Is = 1: Digit1 = "واحد"
            Case Is = 2: Digit1 = "اثنان"
            Case Is = 3: Digit1 = "ثلاث"
            Case Is = 4: Digit1 = "اربع"
            Case Is = 5: Digit1 = "خمس"
            Case Is = 6: Digit1 = "ست"
            Case Is = 7: Digit1 = "سبع"
            Case Is = 8: Digit1 = "ثمان"
            Case Is = 9: Digit1 = "تسع"
      End Select
      
      c2 = Val(Mid(c, 11, 1))
      Select Case c2
            Case Is = 1: Digit2 = "عشر"
            Case Is = 2: Digit2 = "عشرون"
            Case Is = 3: Digit2 = "ثلاثون"
            Case Is = 4: Digit2 = "اربعون"
            Case Is = 5: Digit2 = "خمسون"
            Case Is = 6: Digit2 = "ستون"
            Case Is = 7: Digit2 = "سبعون"
            Case Is = 8: Digit2 = "ثمانون"
            Case Is = 9: Digit2 = "تسعون"
      End Select
      
      If Digit1 <> "" And c2 > 1 Then Digit2 = Digit1 + " و" + Digit2
      If Digit2 = "" Then Digit2 = Digit1
      If c1 = 0 And c2 = 1 Then Digit2 = Digit2 + "ة"
      If c1 = 1 And c2 = 1 Then Digit2 = "احدى عشر"
      If c1 = 2 And c2 = 1 Then Digit2 = "اثنتى عشر"
      If c1 > 2 And c2 = 1 Then Digit2 = Digit1 + " " + Digit2
      c3 = Val(Mid(c, 10, 1))
      Select Case c3
            Case Is = 1: Digit3 = "مائة"
            Case Is = 2: Digit3 = "مئتان"
            Case Is > 2: Digit3 = Left(Digit_Translator(c3), Len(Digit_Translator(c3))) + "مائة"
      End Select
      If Digit3 <> "" And Digit2 <> "" Then Digit3 = Digit3 + " و" + Digit2
      If Digit3 = "" Then Digit3 = Digit2
      
      c4 = Val(Mid(c, 7, 3))
      Select Case c4
            Case Is = 1: Digit4 = "الف"
            Case Is = 2: Digit4 = "الفان"
            Case 3 To 10: Digit4 = Digit_Translator(c4) + " آلاف"
            Case Is > 10: Digit4 = Digit_Translator(c4) + " الف"
      End Select
      If Digit4 <> "" And Digit3 <> "" Then Digit4 = Digit4 + " و" + Digit3
      If Digit4 = "" Then Digit4 = Digit3
      c5 = Val(Mid(c, 4, 3))
      Select Case c5
            Case Is = 1: Digit5 = "مليون"
            Case Is = 2: Digit5 = "مليونان"
            Case 3 To 10: Digit5 = Digit_Translator(c5) + " ملايين"
            Case Is > 10: Digit5 = Digit_Translator(c5) + " مليونا"
      End Select
      If Digit5 <> "" And Digit4 <> "" Then Digit5 = Digit5 + " و" + Digit4
      If Digit5 = "" Then Digit5 = Digit4
      
      c6 = Val(Mid(c, 1, 3))
      Select Case c6
            Case Is = 1: Digit6 = "مليار"
            Case Is = 2: Digit6 = "ملياران"
            Case Is > 2: Digit6 = Digit_Translator(c6) + " مليارات"
      End Select
      If Digit6 <> "" And Digit5 <> "" Then Digit6 = Digit6 + " و" + Digit5
      If Digit6 = "" Then Digit6 = Digit5
      Digit_Translator = Digit6
      
End Function

Sunday, May 12, 2013

التخطيط و إدارة المشاريع.. ليست معركة و ليست نزهة..


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

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


هل يجب على الجميع فهم أساسيات إدارة المشاريع؟ أم أن هذا الأمر يقتصر على فئة ما دون غيرها؟
و هل كل منا يحتاج لهذه الأساسيات؟
بالتأكيد..
فمن منا لم يحلم بامتلاك مشروعه الخاص؟
و من منا لم يجد نفسه يوماً ما جزءاً من مشروع أياً كان حجم هذا المشروع؟
أليست المهام الصغيرة التي قد تكلف بها مع زملائك بالعمل هي في حقيقتها مشاريع صغيرة؟
أليس تصنيع سيارة أو طائرة أو حتى لعبة أطفال هو مشروعاً؟
أليس بناء تطبيق للحاسب الآلي مشروعاً؟
بل .. أليست كتابة هذه السطور مشروعاً؟!

بالتأكيد هي كذلك..

إن المشاريع.. أية مشاريع ، سواء كانت تجارية أم صناعية أو حتى خدمية ، تتألف من مجموعة محددة من الأنشطة Tasks و المراحل Phases ، التي يؤدي تنفيذها بمواصفات صحيحة إلى اكتمال المشروع و نجاحة في الوصول لهدفه ، بينما يؤدي الإخلال بتلك المواصفات أو عدم الالتزام بتنفيذ تلك الأنشطة إلى فشل هذا المشروع أو على الأقل عدم تحقيقه لأهدافه بالكامل.

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

نظرة تاريخية

هذه الأساليب العلمية الموجودة حالياً و التي أصبح تطبيقها أحد أهم عناصر نجاح المشاريع ، يرجع تاريخها إلى بدايات القرن العشرين ، و تحديدأ عام 1900 ، عندما قام كل من Henry L. Grantt / Fredrick O. Taylor بوضع أسلوب علمي للتخطيط للمشاريع ، يعتبر هو حجر الأساس لما يسمى بالبرامج الخطية ، و التي تعتمد بالأساس على تمثيل الأنشطة المختلفة للمشروع بشرائط ، أو خطوط أفقية منفصلة ، في تمثيل بياني زمني:

و هذا الأسلوب يعتبر من أكثر الأساليب انتشاراً لسهولته.و لأن الحاجة أم الاختراع فلقد حمل عام 1958 عبء تقديم أسلوب جديد للتخطيط الزمني و متابعة المشاريع ، عندما قامت شركة Sperry Raud بابتكار أسلوب المسار الحرج Critical Path Method (CPM) لاستخدامه في إدارة أعمالها الإنشائية ، و هذا الأسلوب يعتمد بالأساس على التحليل المنطقي الذي يسمح تحديد الأنشطة الحرجة و التي يجب تنفيذها في مواعيد محددة لضمان نجاح خطة تنفيذ المشروع ، و المسار الحرج هنا هو خط (مسار وهمي) يربط بين الأنشطة الحرجة ، و التي لا يسمح في تنفيذها بأي هامش للتأخير أو الانحراف عن الخطط و التواريخ الموضوعة مسبقاً.
و في عامي 1958-1959 قامت البحرية الأمريكية بالتعاون مع شركة Lookheed بتطوير برنامج تخطيطي جديد لاستعماله في إدارة عمليات انتاج أنظمة الصواريخ ذات الرؤوس النووية ، و هذا الأسلوب يسمى أسلوب بيرت Pert و يساعد في تقييم و مراجعة المشروع خلال مراحله المختلفة.

 

مراحل المشروع
و حتى يمكننا التعرف على الأساليب العلمية للتخطيط و متابعة المشروعات ، يجب أن نتعرف أولاً على مراحل المشروع:

مرحلة التصور المبدئي و دراسة الجدوى
و هذه المرحلة تشمل الخطوات التالية:
  1. دراسة الخطط المقترحة لتنفيذ المشروع و عناصرها لاختيار أفضلها ، و تقسيم المشروع بمراحله المختلفة إلى مجموعة محددة من الأنشطة ، كما تشمل تلك الخطوة تقدير التكلفة المبدئية لتنفيذ المشروع.
  2. وضع الخطة الزمنية المبدئية ، و ذلك عن طريق إجراء دراسة للأنشطة الأساسية للمشروع ، و تحديد تخطيط حرج CPM لأنشطة المشروع تحت جميع الظروف المحتملة ، و بالتالي تقدير الزمن الذي يستغرقه تنفيذ المشروع.
  3. دراسة المخاطر المتوقعة و المشاكل التي قد تواجه تنفيذ المشروع في جميع مراحله ، و التي قد تؤثر على زمن و تكلفة تنفيذ المشروع ككل. و يقوم بهذه الدراسة خبراء لديهم الخبرة و الدراية بمشروعات شبيهة ، و يكون ضمن تلك الدراسة وضع الحلول المقترحة لتلك المخاطر أو المشاكل التي تواجه أنشطة المشروع ، مثل توفير موارد إضافية (عمالة أو معدات أو خامات) ، أو زيادة الفترة الزمنية لتنفيذ تلك الأنشطة.
مرحلة التخطيط و التصميم
و هذه المرحلة تشمل الخطوات التالية:
  1. تحديد الموارد المختلفة المطلوبة لكل نشاط من أنشطة المشروع ، من عمالة و معدات و خامات..الخ.
  2. وضع جدول زمني تفصيلي للمشروع بناء على الموارد المتوفرة و الخطة الزمنية الحرجة للمشروع.
  3. إعداد نظام مبدئي لمتابعة المشروع يضمن توفير التقارير الموضحة للحالة الفعلية للتنفيذ ، و مدى توفر الموارد في كل مرحلة من المراحل.
  4. حساب التدفقات النقدية للمشروع بأنشطته المختلفة ، و وضع الخطط الخاصة بخفض التكلفة ، بما لا يخل بالتخطيط الزمني للمشروع ولا يؤثر على كفاءة إنجازه.
مرحلة التنفيذ
و تشمل المتابعة الدقيقة لتنفيذ جميع أنشطة المشروع لحظة بلحظة ، و حل جميع المشاكل و المعوقات التي تطرأ أثناء تنفيذها ، مع تحديث الخطة الزمنية للمشروع و تكلفته بناءً على ذلك ، و إجراء كافة اختبارات و إجراءات الجودة الخاصة بكل نشاط من أنشطة المشروع. و تجدر الإشارة إلى أن رصد معدل تنفيذ أنشطة المشروع هي من أهم وظائف تلك المرحلة.

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

الإدارة و التخطيط للمشروعات.. المفاهيم الأساسية
هناك بعض المفاهيم الأساسية التي تسهل من فهم أساليب إدارة المشروعات. هذه المفاهيم تشكل حجر الأساس الذي يجب أن يدخل في بناء أي فكر تخطيطي للمشروعات:
  1. لا يكون للمشروع عائد مادي طوال فترة الإعداد و التنفيذ، و بالتالي يجب التحكم في وقت و تكلفة جميع أنشطة المشروع بدقة متناهية.
  2. تحديد درجة المخاطرة للمشروع و أخذها بالاعتبار عند وضع خطة التنفيذ.
  3. الأخذ بالاعتبار صعوبة حصر جميع المشاكل و المعوقات التي قد تطرأ  أثناء مراحل التخطيط و التنفيذ.
  4. يجب أن يتم تخصيص فريق محترف يختص بإدارة المشروع و متابعة تنفيذه.

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

إدارة التكلفة  Cost Control
هذه العملية تعتمد على ما تم تقديره من موارد ضرورية لتنفيذ المشروع ، و تحديث الجدول الزمني للمشروع طبقاً لظروف و طبيعة سير العمل ، و بالتالي يتم تحديد التكلفة الكلية للمشروع ، و يمكن التحكم بها بشكل أفضل ، كما يؤدي ذلك إلى الوصول لشكل أكثر تفصيلاً للبرنامج الزمني للمشروع.

إدارة الجودة Quality Control
تفاصيل هذه العملية تختلف باختلاف نوع المشروع و هدفه ، و إن كان الغرض الأساسي منها هو وضع و تنفيذ الضوابط التي تحكم قبول أو رفض نتائج المشروع.
ويتم وضع خطة زمنية ثم متابعة تلك الخطة و تحديثها باستمرار طوال فترة تنفيذ المشروع ، و ذلك حسب ما يطرأ على عملية التنفيذ من مشاكل أو تعديلات. و يتم دراسة و تحديد أسلوب تنفيذ أنشطة المشروع و وضعها في تسلسل منطقي تمهيداً لتحقيق هدفين ، و هما "وضع جدول زمني للتنفيذ" و "حصر الموارد المطلوبة لتنفيذ المشروع".

إدارة التكلفة  Cost Control
هذه العملية تعتمد على ما تم تقديره من موارد ضرورية لتنفيذ المشروع ، و تحديث الجدول الزمني للمشروع طبقاً لظروف و طبيعة سير العمل ، و بالتالي يتم تحديد التكلفة الكلية للمشروع ، و يمكن التحكم بها بشكل أفضل ، كما يؤدي ذلك إلى الوصول لشكل أكثر تفصيلاً للبرنامج الزمني للمشروع.

إدارة الجودة Quality Control
تفاصيل هذه العملية تختلف باختلاف نوع المشروع و هدفه ، و إن كان الغرض الأساسي منها هو وضع و تنفيذ الضوابط التي تحكم قبول أو رفض نتائج المشروع.

الدراسات التي تسبق عملية التخطيط للمشروعات
1. دراسة الشروط و الضوابط العامة:
و تشمل دراسة جميع الضوابط الواجب تطبيقها ، و التي لا يمكن تجاهلها مثل السندات القانونية و المواصفات القياسية و الاتفاقات و التعاقدات المبرمة و المؤثرة بالعمل بشكل مباشر...الخ.
2. وضع خطة التنفيذ المقترحة Method Statement:
و تشمل تخطيط الشكل الذي سيكون عليه المشروع في مراحله المختلفة ، و حتى نهاية عمليات التنفيذ ،و بدء التشغيل. هذه العملية تساعد على تجنب العمل العشوائي و المفاجآت ، مما ينعكس على تكلفة و كفاءة المشروع بصورة واضحة. كما تشمل هذه الدراسة وضع خطة محكمة و واضحة لتنظيم المهام و مواقع العمل المختلفة ، مع مراعاة توفير نظام يسمح باتصالات سهلة بين مواقع المشروع المختلفة مما يسمح بتبادل الملاحظات و تدفق المعلومات بين هذه المواقع بكفاءة. هذا و تجدر الإشارة إلى أن سوء تخطيط مواقع العمل في بعض المشروعات يؤدي إلى خسارة تقدر بـ 5% من حجم المشروع.
كما تجدر الإشارة إلى أن دراسة و تحليل البيانات و الإحصاءات المتراكمة عبر المشاريع المشابهة التي تم تنفيذها من قبل History & Statistics ، تساعد على وضع خطة منطقية و قابلة للتنفيذ ، كما تقلل من احتمالات حدوث مفاجآت غير متوقعة خلال مراحل المشروع المختلفة. هذه العملية تتطلب خبرة في إدارة المشاريع و قدرة مناسبة على التحليل المنطقي لنتائج و بيانات و أحداث المشاريع السابقة.

3. إعداد قائمة أنشطة المشروع Activities List:
و هذه الدراسة تشمل حصرو تصنيف جميع الأنشطة الخاصة بالمشروع بدءاً من التخطيط و حتى  انتهاء التنفيذ و بدء التشغيل. و عملية حصر الأنشطة لأي مشروع لها العديد من الأساليب هي:
  1. بحسب مناطق المسئولية : فمثلاً في مشاريع إنشاءات المباني يمكن اعتبار بند الأعمال الخرسانية لكل مبنى نشاطاً مستقلاً.
  2. بحسب الموارد المستخدمة : أي وضع العمليات التي يتم انجازها بواسطة موارد من نفس النوع في نشاط واحد. فمثلاً في مشاريع تصنيع السيارات يمكن اعتبار عمليات طلاء السيارات نشاطاً مستقلاً ، حيث تعتمد في تنفيذها على نفس الموارد (عدد ثابت من المعدات و المواد الخام و العمال لكل سيارة).
  3. بحسب الأجزاء المختلفة للمشروع : ففي المثال السابق يمكننا اعتبار عمليات الطلاء نشاطاً ، و عمليات تركيب الدوائر الكهربية نشاطاً آخر...الخ.
  4. بحسب الموقع الجغرافي : أي يتم تقسيم المشروع لأجزاء حسب مواقعها الجغرافية ،و اعتبار كل قسم نشاطاً مستقلاً. مثال ذلك إنشاء سلسلة من المحلات التجارية ، حيث يتم اعتبار عملية إنشاء كل فرع نشاطاً ضمن المشروع الرئيسي و هو انشاء سلسلة المحال التجارية.
  5. بمطابقة التكاليف لبنود العمليات : أي اعتبار كل عنصر من عناصر تكلفة المشروع نشاطاً مستقلاً. مثال ذلك مشروع تجهيز أحد المستشفيات بالأجهزة الطبية ، حيث يتم اعتبار عملية شراء كل جهاز طبي نشاطاً مستقلاً.

4. حساب الزمن االلازم لتنفيذ النشاط Original Duration:
و هنا يجب مراعاة بعض الضوابط مثل :
-  دراسة كل نشاط من الأنشطة بمعزل عن بقية الأنشطة الأخرى.
-  تحديد الموارد المطلوبة لتنفيذ كل نشاط ، بمايضمن التنفيذ بأقصى كفاءة و تحت جميع الظروف.
و تحتسب مدة تنفيذ النشاط من العلاقة التالية:
المدة بالأيام = كمية العمل \ (عدد الموارد x معدل الآداء)
فمثلاً لطلاء مساحة 400م2 من الحوائط ، باستخدام 4 فنيين ، و على فرض أن معدل آداء الفني هو 25 م2 باليوم ، تكون المدة التي يستغرقها انجاز هذا العمل (النشاط) هي:
400 \ (25 X 4) = 4 أيام.
لاحظ أن زيادة عدد الفنيين سوف يؤدي بالطبع إلى تقليل زمن تنفيذ النشاط ، و لكن يجب إجراء ذلك بما يضمن عدم زيادة التكلفة عن الحد المسموح به في الدراسة الفنية للمشروع ، و بما يضمن عدم حدوث تداخل بين مهام الفنيين و عملهم ، مما يؤخر من سير العمل! و هنا تبرز أهمية التخطيط الدقيق و كفائة من يقومون بوضع و متابعة خطط المشروع.

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

في النهاية يمكننا القول أن تخطيط و إدارة المشاريع ليس بالمهمة السهلة و ليس بالخيار الذي يمكن تجاوزه ، و إنما هو ضرورة ملحة لضمان تحقيق أفضل النتائج. و إذا كان التخطيط و المتابعة و الإدارة على هذا القدر من الأهمية ، و له كل هذا القدر من الضوابط و التنوع في الأساليب ، فإن هذا لا يعني أبداً أنه طريق معقد ، و إنما هو علم مستقر الأركان ، يأخذ بيدك خطوة بخطوة عن طريق مجموعة متجانسة من الضوابك و الإجراءات ، حتى يصل بك إلى النجاح الذي تبغيه. بل إن الأمر أصبح أكثر سهوله بعد أن تم تطوير العديد من تطبيقات الحاسب الآلي التي تساعد المتخصصين على تخطيط و إدارة المشروعات ، نذكر من هذه التطبيقات الشهيرة:
- Primavera Project Planner.
- Microsoft Project.




Thursday, May 9, 2013

طريقة تغيير فترة صلاحية كلمة السر في ويندوز

هذا الحل خاص بتغيير فترة صلاحية كلمة السر الافتراضية في أنظمة ويندوز و التي تضطر المستخدم بعد فترة معينة إلى تغيير كلمة 
المرور.

يمكنك تنفيذ هذا الحل و سيعمل معك بشكل مناسب مع العلم أن أدمن الشبكة (إذا كنت  متصلا بشبكة) مازال يمكنه فرض أو إعادة تنشيط هذه الخاصية من جديد سواء من خلال أدوات تحكم الشبكة أو من خلال سكريبت خاص. لهذا ننصح في حالة ارتباطك بشبكة العمل في شركتك أو مؤسستك بالالتزام بسياسة مواصفات كلمات السر المتبعة.

ينطبق هذا الحل على أنظمة ويندوز التالية:

Windows XP, Vista, 7, 8, Windows Server 2003, 2008

كما ينطبق في حالات الشبكات التالية:
Stand Alone PC
Work Group Network
Domain Network (if no forced group policy is applied)

الفيديو التالي يوضح كيفية تعديل صلاحية كلمة السر في ويندوز بحيث تصبح صالحة للأبد ولا تضطر لتغييرها:

Change password expiry in windows systems group policy.

How To Create LSMW Program in SAP

The below video will show detailed example of creating simple LSMW program / recording in SAP.