بتاريخ: 3 يناير 201115 سنة comment_206571 أنا عندي برنامج بسيط لحركة المبيعات ويوجد جدول موجود فيه البضائع وأريد طريقة أنه اذا تم بيع أي بضاعة يتم عملية الطرح بشكل تلقائي يظهر المتبقي من البضائع ضمن مربع وشكراً لكم تقديم بلاغ
بتاريخ: 3 يناير 201115 سنة comment_206595 السلام عليكم Declare vn_quantity Number; Begin Begin Select Quantity Into vn_quantity From Store_Table Where Item_Code :=:Blk_1.Item_Code; Exception When No_Data_Found Then vn_quantity := 0; End; If Nvl(vn_quantity, 0) - Nvl(:Blk_1.Quantity, 0) > 0 Then Update Store_Table Set Quantity = Nvl(Quantity, 0) - Nvl(:Blk_1.Quantity, 0) Where Item_Code = :Blk_1.Item_Code; Commit; Else Message('No Enough Quantity'); Message('No Enough Quantity'); Raise Form_Trigger_Failure; End If; End; ان تعثرت في فهم اي نقطة في الكود بلغني.بالتوفيق. تقديم بلاغ
بتاريخ: 21 يناير 201115 سنة كاتب الموضوع comment_207863 أخي العزيز لو سمحت أريد أن تخبرني أين يوضع هذا الكود ولو تكرمت علينا بشرحه نكون ممنونين لك وشكرين الجهود التي تبذلها معنا تقديم بلاغ
بتاريخ: 21 يناير 201115 سنة comment_207881 يوضع فى التريجر الخاص بمفتاح حفظ الفاتورةwhen_button_pressed تقديم بلاغ
بتاريخ: 22 يناير 201115 سنة كاتب الموضوع comment_207901 أخي العزيز أطال الله عمرك وأنت بكامل الصحة والعافية الترايغر شغال تمام ونجحت العملية عند إجراء حركة بيع أو شراء يتم تحديث جدول الأصناف بشرط التحزين عند إضافة كل سجلهل يوجد طريقة يتم بها التخزين بعد الإنتهاء من إضافة كافة مواد الفاتورة أكرر الشكر والإمتنان لك على معلوماتك القيمة .ونفع الله بك كل من يسعى إلى تعلم الأوراكل لخدمة الإنسانية تقديم بلاغ
بتاريخ: 22 يناير 201115 سنة كاتب الموضوع comment_207907 أخي العزيز ملاحظة أذا كان هناك صنف في جدول الأصناف على سبيل المثال هارد موجود منه العدد8وأردنا أن نضيفه في عملية بيع في الفاتورة عدد 8 لايتم التخزين وان تم لايتأثر جدول الأصناف لاحظت أن كل صنف يجب أن يبقى له 1 بعد كل عملية بيع تقديم بلاغ
بتاريخ: 22 يناير 201115 سنة comment_207970 أخي العزيز أطال الله عمرك وأنت بكامل الصحة والعافية الترايغر شغال تمام ونجحت العملية عند إجراء حركة بيع أو شراء يتم تحديث جدول الأصناف بشرط التحزين عند إضافة كل سجلهل يوجد طريقة يتم بها التخزين بعد الإنتهاء من إضافة كافة مواد الفاتورة أكرر الشكر والإمتنان لك على معلوماتك القيمة .ونفع الله بك كل من يسعى إلى تعلم الأوراكل لخدمة الإنسانية السلام عليكمبامكانك عمل Loop على مستوى البلوك وبداخله الكود السابق...بحيث عند تعديل كامل الاصناف يتم الحفظ...حاول ان تعملها وازا ما زبطت بنساعدك فيها ان شاءالله... أخي العزيز ملاحظة أذا كان هناك صنف في جدول الأصناف على سبيل المثال هارد موجود منه العدد8وأردنا أن نضيفه في عملية بيع في الفاتورة عدد 8 لايتم التخزين وان تم لايتأثر جدول الأصناف لاحظت أن كل صنف يجب أن يبقى له 1 بعد كل عملية بيع السلام عليكملا اتوقع ان هذا الكلام يحدث من خلال الكود السابق..لانه يتم التشييك قبل عملية الـ Update...الرجاء مراجعة الكود والتحقق...موفق. تقديم بلاغ
بتاريخ: 23 يناير 201115 سنة كاتب الموضوع comment_207989 الرجاء من الأخوة الكرام أفيدوني لم يبقى عندي إلا هذه المعضلة تقديم بلاغ
بتاريخ: 23 يناير 201115 سنة comment_207994 السلام عليكم أخي الكريم ممكن أن تلائم الكود السابق وتبنيه على شكل تريقر على الجدولأي ان تجعل التريقر ينطلق وسيكون التعديل لكل الحركاتوهذا بداية الكود CREATE OR REPLACE TRIGGER Trig_Store_Table After Update Or iNSERT oR DELETE On Store_Table Referencing New As New Old As Old For Each Row Declare Begin ---------------- IF Inserting Then ----------------اكتب الاشياء التي تريد ان تحدث في حالة الاضافة ---------------- ELSIF deleting Then ----------------اكتب الاشياء التي تريد ان تحدث في حالة االحذف ---------------- ELSIF Updating Then ----------------اكتب الاشياء التي تريد ان تحدث في حالة التعديلEND IF;END;ملاحظةلتعامل مع القيم الجديدة التي تم إضافتها في الجدول :New.NAME_FIELD تم تعديل 23 يناير 201115 سنة بواسطة المتميز1 تقديم بلاغ
بتاريخ: 23 يناير 201115 سنة كاتب الموضوع comment_208003 أخي العزيز ربي لايحرمنا منك ومن أفكارك عساك تكمل لنا الشرح والاضافات والله ليس لنا غيركم وكل الشكر لكم تقديم بلاغ
بتاريخ: 24 يناير 201115 سنة comment_208095 اخي الكريم وضح لي الجداول التي تريد التأثير عليها وأنا إن شاء الله أحاول أجهزها لك تقديم بلاغ
بتاريخ: 24 يناير 201115 سنة كاتب الموضوع comment_208116 جدول الاصناف هي رقم الصنف - اسم الصنف - الكمية الحاليةجدوال المبيعات ( فاتورة مبيعات )إنقاص من جدول المبيعات جدول الاصناف: رقم الصنف - الصنف - السعر - الكمية المباعة يرتبط هذا الجدول مع جدول الاصناف من خلال رقم الصنفجدول المشتريات (فاتورة مشتريات ) إضافة على جدول الاصناف: رقم الصنف - اسم الصنف - الكمية المشتراة يرتبط هذا الجدول مع جدول الاصناف من خلال رقم الصنفإعذرني على مسميات الحقول بالعربي لأني ضمن الجدول سميتهم بناءً على رموز ويوجد هناك جداول وحقول أخرى لم أذكرها ولكن الجداول التي ذكرتها هي التي أريد أن أجري عليها التغيرات أكرر شكري الجزيل لك تقديم بلاغ
بتاريخ: 25 يناير 201115 سنة comment_208184 CREATE OR REPLACE TRIGGER Trig_Store_Table After Update Or iNSERT oR DELETE On sold Referencing New As New Old As Old For Each Row Declare qNT NUMBER; -- متغير نضع فيه الكمية من جدول االأصناف Begin -- جدول الاصناف هو Category -- Quantity احقل الكمية في جدول الأصناف -- جدول المبيعات Sold -- SOLD_Quantity حقل الكمية في جدول المبيعات begin Select Quantity -- استعلام عن الكمية للعنصر Into qNT From category Where Item_ID =:NEW.ITEM_ID; Exception When No_Data_Found Then qNT := 0; End; ---------------- IF Inserting Then ---------------- If Nvl(qNT , 0) - Nvl(:NEW.SOLD_Quantity, 0) > 0 Then Update category Set Quantity = Nvl(qNT , 0) - Nvl(:NEW.SOLD_Quantity, 0) Where Item_ID = :NEW.ITEM_ID; END IF ; ---------------- ELSIF deleting Then ---------------- Update category Set Quantity = Nvl(qNT , 0) + Nvl(:OLD.SOLD_Quantity, 0) Where Item_ID = :NEW.ITEM_ID; ---------------- ELSIF Updating Then --------------- If (Nvl(qNT , 0) + Nvl(:OLD.SOLD_Quantity, 0)) - Nvl(:NEW.SOLD_Quantity, 0) > 0 Then Update category Set Quantity = (Nvl(qNT , 0) + Nvl(:OLD.SOLD_Quantity, 0)) - Nvl(:OLD.SOLD_Quantity, 0) Where Item_ID = :NEW.ITEM_ID; END IF ; END IF; END; أخي الكريم جرب هذا ورد لي خبر تقديم بلاغ
بتاريخ: 25 يناير 201115 سنة comment_208202 CREATE OR REPLACE TRIGGER Trig_Store_TableAfter Update Or iNSERT oR DELETEOn soldReferencing New As New Old As Old For Each RowDeclareqNT NUMBER; -- متغير نضع فيه الكمية من جدول االأصناف Begin-- جدول الاصناف هو Category-- Quantity احقل الكمية في جدول الأصناف -- جدول المبيعات Sold-- SOLD_Quantity حقل الكمية في جدول المبيعات begin Select Quantity -- استعلام عن الكمية للعنصر Into qNT From category Where Item_ID =:NEW.ITEM_ID; Exception When No_Data_Found Then qNT := 0; End;----------------IF Inserting Then---------------- If Nvl(qNT , 0) - Nvl(:NEW.SOLD_Quantity, 0) > 0 Then Update category Set Quantity = Nvl(qNT , 0) - Nvl(:NEW.SOLD_Quantity, 0) Where Item_ID = :NEW.ITEM_ID; END IF ;----------------ELSIF deleting Then---------------- Update category Set Quantity = Nvl(qNT , 0) + Nvl(:OLD.SOLD_Quantity, 0) Where Item_ID = :NEW.ITEM_ID;----------------ELSIF Updating Then--------------- If (Nvl(qNT , 0) + Nvl(:OLD.SOLD_Quantity, 0)) - Nvl(:NEW.SOLD_Quantity, 0) > 0 Then Update category Set Quantity = (Nvl(qNT , 0) + Nvl(:OLD.SOLD_Quantity, 0)) - Nvl(:OLD.SOLD_Quantity, 0) Where Item_ID = :NEW.ITEM_ID; END IF ;END IF;END;أخي الكريم جرب هذا ورد لي خبر بعد تعديلهCREATE OR REPLACE TRIGGER Trig_Store_Table After Update Or iNSERT oR DELETE On sold Referencing New As New Old As Old For Each Row Declare qNT NUMBER; -- متغير نضع فيه الكمية من جدول االأصناف Begin -- جدول الاصناف هو Category -- Quantity احقل الكمية في جدول الأصناف -- جدول المبيعات Sold -- SOLD_Quantity حقل الكمية في جدول المبيعات begin Select Quantity -- استعلام عن الكمية للعنصر Into qNT From category Where Item_ID =:NEW.ITEM_ID; Exception When No_Data_Found Then qNT := 0; End; ---------------- IF Inserting Then ---------------- Update category Set Quantity = Nvl(qNT , 0) - Nvl(:NEW.SOLD_Quantity, 0) Where Item_ID = :NEW.ITEM_ID; ---------------- ELSIF deleting Then ---------------- Update category Set Quantity = Quantity + Nvl(:OLD.SOLD_Quantity, 0) Where Item_ID = :old.ITEM_ID; ---------------- ELSIF Updating Then --------------- Update category Set Quantity = (Nvl(qNT , 0) + Nvl(:OLD.SOLD_Quantity, 0)) - Nvl(:new.SOLD_Quantity, 0) Where Item_ID = :NEW.ITEM_ID; END IF; END; / تقديم بلاغ
بتاريخ: 26 يناير 201115 سنة كاتب الموضوع comment_208241 أخي العزيز مشكور على جهودك المبذولة وان شاء الله يوفقك في حياتك كلهالقد نسخت الترايغير وجاري التجريب تقديم بلاغ
بتاريخ: 27 يناير 201115 سنة كاتب الموضوع comment_208297 أخي المتميز بارك الله فيك وكثر من أمثالك لقد جربت الترايغيردخلت على اليوزر الذي أنشأت الجداول عليه وأضف الترايغيرتظهر لي رسالة تم تكوين ترايغير مع أخطاء ترجمة الرجاء منك كيف الحل ولك جزيل الشكر تقديم بلاغ
بتاريخ: 27 يناير 201115 سنة comment_208315 السلام عليكم ورحمة الله وبركاتهاخي الكريم لقد جربت أنا هذا التريقر واشتغل عندي لكن أرجو ان تتأكد من عدة أشياء اولا اسماء الجداول هل غيرت في التريقر أسماء الجداول حسب الجداول لديك وأيظأ راس التريقرCREATE OR REPLACE TRIGGER Trig_Store_TableAfter Update Or iNSERT oR DELETEon[اسم الجدول المبيعات]الشئ الثاني ممكن أن تعمل select * from user_errorsلكي تظهر الاخطاء وماهي تم تعديل 27 يناير 201115 سنة بواسطة المتميز1 تقديم بلاغ
بتاريخ: 27 يناير 201115 سنة كاتب الموضوع comment_208319 أخي العزيز شكراً لك كثيراً حاولت ولكن نفس الطريقة سأرفق لك الترايغير بعد التعديل والخطاً الذي يظهر EE.txt تقديم بلاغ
بتاريخ: 27 يناير 201115 سنة كاتب الموضوع comment_208328 أخي العزيز أشكرك من كل قلبي لقد حاولت عن طريق استكشاف الخطاً ونجحت بفضل الله ثم بفضلك بقي شيء أخر ياصديقي العزيز وهو عندما أنشأت النوافذ على الديفلوبر 6 وصممت الفاتورة أصبحت عند كل بيع صنف ينقص أوتوماتيكياًولكن المشكلة هي أنه لو الموجود من صنف معين عدد 10 وأردت أن أبيع 11 تخزن القيمة بالفاتورة وبالعودة إلى جدول الاصناف أجد أن هنال اشارة - جانب الرقم الذي زودته على البيع هل هناك طريقة بحيث تظهر رسالة تخبرك بأن الموجود من الصنف هو 10 ولايمكن البيع ولك جزيل الاحترام والتقدير لقد أفدتني كثيراً والله على ماأقول شهيد تقديم بلاغ
بتاريخ: 29 يناير 201115 سنة comment_208373 أخي الكريم إعمل أستعلام عن الكمية للصنف من جدول الكميات ثم إطرحة من الكمية في الشاشة إذا كانت النتيجة أكبر من الصفر اسمح بالفاتورة مالم اظهر رسالة للمستخدم أن الكمية أكبر من المخزون تقديم بلاغ
بتاريخ: 29 يناير 201115 سنة comment_208374 أخي الكريم إعمل أستعلام عن الكمية للصنف من جدول الكميات ثم إطرحة من الكمية في الشاشة إذا كانت النتيجة أكبر من الصفر اسمح بالفاتورة مالم اظهر رسالة للمستخدم أن الكمية أكبر من المخزون (الحدث في when- validat_items( تقديم بلاغ
بتاريخ: 29 يناير 201115 سنة كاتب الموضوع comment_208379 أخي الكريم يعجز اللسان عن شكرك وكما قلت لك أنني مبتدأ في الأوراكل ولاأملك إلا قدر بسيط من المعلومات وأسعى من خلال هذا المنتد العظيم ومن خلال الأعضاء المتميزين أمثالك أن أطور خبرتي ومعرفتي لذلك أرجو منك رجاء خاص أن تصبر علي لأنني أحتاج إلى أمثلة كي أطبق عليها فأرجوا منك مثال على ذلك- يوجد لدي جدول مشتريات أضيف فيه كافة المشتريات من الموردين جربت الترايعير الذي أرسلته لي مع بعض التعديل نجحت في ذلك ولكن يوجد لدي حقل في جدول الأصناف سعر الشراء - سعر المبيع كما يوجد في مفصل فاتورة الشراء نفس الحقول كيف يتم تحديث الحقول الموجودة في جدول الأصناف يتزامن ذلك مع تحديث الكمية .والشكر لك لايوجد لدي ماأعطيك اياه مقابل مساعدتك لي إلا أن أدعي لك بدوام الصحة والعافية لك ولعائلتك جميعاً ونفع بك أهلك تقديم بلاغ
بتاريخ: 29 يناير 201115 سنة كاتب الموضوع comment_208380 أخي العزيز عند محاولتي للدخول إلى قاعدة البيانات ظهر لي هذا الخطا المرفق ولا أعلم ماهو سبب ذلك تقديم بلاغ
بتاريخ: 30 يناير 201115 سنة comment_208403 أخي الكريم لا أعلم ما هي المشكلة بالضبط لكن أنظر إلى هذا الرابط يتكلم على نفس المشكلةhttp://araboug.org/ib/index.php?showtopic=40314&view=findpost&p=185557أما بالنسبة لتعديل المبلغ في جدول الأصناف فإنه من وجهة نظري لا يتم تعديل هذا السعر لانه لابد من حفظ سعر الشراء ويكون هناك حقل أخر يكون فيه سعر البيع يتم إنزال هذا السعر مباشرة عند أختيار الصنف في فاتورة البيع ولا يتم تعديل هذا الحقلين وإنما التغيير يكون في الفاتورة للبيع وليس في جدول الاصناف . والأفضل إستشارة اشخاص خبير في عملية تحليل الأنظمة لكي يطلعك على ماهو الصحيح تجاه هذه الحركة تم تعديل 30 يناير 201115 سنة بواسطة المتميز1 تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.