الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ارجووووو المساعدة في انشاء هذا التقرير

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته


يا شباب انا واقف عند هذا التقرير وهو حساب الاوقات للموظف بمعنى حساب ساعات التأخير للموظف

انا انشأت تقرير توضيحي يبين ما ذا اريد وهذا هو الرابط

http://www.4shared.com/file/64728218/d5ef8...rified=cfd1ba8d

بحيث عدد ساعات دوام الموظف يتم حسابه من دوامه في الصبح والليل

عدد الساعات المعتمدة يقوم المستخدم بادخالها عن طريق وضع براميتر عندما ينادي التقرير ا يدخل 240 ساعة مثلا ثم يقوم التقرير بانقاص عدد الساعات المعتمدة التي هي 240 من عدد ساعات عمله يأتي عدد ساعات الخصم

اريد عندما تكون هناك 30 دقيقة مع 30 دقيقة يتم حسابها ساعة وليس 60 دقيقة

وايضا عندما انشئ ال database ماذا اضع قيم ساعة الدخول وساعة الخروج التي في التقرير نوعها date او ماذا

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

وهذا ايضا رابط للفورمة التوضيحية انشأتها لكي تفهمو الصورة كيف ماشية بحيث ادخل البيانات بدون حسابات

http://www.4shared.com/file/64863877/cd4a2...rified=cfd1ba8d

ارجووووو من الخبراء ان يحلو هذا التقرير وسوف ادعيله ليل ونهار

تم تعديل بواسطة alsofi

بتاريخ:

الأخ الكريم ، المشكله كلها متعلقة بساعة الحضور الفعلية والساعة حضور الوريدية ، وكذلك عملية الإنصراف !!!

أنشأ جدوي خاص بعملية الحضور والإنصراف اليومي ، يحتوي علي 5 حقول كما يلي :

1- حقل لبداية الوردية ، ودة سيدرج به البداية الفعلية للوردية ، ودة سيأخذ من من جدول الورديات "بداية الوردية" ، ولكن بالطبع يجب أن تجلب بداية الوردية علي أساس ضبطها لليوم الحالي كما يلي :

