المشاركات : 553
المواضيع 49
:
: 296
الإنتساب : Dec 2008
السلام عليكم
اين مشكلتك اخ فريد
لأستهلنّ الصعب أو أدرك المنى فما انقادت الآمال إلاّ لصابر
المشاركات : 400
المواضيع 2
:
: 274
الإنتساب : Nov 2009
أحد المشاكل :
C'est quoi une rubrique de paye ?
من قال حاد عن أصله أو قال مات فقد كذب
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
(08-06-2018, 05:35 PM)h-farid كتب : C'est quoi une rubrique de paye ? سطر في كشف الراتب
مبلغ يتم اضافته أو إنقاصه
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 400
المواضيع 2
:
: 274
الإنتساب : Nov 2009
رأيت في PC Paye من DLG
999 rubriques
كيف تبرمج؟ هل لها صفات مشتركة ؟ أم أنها كل واحدة على حدى ؟
من قال حاد عن أصله أو قال مات فقد كذب
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
بعد تجربتي مع المنظومة وجدتها أبسط مما كنت اتخيل .
تتمحور كل المنظومة في ثلاث عمليات رئيسية .
![[صورة: 97d311c887fce36.jpg]](http://www.m5zn.com/newuploads/2018/06/08/jpg//97d311c887fce36.jpg)
حفظ بيانات الموظف من راتب وعلاوات وخصميات ومعالجتها في الزيادة والنقصان تم كل شهر يتم تمرير هذه البيانات الى جدول لحفظها بتواريخها وتمر على المتغيرات المثمتلة في مقدار الخصميات والعلاوات حسب القوانين المعمول بها في البلد تم تحويلها الى تقارير من هذا الجدول النهائي .
تبقى الجزئيات في كيفية معالجة هذه البيانات بحسب كل بلد وحسب قوانينها شئ يعود للمستخدم .
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
09-06-2018, 08:16 PM
(آخر تعديل لهذه المشاركة: 09-06-2018, 08:18 PM بواسطة Delphi4Us.)
هناك جزئية توقفت عندها من يوم امس افكر في افضل طريقة لفعلها واريد رأيكم فيها
هناك موظفين منقطعين عن العمل يتم ايقاف مرتباتهم ، وتستمر المنظومة في ادراج مرتبات المستمرين في العمل ولكن قد يحدث ان يعود الموظف للعمل مع عذر شرعي .
وهذا يلزم ان يتم انزال مرتباته في الشهر القادم .
مثلا نحن الان في شهر 6 شهر 7 القادم المفترض ان يتم انزال مرتباته لشهر 6 وشهر 5 وشهر 4 مع شهر 7 .
في المنظومة القديمة التي تخربط الحسابات كان هناك نافذة باسم مرتبات مستحقة تدخل لها وتضيف منها رقم الشهر والسنة .
ويتم اضافتها عند اجراء مرتبات الشهر القادم .
طبعا يبدوا انها تضيفهم في جدول منفصل يتم حذف محتوياته بمجرد انشاء المرتبات في نهاية الشهر
انا فكرت ان اقوم بانزال مرتبات حتى المنقطعين عن العمل ولكن لا يتم احتسابها في التقارير التي يتم احالتها الى المحاسب او المصرف .
وبحال الرغبة في ادراج هذه المرتبات يدخل المستخدم على الجدول ويحدد الشهر والسنة لهذه المرتب اداة CheckBox لتفهم جملة الاستعلام ان هذه الشهور مطلوبة مثلا .
وبذلك لا داعي الى جدول فرعي ولا الى اعادة تحديث بيانات تنزيل المرتبات
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
بالنسبة الى هذا النوع من المنظومات افضل طريقة وجدتها لها هي تجزئة العمل
فما هو ناحية قواعد البيانات يترك لقواعد البيانات اضافة وتعديل وحسابات وخصوصا الحسابات وعمليات التحقق واستعلامات التقارير وما شابه
ويترك الدلفي للواجهات فقط والتنسيق بين الواجهة وبين قاعدة البيانات
في المنظومات الغير حسابية والتي لا تحتاج الى عمليات كثير ربما الدمج بمكان واحد يكون امر عادي
ولكن هنا سيكون خربطة وكارثة كبيرة
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
يبدوا انني بصدد الحصول على ابن جديد ، ارجوا ان يكون ولدا صالحا ومباركا .
![[صورة: 14307f91052d23d.jpg]](http://www.m5zn.com/newuploads/2018/06/13/jpg//14307f91052d23d.jpg)
ولكنه اكثر ولد تعقيدا قمت بانجابه سيكون .
من الصعب جدا ان تعمل على كل الاتجاهات تفكر في الكود وكذلك في كيفية جعل البرنامج سهلا والشاشة بسيطة .
ويجب ان يكون حساب المرتب هنا وليس هنا ، ولماذا يجب علي ان اضع الغياب هنا وليس هنا .
وهل يجب ان يكون مجموع الاساسي بخط اكبر من الخطوط الاخرى .
وهل سيعمل Producer الاضافة دائما بشكل طبيعي .
وهل استخدم View هنا ام الافضل ان يكون Producer
سيتعبني هذا الولد
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
19-06-2018, 10:10 PM
(آخر تعديل لهذه المشاركة: 19-06-2018, 10:12 PM بواسطة Delphi4Us.)
السلام عليكم ورحمة الله
كما قلت لكم انني بنهاية المنظومة سوف احتاج الى سؤالين او ثلاث في استعلامات معقدة
الاستعلامات المعقدة لا مشكلة فيها مرت بسلام و ضبطتها بدون اي مشاكل
المشكلة الان انني صممت اجراء مخزن بقاعدة البيانات لاضافة مرتبات الموظفين وعندما اشغله من قاعدة البيانات يعمل ويظيف كل الموظفين بجدول المرتبات ولكن عندما قمت يتنفيذه من البرنامج EXEProc يقوم فقط باظافة موظف واحد فقط بالاحرى الموظف الاول ويتوقف
ما الذي فاتني في هذا
بالنسبة الى الاجراء هاهو هنا .
PHP كود : begin for select morateb.id, morateb.alawanaw, morateb.degernaw, morateb.tameez, morateb.fmkafa2, morateb.absent, morateb.mcase, morateb.kanon, coalesce(morateb.ohter_alawa,0), coalesce(morateb.other_kasm,0) from morateb into :ID, :ALAWANAW, :DEGERNAW, :TAMEEZ, :FMKAFA2, :absent, :MCASE, :kanon, :ohter_alawa, :other_kasm do begin EXECUTE PROCEDURE PROC_GETASASY(DEGERNAW,kanon,ALAWANAW) returning_values (:ASASY); EXECUTE PROCEDURE PROC_MKAFA (ID) returning_values (:Getmkafa); EXECUTE PROCEDURE PROC_GETDAMAN (ASASY) returning_values (:DAMAN,:TADAMN,:JHAD); insert into fcheck ( fcheck.chahr, fcheck.darga, fcheck.alawa, fcheck.asasy, fcheck.tameez, fcheck.fmkafa, fcheck.fmkafa2, fcheck.absent, fcheck.daman, fcheck.tadamn, fcheck.jhad, fcheck.ohter_alawa, fcheck.other_kasm, fcheck.mcase, fcheck.TARHEL, fcheck.mindex ) values ( cast(:SENDDATE as date), :DEGERNAW,coalesce(:ALAWANAW,0), :ASASY , coalesce(:TAMEEZ,0), coalesce(:Getmkafa,0), coalesce(:FMKAFA2,0), coalesce(:absent,0), :DAMAN, :TADAMN, :JHAD, coalesce(:OHTER_ALAWA,0), coalesce(:other_kasm,0), :MCASE, 0, :ID ) ;
suspend;
end
end
كما قلت من قاعدة البيانات يعمل بشكل طبيعي ولكن لزيادة الشرح لعل فيه Bugs او ملاحظة
هنا اقوم بقراءة بعض الحقول المطلوبة ووضعها بمتغيرات Out
PHP كود : for select morateb.id, morateb.alawanaw, morateb.degernaw, morateb.tameez, morateb.fmkafa2, morateb.absent, morateb.mcase, morateb.kanon, coalesce(morateb.ohter_alawa,0), coalesce(morateb.other_kasm,0) from morateb into :ID, :ALAWANAW, :DEGERNAW, :TAMEEZ, :FMKAFA2, :absent, :MCASE, :kanon, :ohter_alawa, :other_kasm
هنا احسب قيمة المرتب والخصميات والعلاوات والمكافأت في اجراءات فرعية واستقبالها بمتغيرات طبعا تعتمد على الاستعلام Select السابق
حتى الان مرحلة اعداد البيانات فقط
PHP كود : EXECUTE PROCEDURE PROC_GETASASY(DEGERNAW,kanon,ALAWANAW) returning_values (:ASASY); EXECUTE PROCEDURE PROC_MKAFA (ID) returning_values (:Getmkafa); EXECUTE PROCEDURE PROC_GETDAMAN (ASASY) returning_values (:DAMAN,:TADAMN,:JHAD);
بعد الانتهاء من تحظير كل القيم المطلوبة يتم اضافتها بجدول المرتبات
PHP كود : insert into fcheck ( fcheck.chahr, fcheck.darga, fcheck.alawa, fcheck.asasy, fcheck.tameez, fcheck.fmkafa, fcheck.fmkafa2, fcheck.absent, fcheck.daman, fcheck.tadamn, fcheck.jhad, fcheck.ohter_alawa, fcheck.other_kasm, fcheck.mcase, fcheck.TARHEL, fcheck.mindex ) values ( cast(:SENDDATE as date), :DEGERNAW,coalesce(:ALAWANAW,0), :ASASY , coalesce(:TAMEEZ,0), coalesce(:Getmkafa,0), coalesce(:FMKAFA2,0), coalesce(:absent,0), :DAMAN, :TADAMN, :JHAD, coalesce(:OHTER_ALAWA,0), coalesce(:other_kasm,0), :MCASE, 0, :ID ) ;
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 975
المواضيع 50
:
: 218
الإنتساب : Feb 2008
السلام عليكم
ممكن اجراء دلفي ...
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
كل من 1 user says قال شكرا ل S.FATEH على المشاركة المفيدة1 user says Thank You to S.FATEH for this post
• Delphi4Us
|