تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[نقاش] توليد رقم فاتورة
#1
مساء الخير للجميع 

 ما هي الطرق الافضل لتوليد ارقام فاتورة متتالية ؟؟

و كيف ممكن توليد رقم فاتورة على هذا الشكل
201902232343-1
هذا الرقم عبارة عن تاريخ اليوم و الوقت حالياً
و كل فاتورة يتغير فيها التاريخ و الوقت و يزيد 1 على رقم بعد -
الرد }}}
تم الشكر بواسطة:
#2
كود :
'لجعل التاريخ ميلادي
Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("ar-eg")
       Threading.Thread.CurrentThread.CurrentUICulture = New Globalization.CultureInfo("ar-eg")

       TextBox2.Text = Now.ToString("yyyyMMddhhmmss") & "-" & 1

هذا الكود يعطيك رقم الفاتورة مثل ما طلبت ،،

بعد عملية الحفظ تعمل دالة تزيد رقم 1 بقدار 1

اذا ما عرفت تعملها ارفق مثال بسيط مع قاعدة البيانات ،، وستجد الحل بإذن الله

بالتوفيق للجميع
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#3
هذا المشروع

.rar   LMH invoice creatlor.rar (الحجم : 1.07 م ب / التحميلات : 128)
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#4
اعمل شاشة واحدة فقط وجدول واحد فقط ليتم تعديله ..

المشروع مليان شاشات ،، والداتا بيز فيها أكثر من جدول ..

أيضاً هل حقل رقم الفاتورة ترقيم تلقائي ؟
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#5
مرحباً georgos

انظر لما ساقوله الان وطبق لما يناسبك

لنقول انك تريد ان يكون رقم الفاتورة عبارة عن تاريخ اليوم وياليه رقم متزايد مثل 1 و 2 و 3
فكل ما ستفعله التالى

فى الجدول بقاعدة البيانات ستقوم بانشاء عدد 2 عمود الاول 
تحت اسم id والاخر تحت اسم inv_code مثلاً

الان الـ id ترقيم تلقائي والى هنا لا يوجد مشكلة
والثانى inv_code سيكون من نوع رقم

الان عند اتمام تسجيل الفاتورة فعندك id سيتم ادراج رقم تلقائي تسلسلي
وعند عمود inv_code ستقوم باضافة قيمة تاريخ اليوم كما تشري اليه

الى هنا والامر جميل
طيب كيف اظهر طريقة رقم الفاتور 

عند عرض بيانات الفاتورة ستقوم بعرض شكل رقم الفاتورة بهذا الشكل
كود :
inv_code-id

بحيث نقول مثلاً ان رقم الفاتورة مثلاً 20190224 وان الرقم التسلسلى مثلاً 104

فيصبح شكل العرض عند الادراج الاثنين معاً 
كود :
20190224-104

الامر الثاني وهو اذا كان رقم 1 هو ثابت غير متغير
فانت هنا ستقوم بعمل نفس الاعمدة ولكن كل ما سيتم استخدامه فقط عمود inv_code

بحيث سيكون الشكل كالتالى
كود :
inv_code-1

بحيث يكون رقم الفاتور عبارة عن رقم الناتج من قاعدة البيانات وتقوم بعمل ادراج -1 يدوياً به عند العرض

الى هنا واصبح الامر بدون ادنى مشكلة
الامر الاخير اذا كنت تريد عمل نفس الامر الاو حيث يكون تاريخ وياليه رقم يتم تلقائي كا 1 و 2 و 3 
ولكن يتم اعادة البداء لـ 1 كل يوم او كل شهر او كل سنة كما تشاء

الامر هنا سيكون لدينا عدد 3 اعمدة لتقليل التعقيد وتسهيل الامر اثناء البحث وما شبح
وسيكون كالتالى id - inv_code - inv_num

الاول id من نوع ترقيم تلقائي
الثاني inv_code من نوع رقم
الثالث inv_num من نوع رقم

العمود الاول تلقائي فلا يوجد اى تدخل منك
الثاني سيكون عبارة عن تاريخ اليوم
والثالث سيكون قيمته عبارة عن