CREATE OR REPLACE FUNCTION GET_TIME_DAY(ID_TIME DATE) RETURN DATE
AS
BEGIN
  -- تهيئة التاريخ بحيث أن يكون ملائم لليوم الحالي أياً كان --
  RETURN TO_DATE(TO_CHAR(SYSDATE,'yyyy-mm-dd') || ' ' || TO_CHAR(ID_TIME,'HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS');
END;
/



بحيث أنه يقوم بضبط التاريخ المخزن في حقل "بداية الوردية" في صورة اليوم الحالي.

2- نهاية الوردية ، نفس بداية الوردية.

3- البداية الفعلية لحضور الموظف ، ودي هنخزن فيها تايخ الساعة الحالية لحدور الموظف "بحث باركودي" ، وطبعاً سيتم التخزين علي أساس الغرض SysDate الحالي الموجود علي الحاسب الآلي.

4- النهاية الفعلية لإنصراف الموظف ، نفس بداية حضور الموظف ولكن علي أساس إنصرافه.

5- تاريخ اليوم ، في هذه الحالة يدرج تاريخ اليوم الحالي ولكن ليس في صورة SysDate ، ولكن جلب السجل الأول من جدول الورديات ومن ثم إدراج بداية يومة ، علشان بداية اليوم الطبيعية هي الساعة 00:00:01 ، لكن ممكن يكون بداية وردية الشركة بيكون الساعة 08:00:00 صباحاً ، دة غير أن هذا التاريخ بنستخدمة في بناء التقارير الشهرية للمرتبات مثلاً ، دة غير طبعاً الورديات والتبديل بينهم.

بكدة يكون لديك جدول شامل عن عملية الحضور والإنصراف [بداية الوردية - البداية الفعلية للحضور - نهاية الوردية - النهاية الفعلية للحضور-بداية الوردية الفعلية]

الآن أنت قادر علي بناء تقرير شامل عن عملية الحضور والإنصراف بالساعة والدقيقة ، بس للأسف فية عيب واحد ، أن الموظف لازم ييجي في آخر الوردية بدقائق معدودة ويخزن إنصراف الموظف حتي لا يتم إحتسابة أنه خرج في معاد غير لائق فتضطر الي جعلة يوم غياب.



بالتوفيق

بتاريخ:
  • كاتب الموضوع

شكرا يا اخي MMA على تفاعلك

يا اخي بصراحة انا لم افهم من كلامك الكثير

هل استطيع ان اعمل نفس التقرير اللذي وضعت رابطه

هل يا اخي تستطيع ان تعمل لي مثال من انشاء data base وبناء التقرير


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

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

هل يا اخ MMA فكرتي هذه اللتي عملتها تنفع انا قلت سوف اعمل جدولين جدول فيه رقم الموظف . واسمه

والجدول الثاني فيه الحقول الاتية الرقم . اليوم . التاريخ . ساعة دخوله .ساعة خروجه (الفترة الصباحية ) . ساعة دخوله .ساعة خروجه ( الفترة المسائية) . ملاحظات

في التقرير اضع عدد ساعات دوام الموظف يحسبها من دوامه في الصبح والليل وفي اخر الشهر اقوم بطرح عدد الساعات الفعلية التي هي 240 ساعة او 248 ساعة هذه فقط يدخلها الموظف في التقرير ومن ثم يتم انقاصها من عدد ساعات دوام الموظف في الشهر يطلع عندنا عدد ساعات الخصم

بس المشكلة لا اعرف كيف احسب الاوقات بحيث 30 دقيقة مع 30 دقيقة ساعة وليس 60 دقيقة

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

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

قمت بتوضيح التقرير اكثر عشان تفهم الصورة هذا رابط التقرير
http://www.4shared.com/file/64907698/29689...rified=cfd1ba8d


جزاك الله كل خير يا اخ MMA وارجووووو مساعدتك يا اخ MMA لم اقابل مشكلة حقيقة في برنامج ما مثل ماقبلت هذه المشكلة في هذا البرنامج


وجعلها في موازيين حسناتك

تم تعديل بواسطة alsofi

بتاريخ:

الأخ الكريم ، هو الموضوع كبير شيوية فأعزرني إذا قصرت في حقق !!!

بص يا أخي ، لو تم إدخال البيانات صح سيرتجع تقارير صح الصح !!!

علشان مطولش عليك ، أنظر الي المثال المرفق ... حيث طالبني أحد أصدقائي به من قبل

هو نفس الفكرة تقريباً ، بس التقرير لا يحتوي علي كل شيء ، بل أهم العمليات الضرورية لبناء مثل هذا النوع من التقارير .


أنظر إلية وأخبرني



بالتوفيق

Presence.zip

بتاريخ:

مرحبا
اللي فهمتوا انك بدك تعمل حساب للساعات الإضافية؟؟
انت لازم يكون عندك :
1- وقت بداية الدوام مثلا "08:30"
2- وقت نهاية الدوام مثلا "4:00"

حاول تطلع على هاي الشاشة:

post-71508-1222699281_thumb.jpg

time.zip

تم تعديل بواسطة ORA-2008

بتاريخ:
  • كاتب الموضوع

ارجوووووو ان تكونو فهمتوني يا اخوان



هل تستطيعون ان تساعدوني في بناء هذا التقرير



بالنسبة للاخ ORA-2008 لقد حملت الفورمة بس لم تساعدني في بناء التقرير




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


بلييييييييييز جزاكم الله كل خير

بتاريخ:

الأخ الكريم هل نظرت الي المثال الذي أدرجتة لك ؟؟؟

علي فكرة هو نفس الطلب بس حاولت أن أضع في المثال طلبك علي ق در المستطاع ... ياريت تنظر وتخبرني !!!



بالتوفيق

بتاريخ:
  • كاتب الموضوع

السلام عليكم يا اخ MMA

انا كل الاشكال عندي الحسابات عندي سؤالين

السؤال الاول : انا عملت هذا البرنامج من قبل بس المشكلة انني عملت كل الcolumns في الداتا بيز varchar2 وقمت بادخال كل شي وكان كل شي على مايرام بس المشكلة اتت في الحساب

بمعنى اذا كان عندي ,30 و .30 يحسبها ,60 انا اريدها تأتي 1 بمعنى ساعة هل هناك دالة او ما شابه تقوم بالتقريب او ماشابه انا جربت round ولكن لم تأتي معي اذا كنت يا اخي تعرف اي شي عن هذا الموضوع فأرجوو ان تخبرني

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


ارجوووووووو ك يا اخ MMA ان تساعدني برنامجي

بتاريخ:
السؤال الاول : انا عملت هذا البرنامج من قبل بس المشكلة انني عملت كل الcolumns في الداتا بيز varchar2 وقمت بادخال كل شي وكان كل شي على مايرام بس المشكلة اتت في الحساب


من المفضل إستخدام قيم مناسبة للبيانات وإلا ما فائدة قاعدة البيانات بدون إستخدام إمكانياتها !!!!

لكن لو مثلاً حبيت تستخدم نوع VarChar2 مع بيان رقمي أو نصي لهدف تشفير الحقول ... في هذه الحالة يجب أن تخزن البيانات صح !!!

يعني مثلاً التاريخ ، لا تقم بإدراج سجل علي أساس SysDate مباشرتاً ، بل يجب إدخال كافة التنسيق كما يلي :

Insert Into TBL(FLD) Values(To_Char(SysDate,'yyyy/mm/dd hh24:mi:ss'));



وليس هكذا :

Insert Into TBL(FLD) Falues(SysDate);



طب السؤال ما هو السبب في ذلك ؟؟؟

لأنك متضمنش التنسيق الصحيح للتاريخ في مسجل النظام RegEdit ، حيث مثلاً يكون التنسيق "dd/mm/yy" ، في هذه الحالة التاريخ تم إدراجة علي أساس يوم وشهر وسنة ، أما الساعة فلم يدرج منها شيء !!!

حاول كدة تستخدم الكود التالي كذا مرة ، بحيث أن يكون هناك فترة بين المرة الأول والثانية ، يعني 10 دقائق :

Select To_Char(To_Date(FLD),'yyyy/mm/dd hh24:mi:ss') As FLD From TBL;



ستجدة كل مرة يرتجع قيمة "00:00:00" للساعة !!!

يبقي الشيء الصحيح أن ندخل التاريخ كامل .. ويجب أن تعلم أن حقل التاريخ حينما يتم إدراج قيمة بداخلة عن طريق SysDate بيخزن في صورة "yyyy/mm/dd hh24:mi:ss" ، يعني كاملاً ، لكن التنسيق المرتجع دة بيختلف

لكن لو إستخدمنا حقل VarChar2 مثلاً ، مش هيخزن إلا الصورة التي أدخلت بها التاريخ



بمعنى اذا كان عندي ,30 و .30 يحسبها ,60 انا اريدها تأتي 1 بمعنى ساعة هل هناك دالة او ما شابه تقوم بالتقريب او ماشابه انا جربت round ولكن لم تأتي معي اذا كنت يا اخي تعرف اي شي عن هذا الموضوع فأرجوو ان تخبرني


من الطبيعي أن يتم عرض النتيجة "60" وليس "1" ، لأنك بتجمع قيم رقمية عادية !!!

وبعدين النظاتم العشري حاجة أو أنظمة الحاسب حاجة ونظام الساعة والتاريخ حاجة تانية !!!

يعني أفضل شيء لو كنت عايز تجمع ساعة علي ساعة تحاول تصنع Function خاص بذلك بحيث أن يعاونك علي بناء عملية الجمع بينهم ... وكمبدئياً أنظر الي فكرة الجمع الصحيح بين ساعتين :

Create Or Replace Function Add_Date(In_Date1 Date, In_Date2 Date) Return VarChar2
As
 SS   Number;
 MI   Number;
 HH   Number;
 -- DD   Number;
 -- MM   Number;
 -- YY   Number;
 MOD_NEXT  Number := 0;
 ID_Return VarChar2(50);
Begin
 SS := To_Number(To_Char(In_Date1,'SS')) + To_Number(To_Char(In_Date2,'SS'));
 If(SS > 59)Then
MOD_NEXT := 1;
SS := SS - 60;
 Else
MOD_NEXT := 0;
 End If;
 MI := To_Number(To_Char(In_Date1,'MI')) + To_Number(To_Char(In_Date2,'MI')) + MOD_NEXT;
 If(MI > 59)Then
MOD_NEXT := 1;
MI := MI - 60;
 Else
MOD_NEXT := 0;
 End If;
 HH := To_Number(To_Char(In_Date1,'HH24')) + To_Number(To_Char(In_Date2,'HH24')) + MOD_NEXT;
 If(HH > 23)Then
MOD_NEXT := 1;
HH := HH - 24;
 Else
MOD_NEXT := 0;
 End If;
 
 ID_Return := TRIM(TO_CHAR(HH,'00')) || ':' || 
		   TRIM(TO_CHAR(MI,'00')) || ':' || 
		   TRIM(TO_CHAR(SS,'00'));
 
 Return ID_Return;
End;
/
-- SELECT TO_CHAR(F1,'HH24:MI:SS') AS F1,TO_CHAR(F2,'HH24:MI:SS') AS F2,ADD_DATE(F1,F2) AS ADD_DATE FROM TBL;



ملحوظة ، اليوم والشهر والسنة غير فعالة ، حيث لها نظام آخر !!!


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


كما ذكرت لك
بتاريخ:
  • كاتب الموضوع

شكرا يا اخ MMA على مجهودك وتفاعلك معي

والله انني تعبتك معي جزاك الله كل خير وجعلها في موازيين حسناتك



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


ولكن ان عملت البرنامج وشتغلو عليه لاكثر من شهرين وكان كل شي تمام بس جاء المدير وقال اريد حساب عدد ساعات التأخير هنا بدأت المشكلة


اريد يا اخي ان تكون معي خطوة بخطوة لكي نستطيع ان نحل مشكلة الحسابات


اولا انا انشأت الداتا بيز التالية بالجداول التالية


employee(emp_id number primary key ,emp_name varchar2(30

جدول ال times

emp_id number , day varchar2(20),dat date,tim_in_am date,time_out_am date, time_in _pm date,time_out_pm date remarks varchar2(30)


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

بقي عندنا التقرير وهي الاشكالية الكبيرة عندي

سوف اضع في الجدوال فيه وازي عليه د ما وضحت لك في الاعلى بمعنى عدد ساعات دوام الموظف عدد الساعات المعتمدة ( هنا لا يوجد اي اشكال لانه سوف يتم الادخال يدويا)

مجموع عدد ساعات الموظف وايضا عدد ساعات الخصم



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


اولا : لنأتي الى الداتا بيز كيف اقوم بتحويل الصيغة الى وقت لانني جربت وادخلت وقت في الفورمة بس في الداتا بيز جاءت على شكل تاريخ


ثانيا : لنأتي الى التقرير (الذي ارقني) اولا عدد ساعات دوام الموظف اليومية سوف يأخذها من جمع عدد الساعات في الصبح والليل


ثانيا عدد الساعات المعتمدة هنا فقط سوف يقوم المستخدم بالادخال اليدوي

ثالثا عدد ساعات دوام الموظف في الشهر هنا فقط سوف يقوم بجمع حقل عدد ساعاته اليومة

رابعا عدد ساعات الخصم هنا سوف نقوم بطرح عدد الساعات الفعلية من عدد ساعات دوام الموظف في الشهر


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

بتاريخ:
  • كاتب الموضوع

ان شاء الله ماتكون نسيتني

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.