إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

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


2 رد (ردود) على هذا الموضوع

#1 ahmed elkyal

ahmed elkyal

    مشترك

  • الأعضــاء
  • 61 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 10 November 2013 - 12:38 AM

السلام عليكم

الزملاء الاعزاء أتمنى المساعده فى عمل تقرير يساعد فى التحكم فى الاصناف المشتراه والمباعه بحيث يتم بيع الاصناف وفق سياسة الوارد اولا ... صادر اولا 

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

مثال :-

كود الصنف - الصنف                  -  رقم الرساله  - تاريخ الفاتوره   - الكميه المشتراه

1001      - شيبسي عائلي طماطم   - 501         - 1/11/2013   -  400

1001      - شيبسي عائلي طماطم   - 502         - 2/11/2013   -  200

فعند الصرف احتاج لصرف الرساله الاولى وهى رقم (501) حتى تنفذ الكميه وهى (400)

ثم يتم الصرف من الرساله التى تليها وهكذا ...



#2 aurora

aurora

    مشترك

  • الأعضــاء
  • 91 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 10 November 2013 - 02:57 PM

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



#3 ahmed elkyal

ahmed elkyal

    مشترك

  • الأعضــاء
  • 61 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 10 November 2013 - 06:25 PM

انا محتاج اعمل view يكون كالتالى

كود الصنف   - الصنف               -  رقم الرساله   - تاريخ الفاتوره     -رصيد اول  -   الكميه المشتراه - مرتد مشتريات - مبيعات - مرتد مبيعات - رصيد الرساله

1001      - شيبسي عائلي طماطم   - 501         - 1/11/2013    - 0       -  400          - 50                - 150   -   10            -  210

1001      - شيبسي عائلي طماطم   - 501         - 2/11/2013     -  210   -    0         - 0                 - 110  -    0              - 100

 

مع العلم ان كود الصنف - اسم الصنف من جدول الاصناف   item_code , item_name from items

و رقم الرساله و تاريخ الفاتوره والكميه المشتراه و مرتد المشتريات من جدول المشتريات    msg_no , pur_date , quantaty

و  والكميه المباعه و مرتد المبيعات من جدول المبيعات                                         inv_date , quantaty

ولكن لا اصل الى النتيجه المطلوبه والجمله التى الستخدمها

SELECT      v1.ITEM_CODE ,v1.ITEM_name, V6.VALIDATION_DATE ,v6.MSG_NO ,
nvl(v2.PUR_Q,0) pur  , nvl(v3.SALES_Q,0) SALES ,nvl(v4.PUR_R_Q,0) ,  nvl(v5.SALES_R_Q,0)
FROM
(SELECT   ITEM_CODE ,ITEM_name FROM ITEMS ORDER BY 1) v1,
(SELECT    VALIDATION_DATE , MSG_NO FROM PUR_DETAILS)V6 ,

(SELECT   PUR_DETAILS.ITEM_CODE , MSG_NO , SUM(NVL (PUR_DETAILS.QUANTATY, 0)) Pur_Q
FROM       PUR_DETAILS
WHERE    TYPE_CODE = 1
GROUP BY ITEM_CODE , MSG_NO ) v2 ,

(SELECT   INV_DETAILS.ITEM_CODE , SUM(NVL (INV_DETAILS.QUANTATY, 0)) SALES_Q , MSG_NO
FROM       INV_DETAILS
WHERE    INV_dETAILS.TYPE_CODE = 3
GROUP BY ITEM_CODE , MSG_NO )V3  ,

(SELECT   PUR_DETAILS.ITEM_CODE ,   SUM(NVL (PUR_DETAILS.QUANTATY, 0)) Pur_R_Q ,
MSG_NO
FROM       PUR_DETAILS
WHERE    TYPE_CODE = 2
GROUP BY ITEM_CODE , MSG_NO ) v4 ,

(SELECT   INV_DETAILS.ITEM_CODE ,SUM(NVL (INV_DETAILS.QUANTATY, 0)) SALES_R_Q , MSG_NO
FROM       INV_DETAILS  
WHERE    INV_dETAILS.TYPE_CODE = 4
 GROUP BY ITEM_CODE , MSG_NO )V5

WHERE     V1.ITEM_CODE = V2.ITEM_CODE(+)
AND          V1.ITEM_CODE = V3.ITEM_CODE(+)
AND          V1.ITEM_CODE = V4.ITEM_CODE(+)
AND          V1.ITEM_CODE = V5.ITEM_CODE(+)
AND          V1.ITEM_CODE =1001




 


تم التعديل بواسطة ahmed elkyal, 10 November 2013 - 06:26 PM.