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

بتاريخ:

ارجو المساعده فى عمل تقرير للفاتوره ويقوم التقرير بتفقيط اجمالى الثمن بالعربى معا العلم انى قرات كذا موضوع للتقرير ده على المنتدى ولم اوصل الى حل اتمنى من الاخوه الاعزاء فى المنتىدى المساعده وجزاكم الله خير

بتاريخ:

الاخ العزيز : اعتقد انه في احدى المشاركات لا اعرف بالضبط اسم المشارك ولكن الكود لديه يعمل بشكل جيد , وانا جربته عندي ولا اجد فيه اي مشكلة وهذا هو الكود :

CREATE OR REPLACE FUNCTION number_to_char(N NUMBER) RETURN VARCHAR2 IS
  type tafkeet_table is table of varchar2(15) index by binary_integer;
  one tafkeet_table;
  hund tafkeet_table;

  n_ch varchar2(8);
  n1 number(2);
  n2 number(2);
  n3 number(2);
  n4 number(2);
  n5 number(2);
  n6 number(3,3);
  ch varchar2(200);
  ch1 varchar2(20);
  ch2 varchar2(20);
  ch3 varchar2(20);
  ch4 varchar2(20);
  ch5 varchar2(20);
  ch6 varchar2(5);
  ch1_1 varchar2(14);
  ch3_3 varchar2(14);
  ch5_5 varchar2(19);
  and1 varchar2(2);
  and2 varchar2(2);
  and3 varchar2(2);
  and4 varchar2(2);
  and5 varchar2(2);
  fils varchar2(3) := 'قرش';
  only varchar2(3) := 'فقط';
  dinar varchar2(7) := 'ليرة';
  thousand varchar2(5) := 'ألف';
  milion varchar2(7);
  begin
  -- TABLE
  one(0) := ' ';
  one(1) := 'واحد ';
  one(2) := 'إثنان ';
  one(3) := 'ثلاثة ';
  one(4) := 'أربعة ';
  one(5) := 'خمسة ';
  one(6) := 'ستة ';
  one(7) := 'سبعة ';
  one(8) := 'ثمانية ';
  one(9) := 'تسعة ';
  one(10) := 'عشرة ';
  one(11) := 'أحد عشر';
  one(12) := 'إثنى عشر';
  one(13) := 'ثلاثة عشر';
  one(14) := 'أربعة عشر';
  one(15) := 'خمسة عشر';
  one(16) := 'ستة عشر';
  one(17) := 'سبعة عشر';
  one(18) := 'ثمانية عشر';
  one(19) := 'تسعة عشر';
  one(20) := 'عشرون';
  one(21) := 'واحد وعشرون';
  one(22) := 'إثنان وعشرون';
  one(23) := 'ثلاثة وعشرون';
  one(24) := 'أربعة وعشرون';
  one(25) := 'خمسة وعشرون';
  one(26) := 'ستة وعشرون';
  one(27) := 'سبعة وعشرون';
  one(28) := 'ثمانية وعشرون';
  one(29) := 'تسعة وعشرون';
  one(30) := 'ثلاثون';
  one(31) := 'واحد وثلاثون';
  one(32) := 'إثنان وثلاثون';
  one(33) := 'ثلاثة وثلاثون';
  one(34) := 'أربعة وثلاثون';
  one(35) := 'خمسة وثلاثون';
  one(36) := 'ستة وثلاثون';
  one(37) := 'سبعة وثلاثون';
  one(38) := 'ثمانية وثلاثون';
  one(39) := 'تسعة وثلاثون';
  one(40) := 'أربعون';
  one(41) := 'واحد وأربعون';
  one(42) := 'إثنان وأربعون';
  one(43) := 'ثلاثة وأربعون';
  one(44) := 'أربعة وأربعون';
  one(45) := 'خمسة وأربعون';
  one(46) := 'ستة وأربعون';
  one(47) := 'سبعة وأربعون';
  one(48) := 'ثمانية وأربعون';
  one(49) := 'تسعة وأربعون';
  one(50) := 'خمسون';
  one(51) := 'واحد وخمسون';
  one(52) := 'إثنان وخمسون';
  one(53) := 'ثلاثة وخمسون';
  one(54) := 'أربعة وخمسون';
  one(55) := 'خمسة وخمسون';
  one(56) := 'ستة وخمسون';
  one(57) := 'سبعة وخمسون';
  one(58) := 'ثمانية وخمسون';
  one(59) := 'تسعة وخمسون';
  one(60) := 'ستون';
  one(61) := 'واحد وستون';
  one(62) := 'إثنان وستون';
  one(63) := 'ثلاثة وستون';
  one(64) := 'أربعة وستون';
  one(65) := 'خمسة وستون';
  one(66) := 'ستة وستون';
  one(67) := 'سبعة وستون';
  one(68) := 'ثمانية وستون';
  one(69) := 'تسعة وستون';
  one(70) := 'سبعون';
  one(71) := 'واحد وسبعون';
  one(72) := 'إثنان وسبعون';
  one(73) := 'ثلاثة وسبعون';
  one(74) := 'أربعة وسبعون';
  one(75) := 'خمسة وسبعون';
  one(76) := 'ستة وسبعون';
  one(77) := 'سبعة وسبعون';
  one(78) := 'ثمانية وسبعون';
  one(79) := 'تسعة وسبعون';
  one(80) := 'ثمانون';
  one(81) := 'واحد وثمانون';
  one(82) := 'إثنان وثمانون';
  one(83) := 'ثلاثة وثمانون';
  one(84) := 'أربعة وثمانون';
  one(85) := 'خمسة وثمانون';
  one(86) := 'ستة وثمانون';
  one(87) := 'سبعة وثمانون';
  one(88) := 'ثمانية وثمانون';
  one(89) := 'تسعة وثمانون';
  one(90) := 'تسعون';
  one(91) := 'واحد وتسعون';
  one(92) := 'إثنان وتسعون';
  one(93) := 'ثلاثة وتسعون';
  one(94) := 'أربعة وتسعون';
  one(95) := 'خمسة وتسعون';
  one(96) := 'ستة وتسعون';
  one(97) := 'سبعة وتسعون';
  one(98) := 'ثمانية وتسعون';
  one(99) := 'تسعة وتسعون';
  hund(0) := ' ';
  hund(1) := 'مائة';
  hund(2) := 'مائتان';
  hund(3) := 'ثلاثمائة';
  hund(4) := 'أربعمائة';
  hund(5) := 'خمسمائة';
  hund(6) := 'ستمائة';
  hund(7) := 'سبعمائة';
  hund(8) := 'ثمانمائة';
  hund(9) := 'تسعمائة';
  -----------
  n_ch := lpad(to_char(trunc(n)),8,'00000000');
  n1 := nvl(to_number(substr(n_ch,1,2)),0);
  n2 := nvl(to_number(substr(n_ch,3,1)),0);
  n3 := nvl(to_number(substr(n_ch,4,2)),0);
  n4 := nvl(to_number(substr(n_ch,6,1)),0);
  n5 := nvl(to_number(substr(n_ch,7,2)),0);
  n6 := nvl(mod(n,1),0);
  ch1 := one(n1);
  ch2 := hund(n2);
  ch3 := one(n3);
  ch4 := hund(n4);
  ch5 := one(n5);
  ch6 := lpad(rpad(to_char(n6*1000),4,' '),5,' ');
  if (n1<>0) and (n2<>0 or n3<>0 or n4<>0 or n5<>0) then and1 := ' و'; end
  if;
  if (n2<>0) and (n3<>0 or n4<>0 or n5<>0) then and2 := ' و'; end if;
  if (n3<>0 or n2<>0) and (n4<>0 or n5<>0) then and3 := ' و'; end if;
  if (n4<>0) and (n5<>0) then and4 := ' و'; end if;
  if (trunc(n)<>0) and (n6<>0) then and5 := ' و'; end if;
  ch1_1 := ch1;
  ch3_3 := ch3;
  ch5_5 := ch5;
  if nvl(n,0)=0 then
  only := ' ';
  dinar := ' ';
  thousand := ' ';
  end if;
  if (n6=0) then
  fils := '';
  ch6 := '';
  end if;
  if (n3=1) and (n2=0) then ch3_3 := '';
  elsif (n3=2) and (n2=0) then thousand := 'ألفين';
  ch3_3 := '';
  elsif (n3>=3) and (n3<=10) then thousand := 'ألاف';
  end if;
  if (n3=0) and (n2=0) and (n4<>0 or n5<>0) then thousand := ''; end if;
  if (n3=0) then and2 := ''; end if;
  if (n1=0 and n2 =0 and n3=0 and n4=0) then
  if (n5=1) then ch5_5 := 'ليرة'||ch5;
  thousand := '';
  dinar := '';
  elsif (n5=2) then ch5_5 := 'ليرتين';
  thousand := '';
  dinar := '';
  elsif (n5>=3) and (n5<=10) then ch5_5 := ch5 || 'ليرات';
  thousand := '';
  dinar := '';
  end if;
  end if;
  if (n1=0 and n2 =0 and n3=0 and n4=0 and n5=0) then
  thousand := '';
  dinar := '';
  end if;
  if (n1=1) then milion := 'مليون';
  ch1_1 := '';
  elsif (n1=2) then milion := 'مليونين';
  ch1_1 := '';
  elsif (n1>=3) and (n1<=10) then milion := 'ملايين';
  elsif (n1<>0) then milion := 'مليون';
  end if;
  ch := ch1_1||' '||milion||and1||ch2||and2||ch3_3||' '||thousand||and3||
  ch4||and4||ch5_5||' '||dinar||and5||ch6||fils||' '||only;
  return(ch);
  end;
