الانتقال إلى المحتوى
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.

كيفية عمل Refresh لبيانات الجدول الجديدة التي أدخلتها

Featured Replies

بتاريخ:

السلام عليكم
أنا بنيت تاسك فلو متكامل خاص بعملية عرض جدول وإجراء عملية إضافة وتعديل عليه،
ومن ثم بنيت صفحة لعرض جدول بيانات الموظفين ويوجد فيها مفتاح إدخال سجل جديد وكذلك مفتاح تعديل سجل
والمفتاحان يعرضان صفحة جديدة لعملية الإضافة أو التعديل وكل شي تمام لحد الآن

المشكلة هي عندما أعود من صفحة إضافة موظف جديد تتم عملية الحفظ بشكل سليم ولكن أريد أن يتم تنفيذ عملية إنعاش لبيانات الجدول الأصلية ومن ثم الانتقال إلى السجل الجديد الذي أدخلته، علما أن هذه العملية تتم بشكل صحيح في حال التعديل بينما في حال العودة من إدخال سجل جديد تظهر الرسالة التالية (خطأ: صف طريقة العرض ذو المفتاح oracle.jbo.key[-2] غير موجود في empView1iterator)

يبدوا أنه يجب أن أعمل إنعاش Iterator حتى يعمل execute operation ومن ثم setCurrentRowWithKey بشكل صحيح

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

بتاريخ:

سافترض انك لما بترجع من صفحة الادخال بترجع الى فراجمنت فى نفس التاسك فلو ومبتروحش الى تاسك فلو تانى فكل اللى عليك انك بعد عملية الحفظ تعمل execute لل query يعنى على ميثود ال commit بعد الحفظ تكتب

DCIteratorBinding iter = (DCIteratorBinding)bc.findIteratorBinding("yourVOIterator");
iter.executeQuery();

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

مشكورة أخت هالة
أعتقد أنني كنت أبحث عن هذا الكود بس للأسف لم أستطع أن أشاهد النتيجة لأن الصفحات لم تعد تفتح أي البرنامج فات بالحيط، لذلك أرجو أن تساعديني لأن كل شغلي على المحك الآن،
والغريب أن البرنامج كان يعمل البارحة بشكل طبيعي والآن عندما أعمل رن لصفحة الهوم تظهر الصفحة فارغة أي بيضاء ناصعة و لايوجد فيها شيء، وقد حاولت أن أحذف بعض الأشياء واضيف بعض التعديلات ولكن بدون جدوى
علماً أنني أعمل على win xp ,jdev 11.1.1.4.0 وقاعدة البيانات oracle 10g على حاسب آخر

وقد أرفقت ملف integratedWebLogicServer Log وكذلك صورة للصفحة الناتجة،
لذلك أرجو المساعدة العاجلة لأانوا بصراحة بدأت أكره adf

post-32888-0-72940800-1319111855_thumb.jpg

integratedWebLogicServer Log.txt

بتاريخ:

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

بالنسبة لمشكلتك فاعتقد انها بتتعلق بال ADF Security اللى انت عامله على الابليكيشن وتقريبا عندك بعض ال corruption فى ملف ال 'jazn-data.xml' لان فى ملف ال log بيقولك ان فى duplicate Permission متعرفه على التاسك فلو اللى اسمه punishcode.xml

وبالتالى الحل انك تمسح ال System folder فى هذا المسار

C:\Documents and Settings\Toshiba\Application Data\JDeveloper\system11.1.1.4.37.59.23

ده بيرجع الجى ديفيلوبر لحالته الاولى وبعدين تفتح ملف ال jazn-data.xml واعمل assign تانى لكل ال task flow وكمان ال page Definition للpermission اللى عندك واتاكد ان مفيش duplicate Permission على اى تاسك فلو

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

مشكورة أختي هالة شكرا جزيلا عظيما فقد أنقذت حياتي
لقد راجعت ملف 'jazn-data.xml' وعدلت الأخطاء وعملت رن للأبلكيشن بنجاح.
ومن ثم نفذت تعليماتك مع بعض التعديلات (حيث أريد أن يعود المؤشر إلى السجل المضاف أو المعدل) وعمل التاسك فلو بنجاح والكود هو:
BindingContainer bindings = getBindings();
DCIteratorBinding dcitr = (DCIteratorBinding)bindings.get("PunishmentscodesView1Iterator");
String currRowKey = dcitr.getCurrentRowKeyString();
dcitr.executeQuery();
dcitr.setCurrentRowWithKey(currRowKey);
لذلك أشكرك مرة أخرى وحقق الله لك أمانيك فيما يرضيه عنك.

