الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عمل فاتورة بيع

رائج
بدأه weswes88 في 8 أكتوبر 2012 · 70 رد · 15,725 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لو سمحتوا انا صممت برنامج سوبر ماركت .. بالاكسيس وVB.NET

وحابب اطبع فاتورة بعد كل عمليه بيع .. زي اللي بتكون في المطاعم والسوبرماركت اللي بتستخدم الطابعه الحرارية

فياريت تقولولي اعمل الموضوع دا ازاي ..

علما بانني استخدم vb.net 2010

وشكرا

#2

يرجى من عندة علم اعلامنا بالطريقه لانه انا ايضا ابيها

المهندس

#3

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

اطلع علي هذا الرابط هــنــــــــا

بالتوفيق

1

اللهم إغفر لنا ذنوبنا و كفر عنا سيئاتنا و توفنا و أنت راض عنا و أحشرنا مع الصالحين

#4

ِشكرا اخي mr_mgm علي تواصلك

بس الكود اللي مكتوب دا بال C# وانا عاوزه VB ..

#5

ايه يا جماعه ماحدش عمل برنامج فيه فاتوره قبل كدا ...

امال كل البرامج اللي ماليه المحلات دي ايه .. اللي عملها واحد بس يعني .. ومش راض يدي الكود لحد

يارررررررررررب حد يرد علي :lol:

تم تعديل هذه المشاركة بواسطة weswes88 في 11 أكتوبر 2012 في 00:03

#6

السلام عليكم ..

  1. يوجد الكثير من المواقع التي تقوم بتحويل كود الــ C# إلى Vb.NET (رابط) .
  2. حاول الاستفادة من هذا الموضوع (رابط) .
  3. تم تحويل الرابط في الأعلى , و المثال في المرفقات .

BillPrintVB.rar

2

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#7

السلام عليكم اخي

عذرا علي التأخر في الرد

شكرا للأخ houssam11350_11350 Icon

+1

الموضوع مع بعض الشرح في الكود بال vb

http://vb4arab.com/vb/showthread.php?t=95567

وفقك الله

اللهم إغفر لنا ذنوبنا و كفر عنا سيئاتنا و توفنا و أنت راض عنا و أحشرنا مع الصالحين

#8

بارك الله فيكم

يا اخوان هذا المثال حاولت تطبيقه بال vb 2008 ولم استطع

ارجو من الا ستاذ houssam11350_11350 او احد الاخوه لو يستطيع رفع المثال مره اخري

ولكن بأستخدام الفريم ورك 3.5 حتي نستفيد منه

جزاكم الله عنا خير الجزاء

#9

شكرا ليكم اوووي يا جماعه علي تواصلكم وجعله الله في ميزان حسناتكم

#10

السلام عليكم ..

بالتوفيق للجميع ...

قمت بإعادة رفع الأداة Project Converter التي تقوم بتحويل Visual studio project من إصدار لآخر ...

موجودة في المرفقات

ProjectConverter.rar

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#11

يا جماعه .. سؤال معلش .. لو سمحتوا .. هو هتفرق نوع الطابعه اللي هجيبها ..

يعني هغير حاجه في الكود .. غير اسم الطابعه ..

وكمان حاجه ايه أفضل نوع طابعات ممكن استخدمه .. للموضوع دا ..

انا اخترت مثلا النوع دا .. ايه رأيكم فيه samsung srp 275

#12

يا جماااااااااااااعه .. حد يرد علي سؤالي ..

#14

الكود اللي كاتبه الأخ houssam11350_11350 في البرنامج ..

فيه كود بيخلي البرنامج يعمل حفظ صورة للفاتورة المطبوعة بالضبط في مسار البرنامج واللي مكتوب في كلاس البرنامج

انا عاوز الغي الكود دا اعمل ايه لما بعمله كومنت ..

البرنامج بيطلع ايرور .. ياريت يا جماعه تقولي اعمل ايه علشان ألغي كود حفظ الصوره ..

وشكرا

#15

السلام عليكم ...

فقط قم بتعليق السطرين :

'cls.BillPrint(ReportViewer1.LocalReport, 3.14961, HeightInInch, "Canon LBP3010/LBP3018/LBP3050")


    	'cls.m_currentPageIndex = 0  ' /*جعل عدد الصفحات يساوي صفر*/

ثم يمكن الطباعة من الــ ReportViewer مباشرة .

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#16

طيب يا استاذ houssam11350_11350

لو عاوز اخليه يطبع نسختين من الفاتوره ..

وبعد كل نسخه يقطع الفاتوره ..

يعني يطلع نسخين للفاتوره .. كأني دوست برنت مرتين ..

#17