/

تم تعديل بواسطة Ahmad.Hasan

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

الاخ العزيز اريد شرح عمليه التفقيط على التقرير تبقى ازاى عشان انا مش عارف اعمله على التقرير ازاى وانا اصل معيا كود التفقيط بس مش عارف استخدمه على التقرير ارجو من الاخوه فى المنتدى مساعدتى لانه موضوع ضرورى جدا وجزاكم الله خيرا

بتاريخ:

الاخ الكريم :
طبعا يمكنك استخدام الكود السابق في التقارير بأكثر من طريقة , ولكن يفضل اولا بناء التابع ضمن قاعدة البيانات وبعد ذلك يمكن استخدام التابع ضمن تعليمة الsql التي نبني بها التقرير او استخدام عمود صيغة .
وفي المثال المرفق قمت ببناء التابع number_TO_CHAR ضمن قاعدة البايانات للمستخدم hr
وبعد ذذك قمت ببناء التقرير حيث العمود الجديد sal استخدمت التابع ضمن تعليمة sql
اما الحقل cf_1 فهو عمود صيغة ( اقرا الكود الذي بداخله)

salary.rar

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

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

بتاريخ:

اخي الكريم :

لا داعي لأن تبني جدول جديد لأن التقرير مبني على الجدول employees للمستخدم hr , فقط عليك الدخول باسم المستخدم hr وكلمة السر hr وبعد ذلك نفذ كود التفقيط الذي هو تابع function ,
ثم جرب التقرير , واذا كان هناك مشكلة انا جاهز ان شاء الله

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

شكرا على كل مساعدات الاخوه الاعزاء الحمد لله لقد قمت بحل المشكل جزاكم الله خير على المساعده واكثر من امثالكم والله الموافق اخوكم فى الله

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

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

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

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

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

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.