الآن لدي تساؤل :
الآن لدي تاسك فلو متكامل خاص بالتعامل مع جدول ترميز العقوبات فيه صفحة لعرض جدول ترميز العقوبات مع إمكانية الإضافة والتعديل والحذف وصفحة أخرى للقيام بادخال أو تعديل سجل ترميز عقوبة معينة ومن ثم العودة إلى الصفحة الأولى لعرض تراميز العقوبات. كما هو موضح من المرفقات
الآن السؤال هو أن هذه العملية يجب أن أكررها على جميع جداول تراميز النظام مثل ترميز المكافآت وترميز الجنسيات و....
وهي سوف يكون لها نفس شكل التاسك فلو ونفس شكل الصفحتين الموجودتين ضمنه، وقد قرأت عن شيء اسمه taskflow template وبالتالي يمكن بناء عدة تاسك فلو إعتمادا عليه مع خاصية أنه سيتم تعديله آليا في حال تم تعديل taskflow template أو يمكن البناء بدون هذه الخاصية أي سيتم أخذ نسخة عن taskflow template
المشاكل والتساؤلات الناتجة هي:
في حال استخدمت خاصية التعديل الآلي عندها يظهر تاسك فلو فارغ وهو ما لم أفهمه مطلقا
وفي حال لم استخدم الخاصية عندها سيتم بناء تاسك فلو نسخة مطابقة للـ taskflow template والسؤال هو هل يجب علي أن أعيد بناء صفحتي العرض والإضافة لكل جدول تراميز علما أنه كما قلت شكل هاتين الصفحتين واحد لكل شاشات التراميز.

أم هل يوجد تقنيات أخرى قياسية للإعادة استخدام تاسك فلو أو الصفحات...!!

أرجو أن تكون الفكرة وصلت وآسف للإطالة

post-32888-0-48573500-1319363030_thumb.jpg

بتاريخ:

اولا : اعادة استخدام التاسك فلو

ال Task flow Template منقسمه لحاجتين Template By reference و Template By Copy

ال template By reference معناه ان كل ما ال template اتغير كل التغييرات دى حتنعكس على ال task flow اللى مبنيه عليه وخللى بالك انه مفيش حاجه اسمها انه فارغ لكن محتوياته لا تظهر فى ال design time والدليل انك لو عملت task flow مبنى على task flow Template وعلمت على الاختيار update when ADF task flow template is changing يعنى by reference ونزلته فى اى صفحه ك region المحتويات دى حتظهر عندك عادى جدا

ال Task flow Template By copy حيعملك نسخة من ال task flow template وبعدين تلاحظ انه مالوش اى علاقه به اى تعديلات مش حيشوفها وفى اى حالة من الحالتين انت لازم تعمل override على ال task flow Template عشان يتناسب مع العمليات الجديده يعنى مثلا createInsert اللى انت عاملها دى بتختلف مع كل جدول عندك على حسب الاتيرتور اللى بتعمل فيه insert وهكذا

عادة ال task flow Template بيستخدم لعدم تكرار وضع ال input Parametrs او ال Return Values وال Exception Handler ولا يستخدم لاعادة الصفحات


بالنسبة لموضوع الصفحات انت ممكن تعمل template تبنى عليه ال fragments دى بحيث تضع فقط فى كل مرة ال business Components على طول

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

بالنسبة لموضوع الصفحات انت ممكن تعمل template تبنى عليه ال fragments دى بحيث تضع فقط فى كل مرة ال business Components على طول


مشكورة أختي
يعني بفهم من هل الحكي أنه من الأفضل القيام ببناء taskflow خاص بكل شاشة تراميز، وبالنسبة للصفحات فإنه يجب علي أن اقوم ببناء Two page template الأولى للعرض والثانية لإضافة والتعديل ومن ثم بناء جميع صفحات جداول التراميز اعتمادا عليهما.
ولكن أيضا ينتج تساؤل:
بالنسبة لمفاتيح الإضافة والتعديل والحذف الموجودة على صفحة العرض ألا أستطيع أن أضعها ضمن page template حتى لا أعيد تصميمها مع كل صفحة
وكذلك الأمر بالنسبة لمفاتيح الحفظ والعودة الموجودة ضمن صفحة الإضافة والتعديل.

وأخيرا لقد قرت عن شيء يدعى Declarative components فهو هو مفيد بطريقة ما للحالة التي أحتاجها.
مع الشكر سلفا
بتاريخ:

شوف لاحظ انك هنا بتتكلم على fragments يعنى بتبقى embedded فى صفحة الصفحة دى بتستخدم ال Template اللى معمول على البرنامج وبالتالى عادة هى لا تحتاج الى template لكن لا يوجد مشكلة من تطبيق Template على ال fragment اذا كان هناك احتياج لذلك

اما بالنسبة للتاسك فلو فما دام ال activities وال operations بيتغيروا فى كل مره فالافضل بناء task flow مستقل ليهم



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



للاسف لسه برضه بنفكر باسلوب الفورمز وعاوزين نعمل حاجة زى ال Tool Bar بتاع الفورمز هنا بيئة ويب مختلفه وكل بوتون من اللى بتقول عليهم بيشاور على Iterator مختلف ازاى عاوز توحدهم فى Tool Bar واحد علاوه على انك ممكن تعمل insert مثلا لاكتر من جدول فى الصفحه كل واحد بيشاور على فيو اوبجكت مختلف وحاجات تانيه كتير ضد موضوع ال Tool Bar ده


وأخيرا لقد قرت عن شيء يدعى Declarative components فهو هو مفيد بطريقة ما للحالة التي أحتاجها


اقره عن ال declarative Components وموضوع المكتبات من هنا
بتاريخ:
  • كاتب الموضوع

مشكورة أخت هالة الآن أشعر أنني بدأت أدخل عالم الـ adf

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

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

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

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

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

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.