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

بتاريخ:

اخواني
السلام عليكم ورحمة الله وبركاته


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


انا عندي شركة اسمها عماد

وشركة اخري اسمها احمد
وعندي موظفين واحد اسمه

حسن
والتاني اسمه علي
حسن علي كفالة شركة عماد
وعلي علي كفالة شركة احمد عاوز اعمل زر لما ادوس عليه يطبع يطبع لي بيانات الموظف حسن علي تقرير شركة عماد
والموظف علي علي تقرير شركة احمد وهكذا

جزاكم الله خيرا

بتاريخ:

هي العملية المفروض تنظم من خلال جدول يتم إنشاءه في database ويتم تحديد الشركات والموظفين الموجودين على كفالتها ولكن السؤال هل الورق المخصص لكل شركة مخصص يعني جاهز ولا البرنامج هو الذي يطبع ال header الخاص به

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

أولا أشكرك علي ردك

عاوز اوضح لك اكتر احنا أكتر من شركة بس الإدارة كلها في شركة واحده بمعني ان البرنامج بنستخدمه لجميع الشركات ال تبع المجموعة وانا التقارير مصممها حسب كل شركة يعني شركة 1 ليها تقرير انا منزل عليه اللوجو بتاعها وشركة 2 ليها تقرير منزل عليه اللوجو بتاعها وهكذا انا هحاول اكتب جزء من الكود يمكن تساعدني فيه

if
company name= 1
then
webshow.document
اسم التقرير
els if
company name= 2
then
webshow.document
اسم التقرير الخاص وهكذا

بس انا كتبت الكود ده بالكامل ومشتغلش معايا


شكرا

بتاريخ:

الأخ الكريم ، أفضل شيء أنك تلعب في البيانات نفسها !!!

يعني تعمل جدول يحتوي علي كافة الشركات ، وجدول الموظفين يحتوي علي حقل FK من جدول الشركات ، وبعد كدة ترسل باراميتر يحدد الشركة ألي هيطبع علي أساسها الموظفين .


علي فكرة ، المفروض أن مفيش شركة تحتوي علي أكثر من شركة ، المفروض أن الشركة بتحتوي علي أكثر من فرع ، وكل فرع يتضمن قائمة الموظفين ، والفرع الرئيسي معه برنامج كامل لكل ما هو موجود بالفروع.



بالتوفيق

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

أخي العزيز انا فعلا عامل كده عامل جدول للشركات وعامل فورين كي ورميه في جدول الموظفين بس انا عاوز الكود بس

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

بتاريخ:

نفرض أن لدينا الجدولين التاليين :

Create Table Branches
(
 Branches_No Number(10),
 Branches_Name VarChar2(30),
 Constraint PK_Branches Primary Key(Branches_NO),
 Constraint UQ_Branches_Name Unique(Branches_Name)
)
/
Insert Into Branches Values(1,'Branches 1');
Insert Into Branches Values(2,'Branches 2');
Commit;

Create Table Employees
(
  Employees_NO   Number(10),
  Employees_Name VarChar2(30),
  Employees_BranchesNO Number(10),
  Constraint PK_Employees Primary Key(Employees_No),
  Constraint UQ_Employees_Name Unique(Employees_Name),
  Constraint FK_Employees_Branches Foreign Key(Employees_BranchesNo) References Branches(Branches_No)
)
/
Insert Into Employees Values(1,'Ahmed',1);
Insert Into Employees Values(2,'Usif',1);
Insert Into Employees Values(3,'Sara',1);
Insert Into Employees Values(4,'Dina',2);
Insert Into Employees Values(5,'Mostapha',2);
Commit;



بعد كدة أنمت بتعمل تقرير يحتوي علي Query ، بتنشأ باراميتر من نوع رقمي مثلاً P_Branches ، وتكتب جملة الـ SQL كما يلي :

Select Employees_No, Employees_Name
From Employees
Where Employees_Branches = _Branches;



وبكدة تكون جبت كافة الموظفين لفرع معين ، لكن مثلاً لو كنت عايز تعرض إسم الفرع ، أفضل شيء إنك تعمل Formula وتجلب إسم الفرع بنائاً علي قيمة الباراميتر المدخلة ، كما يلي :

Function F_Branches_Name Return VarChar2
Is
  ID_Return  VarChar2(50);
Begin
  Select Branches_Name Into ID_Return From Branches Where Branches_No = _Branches;

  Return ID_Return;
End;



سؤال آخر ، ماذا لو كنت ترغب في عرض تقرير يحتوي علي كافة الفروع ، وكل فرع بجوارة قائمة الموظفين المرتبطين بكل فرع ، في هذه الحالة أنسي الـ Formula ، وأعمل 2 Query ، الأول يتضمن بيانات الفرع كما يلي :

Select * From Branches Where Branches_No = (Case When _Branches = 0 Then Branches_No Else _Branches End);



بحيث أن يكون قيمة الباراميتر الإفتراضية هي ( 0 ) ، فلو كان القيمة صفرية بالفعل ، يبقي يتم عرض كافة الفروع ، اما لو كان القيمة اكبر من صفر ، يبقي المستخدم أختار فرع معين لعرض محتوياتة من موظفين.

أما بخصوص الـ Query الخاص بالموظفين ، فيمكنك كتابة الكود التالي مباتشرتاً :

Select * From Employees;







بالتوفيق

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

اشكرك علي ردك وسوف اجرب وارد عليك

جزاك الله خيرا

  • بعد 1 شهر...
بتاريخ:

تسلم عزيزي MODERATOR

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

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

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

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

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

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.