التحقق اولاً بكون استعلام يقوم بجلب اخر قيمة مدخلة عن تاريخ اليوم ليكون شكل الاستعلام كالتالى
كود :
SELECT TOP 1 inv_num FROM test WHERE inv_code >= 20190224 AND inv_code < 20190225 ORDER BY id DESC
بعد طريقة الاستعلام كالتالي سيكون لديماً القيمة على هذا الشكل
كود :
DT(0)("inv_num")

ولنقول ان قيمتها اصبحت مثلاً 30 وانت تريد   اضافة فاتورة جدليدة لتكون 31

ليصبح الشكل النهائي هو
كود :
20190224-31

فكل ما عليك هو جعل قيمة inv_num كالتالى
كود :
DT(0)("inv_num") +1

الان يصبح الشكل النهائي
كود :
id -> 50 مثلا
inv_code -> 20190224
inv_num -> 31

طيب لو كان القيمة الناتجة من الاستعلام لا يوجد
لاننا عملين استعلام البحث عن كل يوم يبداء من 1
فهنا بتعمل كود تحقق اذا كان الاستعلام لا يوجد به قيمة فتجعل القيمة التى ستسجل فى inv_num  هى 1 مباشراً

لتوضح الصورة اكبر انظر للتالى
كود :
       Dim num As Integer
       If dd.Rows.Count <> 0 Then
           num = DT(0)("inv_num") + 1
       Else
           num = 1
       End If

بكده سيكون معاك 3 طرق يمكنك التعامل بها
اما ان تقوم بتوليد الرقم الذى يلى علامة - تلقائي من عمود id
أو انك تقوم بتثبيت رقم 1 ووضعه يدوياً
او انك تقوم بتوليد رقم يتم بزيادة +1 عن كل يوم او المدة التى تحددها كما تشاء

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

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#6
أو ممكن حقل واحد كالتالي : 1-20190224202135

وبعد عملية الحفظ تعمل دالة جلب آخر سجل ثم

عمل تقسيم split بدلالة (-)

تزيد رقم 1 على الرقم بعد (-)

شوف هذا الموضوع نفس طلبك !

ترقيم خاص بتاريخ اليوم + التسلسل
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
تم الشكر بواسطة: sendbad100 , ابراهيم ايبو , elgokr , elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعديل على فاتورة مبيعات خالد كامل1 4 124 26-03-24, 10:49 PM
آخر رد: خالد كامل1
  [VB.NET] مساعدة فى كود فاتورة اللكترونية asdfar1977 2 218 02-03-24, 02:00 AM
آخر رد: asdfar1977
  مساعدة فى كود فاتورة الكترونية asdfar1977 0 97 29-02-24, 07:14 PM
آخر رد: asdfar1977
  مشكلة غربية عندما اقوم بالطباعة تطلع معي فاتورة الكاشير صغيرة جدا moh61 3 361 28-10-23, 06:57 PM
آخر رد: moh61
  مشكلة عجيبة و غريبة ! عندما اقوم بطباعة فاتورة من Reportveiwer ينطبع التاريخ هجري moh61 2 356 09-09-23, 11:15 AM
آخر رد: alfaiz678
  مثال حفظ فاتورة المشتريات بكامل التفاصيل +اجراء مخزن -الكود محتاج تعديل new_programer 5 721 12-05-23, 09:25 PM
آخر رد: new_programer
  مشكلة ظهور الخطأ عند توليد الترقيم مصمم هاوي 3 617 19-02-23, 01:15 PM
آخر رد: kebboud
  [VB.NET] كيفية تحويل الوحدات في نموذج فاتورة Abo maria 1 653 17-01-23, 06:33 PM
آخر رد: Taha Okla
  [VB.NET] توليد كود QR من التقرير لاجل فاتورة الكترونية Abo maria 1 338 18-12-22, 01:06 PM
آخر رد: Taha Okla
  [VB.NET] توليد كود QR من التقرير لاجل فاتورة الكترونية Abo maria 0 243 18-12-22, 10:40 AM
آخر رد: Abo maria

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم