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

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

صورة
- - - - -

ارجو المساعدة فى شجرة الحسابات


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

#1 AHM3ORA3

AHM3ORA3

    مشترك

  • الأعضــاء
  • 91 مشاركة

تاريخ المشاركة 08 May 2005 - 05:17 AM

السلام عليكم ورحمة الله و بركاته
انى سعيد لانى مشارك فى هذا المنتدى الجميل و اجمل ما فى هذا المنتدى روح التعاون الشديدة بين مشاركية و ارجو من الله دوام التوفيق لهذا المنتدى العربى الجميل .
أريد عمل جدول يحتوى على شجرة الحسابات و يكون ترتبها عند عمل امر order by لهذا الجدول على النحو التالى : كمثال
1111
11112
112
1121
11211
11212
113
1131
1135
11351
11352
وهكذ
ولكن عندما أستخدم امر order by لهذا الجدول يكون الناتج
112 - 113- 1111 -1121 -1131 -1135 -11112 - 11211 -11212 -11351 11352
أرجو الافادة يا جماعة حيث انة شئ محير جداً

#2 Huonikil

Huonikil

    عضو

  • الأعضــاء
  • 40 مشاركة

تاريخ المشاركة 08 May 2005 - 08:26 AM

Order by to_char(name of ur col.) ..ok

#3 BEKO

BEKO

    عضو

  • الأعضــاء
  • 21 مشاركة

تاريخ المشاركة 08 May 2005 - 08:38 AM

يا صديقي يبدوا أنك تقوم ببناء نظام محاسبة يعتمد على نظام المحاسبة السوري وحتى تستطيع عمل هذا النوع من الترتيب يجب ان تضيف حقل جديد الى جدول الحسابات تسميه sortorder وتصدر أمر الترتيب على أساس هذا الحقل فقط يعني order by sortorder
مع ملاحظة ان هذا الحقل يتم تعبئته عند إضافة حساب جديد وتعتمد قيمته على نوع الحساب سواء كان رئيسي أو فرعي وعلى رقم الحساب وهناك عملية رياضية خاصة بذلك
وسامحني إذا لم تستوعب الموضوع كثيرا وذلك لان العملية معقدة بعض الشي وهذا هو كود تسجيل الحساب وعمل إدخال للحقول.


declare
CURSOR parentaccount_CURSOR IS
SELECT ACCNUMBER
FROM ACCOUNTS
WHERE ACCNUMBER=:parentaccount;
parentaccount_RECORD parentaccount_CURSOR%ROWTYPE;
maxorder number;
digit number;
v number;
v_show_alert_a number;
v_p number :=0;
begin
--------------------
v:= length(:accnumber);
open parentaccount_cursor;
while v_p=0 loop
fetch parentaccount_cursor into parentaccount_record;
exit when parentaccount_cursor%notfound;
if parentaccount_record.ACCNUMBER=:parentaccount then
v_p:=parentaccount_record.ACCNUMBER;
end if;
end loop;
close parentaccount_cursor;
---------------------
if v_p<>0 or v=1 then
select nvl(max(accnumber),0) into maxorder
from accounts;
if maxorder=0 then digit:=1;
ELSE
digit:=length(maxorder);
end if;
v:= length(:accnumber);
if maxorder >= 1 then
if digit<v then
update accounts
set sortorder=sortorder *10;
digit:=digit+1;
end if;
:sortorder:=:accnumber * power(10,digit-v);
end if;
if v=1 then
if digit=1 then :sortorder:=:accnumber;
else :sortorder:=:accnumber * power(10,digit-v);

end if;
end if;
commit;
if :accname is not null then

exit_form(no_commit);
end if;
else v_show_alert_a:= show_alert('ALERT_CHEC_p');
end if;

end;

#4 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 247 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 08 May 2005 - 09:02 AM

السلام عليكم ورحمة الله وبركاته،،
بكل بساطة غير نوع البيانات إلى
Varcahr2
حتترتب معاك ولا تقول ان هناك مشاكل من استخدام Varchar2 في رقم الحساب فأنا أستخدمه منذ سنوات
لا إله إلا الله ، محمد رسول الله

#5 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 247 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 08 May 2005 - 09:03 AM

معذرة كتبت Varchar2 خطأ
لا إله إلا الله ، محمد رسول الله

#6 Mr_CoBoL

Mr_CoBoL

    مشترك

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

تاريخ المشاركة 08 May 2005 - 10:15 AM

السلام عليكم ورحمة الله وبركاته
اخي الفاضل
بالنسبة لجدول يحتوي شجرة الحسابات العامة في معناها المحاسبي من وجهة نظري يتكون من التالي :ـ
create table cust (cust_cd1 number (2),  
cust_cd2 number (2),
cust_cd3 number (2),
cust_cd4 number (4),
cust_nam varchar2 (50),
constraint cust_key primary key (cust_cd1,cust_cd2,cust_cd3,cust_cd4));

وتمثل تلك الاكواد الاربعة
1 ـ كود رئيسي
2 ـ كود مساعد
3 ـ كود فرعي
4 ـ كود تحليلي
يمكنك اضافة اي عدد من الاكواد في حالة رغبتك زيادة عدد المستويات من أربعة الى خمسة او ستة وستقوم بالتكويد بالشكل التالي مثال :ـ
01 الاصول
0101 الاصول الثابتة
0102 الاصول المتدوالة
وهكذا
ويمكنك ان تقوم بعمل Order by على الحقل cust_cd1 وسيظهر كل كود في ترتيبه المنطقي انشالله
وتفضل بقبول فائق تحياتي
اخوك
حسن الحسيني
مصر ـ الزقازيق
{قُلْ إِنَّ صَلاَتِي وَنُسُكِي وَمَحْيَايَ وَمَمَاتِي لِلّهِ رَبِّ الْعَالَمِينَ }الأنعام162

#7 girl_oracle

girl_oracle

    مشترك

  • الأعضــاء
  • 59 مشاركة

تاريخ المشاركة 08 May 2005 - 11:31 AM

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

#8 thg_eg

thg_eg

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 25 December 2006 - 11:42 PM

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

ياريت جزاك الله خيرا لوترسلي له هذة الشجرة حيث حاليا ااصمم برنامج بحيث تكون الشجرة حتى 11 مستوى وعدد الخانات لرقم الحساب لايزيد عن 15 خانة thgegg@gmail.com

#9 comander

comander

    مشترك

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

تاريخ المشاركة 28 December 2006 - 11:21 PM

الأمر إن شاء الله بسيط وممكن عمله بواسطه ال tree لكن أنا محتاج ال description بتاع الجدول علشان أقدر أساعدك

#10 YAHYATHH

YAHYATHH

    عضو

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

تاريخ المشاركة 23 January 2010 - 01:40 PM

ياخوان

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

ارجوا الرد علي وارجوا ارسال الرد على الايميل لانني لاستطيع ان ارجع الى هذاه الصفحة لمعرفة الرد

SKY-YT@HOTMAIL.COM


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

تم التعديل بواسطة YAHYATHH, 23 January 2010 - 01:43 PM.