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

بتاريخ:

آنا اعمل مندوب بيع في شركة تعمل فى مجال بيع الملابس والنسيج أردت ان اعمل برنامج يساعدني في عملي ووقف معي بعد المشاكل آلتي لم أجد حل لها حتى أقول هده المشاكل يحب أولا شرح فكرة المشروع آو الأساسيات آلتي اعتمدت عليها في بناءه
أولا فكرة عملي تنحصر في آلاتي(بضاعة أمانة) :
أقوم بإرسال بضاعة آو أصناف آلي 28 فرع (معارض الشركة) بفاتورة وبعد ذلك يتم بيع هذه البضاعة على مدار الشهر آو السنة, أقوم آنا بمرور على الفروع واخذ من كل فرع بيان بمبيعات كل فرع من البضاعة المرسلة و أقوم بخصم كمية المبيعات كل فرع من البضاعة او الأصناف المرسلة حتى اعرف مبيعات كل فرع والأصناف المتبقية من كل فرع و أرسل أصناف جديد آو نفسها على حسب المبيعات اى(صادر وارد )
حيث اننى قمت بعملى 6 جدول:
أ- جدول الأصناف (item) به كود الصنف و اسمه
ب- جدول الفروع به كود الفرع و اسمه
ت- جدول البضاعة المرسلة(header) السنة و الشهر والتاريخ إرسال البضاعة ورقم الفاتورة
ث- جدول للبضاعة المرسلة(detail) السنة و الشهر والتاريخ إرسال البضاعة ورقم الفاتورة ورقم الصنف ورقم الفرع والكمية المرسلة سعر البيع وسعر التكلفة واجمالى البيع واجمالى التكلفة
ج- حدول المبيعات( header) السنة و الشهر والتاريخ إرسال البضاعة وتاريخ البيع ورقم الفاتورة
ح- جدول المبيعات( detail) السنة و الشهر والتاريخ إرسال البضاعة ورقم الفاتورة ورقم الصنف ورقم الفرع والكمية المرسلة سعر البيع وسعر التكلفة واجمالى البيع واجمالى التكلفة
والاتى وصف للجدول لتوضيح اكتر
جدول الفروع
create table HANO_COMP
(
HANO_NO NUMBER(2) not null,
HANO_NAME VARCHAR2(100) not null

alter table HANO_COMP
add primary key (HANO_NO)
create table HANO_ITEM( جدول الاصناف
ITEM_NO NUMBER(16) not null,
ITEM_NAME VARCHAR2(100) not null)
alter table HANO_ITEM
add primary key (ITEM_NO)
create table HANO_ITEM_H( جدول البضاعة المرسلة هيدر
YEAR NUMBER(4) not null,
MONTH NUMBER(2) not null,
DATE_ITEM DATE not null,
SAL_INV VARCHAR2(6) not null,
TR_TYPE NUMBER(4) not null)
alter table HANO_ITEM_H
add constraint HANO1_PK primary key (YEAR,TR_TYPE,MONTH,DATE_ITEM,SAL_INV)
create table HANO_ITEM_D( جدول البضاعة المرسلة دتيل
LINE_NO NUMBER(4) not null,
YEAR NUMBER(4) not null,
MONTH NUMBER(2) not null,
DATE_ITEM DATE not null,
ITEM_NO NUMBER(16) not null,
HANO_NO NUMBER(2) not null,
QTY NUMBER(30,3) not null,
OUT_QTY NUMBER(30,3) not null,
HANO_PRICE NUMBER(30,3),
SAL_PRICE NUMBER(30,3) not null,
COST_PRICE NUMBER(30,3),
TOT_COST_PRICE NUMBER(30,3),
TOT_SAL_PRICE NUMBER(30,3) not null,
PROF NUMBER(30,3),
USER_1 VARCHAR2(50),
USER_2 VARCHAR2(50),
USER_3 NUMBER(30,3),
USER_4 NUMBER(30,3),
SAL_INV VARCHAR2(6) not null,
TR_TYPE NUMBER(4) not null)
alter table HANO_ITEM_D
add constraint HANO2_PK primary key (YEAR,MONTH,DATE_ITEM,SAL_INV,LINE_NO)
alter table HANO_ITEM_D
add constraint HANO1_FK foreign key (HANO_NO)
references HANO_COMP (HANO_NO);
alter table HANO_ITEM_D
add constraint HANO2_FK foreign key (ITEM_NO)
references HANO_ITEM (ITEM_NO);
create table HANO_SAL_H جدول المبيعات هدير
(
YEAR NUMBER(4) not null,
MONTH NUMBER(2) not null,
DATE_SAL DATE not null,
DATE_ITEM1 DATE not null,
SAL_INV VARCHAR2(6) not null
)
alter table HANO_SAL_H
add constraint HANO_PK primary key (YEAR,MONTH,DATE_ITEM1,SAL_INV,DATE_SAL)
create table HANO_SAL_D جدول المبيعات ديتل (
LINE_NO NUMBER(4) not null,
YEAR NUMBER(4) not null,
SAL_INV VARCHAR2(6) not null,
MONTH NUMBER(2) not null,
DATE_SAL DATE not null,
DATE_ITEM1 DATE not null,
ITEM_NO NUMBER(16) not null,
HANO_NO NUMBER(2) not null,
QTY NUMBER(30,3) not null,
HANO_PRICE NUMBER(30,3),
SAL_PRICE NUMBER(30,3) not null,
COST_PRICE NUMBER(30,3),
TOT_COST_PRICE NUMBER(30,3),
TOT_SAL_PRICE NUMBER(30,3) not null,
PROF NUMBER(30,3),
USER_1 VARCHAR2(50),
USER_2 VARCHAR2(50),
USER_3 NUMBER(30,3),
USER_4 NUMBER(30,3))
alter table HANO_SAL_D
add constraint HANO3_PK primary key (DATE_SAL,DATE_ITEM1,SAL_INV,LINE_NO)
alter table HANO_SAL_D
add constraint HANO3_FK foreign key (HANO_NO)
references HANO_COMP (HANO_NO);
alter table HANO_SAL_D
add constraint HANO5_FK foreign key (ITEM_NO)
references HANO_ITEM (ITEM_NO);
حيث الفكرة تعتمدعلى ان عندما يتم ارسال بضاعة فعلية الى الفروع يتم تسجيل البضاعة المرسلة فى جدول البضاعة المرسلة هيدر وديتل اى يتم تسجيل السنة و الشهر والتاريخ إرسال البضاعة ورقم الفاتورة(هيدر)
و يتم تسجيل فى جدول البضاعة المرسلة(ديتل) رقم الصنف ورقم الفرع والكمية المرسلة سعر البيع وسعر التكلفة واجمالى البيع واجمالى التكلفة
وعندما يتم ارسال التقارير ببيع اصناف من البضاعة يتم تشجيل المبيعات فى جدول المبيعاتهيدر وديتل
اى يتم تسجيل السنة و الشهر وتاريخ إرسال البضاعة وتاريخ البيع ورقم الفاتورة فى الهيدر وفى الديتل
رقم الصنف ورقم الفرع والكمية المرسلة وعامل جملة سليكت فى الهون فليديت ايتم تاتى سعر البيع وسعر التكلفة من جدول البضاعة المرسلة لمل يكون الحاجات البريمرى كى هنا تساوى الحاجات البريمرى كى هناك
ولكن المشكلة انة مابينفذ ذلك لوتكرر رقم الفاتورة اورقم الصنف او رقم الفرع مع العلم انة من الطبيعىالتكرار وهذة جملة الت فى تريحر when validate item
select cost_price, hano_price, sal_price
into :HANO_item_d.cost_price,
:HANO_item_d.hano_price,
:HANO_item_d.sal_price
d_from hano_item
where hano_item_d.item_no = :HANO_item_D.item_no
and hano_item_d.hano_no = :hano_sal_d.hano_no
and hano_item_d.sal_inv = :hano_sal_d.sal_inv
and hano_item_d.date_item = :hano_sal_d.date_item1 ;

وعامل ايضا تريجير
على مستوى بلوك الدتيل وبقول فية آلاتي:pre_insert
update hano_item_d
set qty = qty - :hano_sal_d.qty ,
tot_cost_price = tot_cost_price - :hano_sal_d.tot_cost_price ,
tot_sal_price = tot_sal_price - :hano_sal_d.tot_sal_price ,
prof = prof - :hano_sal_d.prof

where :hano_sal_d.qty > 0
and hano_item_d.item_no = :hano_sal_d.item_no
and hano_item_d.hano_no = :hano_sal_d.hano_no
and hano_item_d.sal_inv = :hano_sal_d.sal_inv
and hano_item_d.date_item = :hano_sal_d.date_item1 ;
ولكن المشكلة انة مابينفذ ذلك لوتكرر رقم الفاتورة اورقم الصنف او رقم الفرع مع العلم انة من الطبيعى ان يكون فى تكرار وانا اريد ان يتم خصم البصاعة المباعة من المرسلة دون النظر الى الفاتورة او التاريخ ( ارجو ان تكون المشكلة واضحة )
واى سوال ان مستعد لاجابة علية فى سبيل الايضاح اكتر وحل المشكلة وان امكن اضافة اى فكرة جديد فى المشروع لوصول لغرض او الهدف منه اكون عاجز عن الشكر للاعضاء هذا المنتدى المتميز

[email protected]

بتاريخ:

السلام عليكم
اولا من الطبيعي ان يتم تكرار الصنف او الفرع ولكن ليس من الطبيعي تكرار رقم الفاتورة واذا كنت تقصد بتكرار الفاتورة بمعني مثلا فرع رقم واحد قد ارسل له بضاعة واردت ان تضيف بضاعة جديدة لنفس الفرع وعلى نفس الفاتورة فهنا فقط تقوم بعمل تحديث للفاتورة .
ولحل عملية الفاتورة حتى تكون كل فاتورة برقم مستقل استخدم امر unique مثال
create table mm
)
xx number(50) unique
وفى هذه الحالة فان رقم الفاتورة xx لن يتكرر مطلقا ولن يقبل التكرار ثم تقوم فى pl/sql بكتابة امر التحديث بمعنى لو حدث كذا قم بتحديث محتويات الفاتورة الى كذا .
وشكرا
ميجا

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

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

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

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

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

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.