السلام عليكم ..

  1. الأكواد السابقة هي لطباعة التقرير مباشرة و هي موجودة هنا.
  2. فكرة الكود انه يقوم بتصدير التقرير إلى File Stream ثم يقوم بطباعة هذه الـ Stream , إذا كنت لا ترغب باستخدام الملفات فيمكن تعديل الكود ليتعامال مع MemoryStream كمايلي :
        	Private Function CreateStream(ByVal name As String, ByVal fileNameExtension As String, ByVal encoding As Encoding, ByVal mimeType As String, ByVal willSeek As Boolean) As Stream
            	Dim stream As Stream = New MemoryStream()
            	m_streams.Add(stream)
            	Return stream
        	End Function

  3. لجعل التقرير يطبع مرتين , نقوم باستدعاء كود الطباعة مرتين :
     Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
    
    
        	Dim HeightInInch As Double
        	HeightInInch = ((phieght * 0.24096) + 0.90921) ' /*تعريف متغير جديد يحتوي علي طول الفاتورة بالكامل 
        	'* وتم حسابة كالتالي : عدد الصفوف وهو المتغير (بي يهايت) مضروبا في طول الصف الواحد
        	'* ويمكن حسابة بالضغط كليك يمين في واجهة تصميم التقرير ثم فيو ثم رولر
        	'* اي المسطرة .... ثم مجموعا علية طول باقي الفاتورة اي راس و زيل الفاتورة ....*/
    
        	ReportViewer1.LocalReport.DataSources.Clear()   '	/*مسح اي داتا سورس مرتبط بالتقري*/
    
        	ReportViewer1.LocalReport.ReportPath = Application.StartupPath & "\Report1.rdlc"  '/*مسار التقرير*/ 
    
        	ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("DataSet1", dt)) '   /*الداتا سورس الخاص بالتقرير*/
        	'/*وهذا هو كود لكيفية استخدام الكلاس الخاص بالطباعة مباشرة*/
        	'cls.BillPrint(ReportViewer1.LocalReport, 3.14961, HeightInInch, "Canon LBP3010/LBP3018/LBP3050")
        	cls.BillPrint(ReportViewer1.LocalReport, 3.14961, HeightInInch, "Bullzip PDF Printer")
        	'
        	'/*وهذا هو كود لكيفية استخدام الكلاس الخاص بالطباعة مباشرة*/
    
        	cls.m_currentPageIndex = 0  ' /*جعل عدد الصفحات يساوي صفر*/
        	cls.BillPrint(ReportViewer1.LocalReport, 3.14961, HeightInInch, "Bullzip PDF Printer")
        	cls.m_currentPageIndex = 0  ' /*جعل عدد الصفحات يساوي صفر*/
    
        	Me.ReportViewer1.RefreshReport() ' //عمل ريفريش للريبورت = 
        	' Me.ReportViewer1.
    
    	End Sub

  4. بالنسبة لقطع القاتورة :
    1. حسب معلوماتني أنه الطابعات المسماة Receipt Printer أو POS Printer لها SDK خاصة يمكن التعامل معها (رابط) . (عليك بالجوجل) .
    2. بانتظار ردود الخبراء على الموضوع ..

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#18

شكرا اخي houssam11350_11350

كل حاجه شغاله تمام ربنا يخليك ..

وبالنسبة لقطع كل فاتوره لوحدها ..

انا لما استدعيت كود الطباعه مرتين .. الطابعه قطعت كل فاتوره لوحدها ...

شكرا لتواصل حضرتك معاي .. وجزاك الله كل خير

#19

الاستاذ صاحب الموضوع

من فضلك برجاء وضع المثال بعد التعديل

نظرا لجاتي الماسة اليه

#20

استاذ houssam11350_11350

انا في مشكلة صغيره معاي .. انا لما بطبع أي فاتوره ..

وتمام الفاتوره اتطبعت وكل حاجه تمام

اي اعمل خروج للبرنامج بتظهر الرساله دي

Error while unloading appdomain. (Exception from HRESULT: 0x80131015)

فتقريبا الاستريم مفتوح والمفروض يتقفل .. فياريت حضرتك تقولي اقفله ازاي ..

استاذ atefkhalf2004

المثال موجود في الموضوع فوق ..

لكن التعديل دا مش تعديل للكود انه غلط ..

لكن اضافه انا كنت عاوزها .. مش اكتر

تم تعديل هذه المشاركة بواسطة weswes88 في 15 ديسمبر 2012 في 14:48

#21

السلام عليكم ...

  1. يوجد دالة Dispose تقوم بغلق الــ Streams , و لكن لا يتم استدعاؤها , لذلك سنقوم بتعديلين :
    1. نعدل الصف ليكون :

      Implements IDisposable
       Class Class2
    2. نجعل الدالة Dispose الموجودة في Class2 بالشكل :
      Public Sub Dispose() Implements IDisposable.Dispose
    3. هذه المشكلة مطروحة هنا, و أحد الحلول المطروحة هو معالجة حدث إغلاق الفورم بالشكل :

      ReportViewer1.LocalReport.ReleaseSandboxAppDomain()
      End Sub
         Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#22

معلهش يا ريس

برجاء رفع مثالك بعد اضافة تعديلاتك او التعديلات السابقة عليه

اكيد فيه اضافة

#23

استاذ houssam11350_11350

انا في مشكلة صغيره معاي .. انا لما بطبع أي فاتوره ..

وتمام الفاتوره اتطبعت وكل حاجه تمام

اي اعمل خروج للبرنامج بتظهر الرساله دي

Error while unloading appdomain. (Exception from HRESULT: 0x80131015)

فتقريبا الاستريم مفتوح والمفروض يتقفل .. فياريت حضرتك تقولي اقفله ازاي ..

#24

السلام عليكم ...

لقد وضعت الجواب في المشاركة 21..

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#25

houssam11350_11350

شكرا اووي علي تواصلك استاذ حسام .. ومعلش انا تعبتك معاي .. بص انا هقولك اللي عملته وقولي صح ولا لا

انا عملت لود للانترفيس كالتالي ..

Class Class2 : Implements IDisposable

دي اول حاجه عملتها

وبعدين عدلت كود الDispose

من

Private Sub Dispose()

الي

Public Sub Dispose() Implements IDisposable.Dispose
            If (Not (m_streams) Is Nothing) Then
                For Each stream As Stream In m_streams
                    stream.Close()
                Next
                m_streams = Nothing
            End If
        End Sub

وبعدين كتبت الكود دا في حدث form closing

ReportViewer1.LocalReport.ReleaseSandboxAppDomain()

وبرضو طلع نفس الايرور .. مش عارف انا عملت حاجه غلط ولا في حاجه غلط في الكود وشكرا

مواضيع مشابهة