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

كيف اعدل على بيانات الفاتورة ؟؟؟

مغلق
بدأه ابوخالد العيدروس في 16 نوفمبر 2005 · 22 رد · 2,542 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا الموضوع تم طرحه من قبل ولكن لم ااجد له حل صحيح ومقنع ..

والان اطرحه بشكل مختلف واوضح نوعا ما ..

لدي برنامج يوجد به شاشة لاصدار الفواتير وشاشة اخرى لاستعراضها ..

المهم اريد من خلال شاشة الاستعراض ان امكن المستخدم من عمل تعديلات على بيانات الفاتورة عند الحاجة لذلك ..

المشكلة بالنسبة لي ليست في تعديل رأس الفاتورة ولكن المشكلة في كيفية تعديل تفاصيل الفاتورة واقصد بذلك جدول ارقام السلع والكميات والمجموع وغير ذلك كما سترون من خلال الملف المرفق ..

1- كيف يمكن تعديل تفاصيل الفاتورة خاصة وهي معروضة من خلال داتا جريد ؟؟؟

2- عند تعديل الكميات في الفاتورة كيف اعدل الكميات في جدول السلع الاساسي ؟؟ (( سيتضح السؤال من خلال قراءة كود الملف المرفق ))..

لو وجدتم لي حلول لآسئلتي ستكونون ساعدتموني على انتاج برنامج يعتبر بالنسبة لي اول مشورع حقيقي ..

وشكرا لكم

Invoice.rar

#3

أخي أبو خالد

بدية أرجو منك أن تعذر الشباب فأنا شخصياً نزلت الملف الرفق واستعرضته، المشكلة أخي واعذرني على هذا الكلام هو في أسلوبك في بناء الاتصال إلى قاعدة البيانات فهو معقد شوي و ..... ضعيف شوي

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

على كل حال بعداطلاعي على البرنامج أنصحك بالتالي

1- غير تعريفات أدوات الاتصال (dataset,dataAdapter......( من متحولات محلية إلى متحولات على مستوى الفورم

2- قم باستدعاء طريقة التحديث للداتا أدابتر المناسب للداتا سيت المناسب وذلك في الإجراء الخاص بحدث الضغط لزر التحديث ، يعني كالتالي

adpH.update(dsH)
adpD.update(dsD)

أو سيكون من الأسهل استخدام الأدوات الجاهزة للبيئة فهي كما قلت كافية جداً ووافية ، فمشروعك أخي ليس بهذا التعقيد فلماذ تعقد نفسك ........ :rolleyes:

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

وأنا معك إلى النهاية ......... :D

بالتوفيق

#4

اشكرك اخوي هاورن على مشاركتك ..

وتأكد بأني لا ازعل من النقد ابدا ابدا

وانا اعتبر نفسي مبتدأ جدا ولا زلت في بداية الطريق في البرمجة بالدوت نت ..

عندي سؤال تعقيبا على ردك ..

هل تقصد ان استخدم الدتا ادابتر والادوات الاخرى الموجودة في التوول بوكس ؟؟

اعرف بأني سأتعبك ولكن اذا امكن ان تساعدني بمثال يشبه البرنامج الذي وضعته انا في السؤال ..

واكون شاكر ومقدر

يعطيك العافية

#5

نعم تماماً أخي

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

وبالنسبة للتعب ولا يهمك ، إذاتعبك أنا معك هنا فغيري سوف يتعب معي هناك ، أليس هذا هو مبدأ هذا المنتدى .....

على كل حال جرب الطريقة التي أخبرتك بها سابقاً إذا مش حاب التول بوكس ، مع الانتباه أن تجعل الخاصية ReadOnly للأداة DataGrid إلى False

بالتوفيق .............

#6

آه آسف .... لم أنتبه إلى الشق الثاني من الإجابة ........

تريد مثال ...

تكرم عينك سأحضره وأرفعه لاحقاً ......... :D

#7

مرفق مثال يتضمن برنامجك مع التعديلات المطلوبة ........

سمحت لنفسي أن أجري بعض التعديلات .....

لاحظ الفرق في بساطة الموضوع بين الطريقتين ..........

ولاحظ أيضاً أن الزر "عرض" مازال موجوداً ولكن لم يعد له عمل .......

جرب وخبرني ....... :D

NewInvoice.rar

#9
اقتباس
كل الشكر لك استاذي هارون ..

استغفر الله ........ نحن أخوة إن شاء الله أخي وأنا لست هذا الخبير فكلنا هنا لنتعلم

اقتباس
سأستعرض البرنامج واخبرك ..

وأنا بانتظارك .......

#10

البرنامج واضح جدا وسلمت اناملك على هذا الجهد

رغم انه تبقت مشكلة تعديل الكميات في جدول السلع ولكن ان شاء الله سأحاول حلها ...

عندي سؤال على البرنامج وهو ..

مافائدة الحقل الذي اضفته في جدول تفاصيل الفاتورة وكان حقل ترقيم تلقائي ..؟؟

وشكرا ..

#11
اقتباس
البرنامج واضح جدا وسلمت اناملك على هذا الجهد

أخبار جيدة ........ وتكرم في أي وقت

اقتباس
رغم انه تبقت مشكلة تعديل الكميات في جدول السلع ولكن ان شاء الله سأحاول حلها ...

حاول وأنا في الخدمة......

اقتباس
عندي سؤال على البرنامج وهو ..

مافائدة الحقل الذي اضفته في جدول تفاصيل الفاتورة وكان حقل ترقيم تلقائي ..؟؟

أخي هذا الحقل أضفته ليكون معرف فريد (primary key) فلم حقل في الجدول يمكن أن يستخدم كمعرف فريد (إذا كان هناك غيره فيمكنك استخدامه) ......

أما لماذا المعرف الفريد ؟؟؟؟

فذلك لكي يستطيع الداتا أدابتر الذي أنشأناه لهذا الجدول من إنشاء كوماندي التحديث والحذف لهذا الجدول .. فبدونه لن يتمكن من ذلك (جرب ذلك) ..

نصيحة : دائماً ضمن جدولك معرف فريد .. حتى لو شعرت أن جدولك لا يحتاج له ...

بالتوفيق ...

#12

شكرا على التوضيح اخوي هارون ..

وبالنسبة لمشكلة تعديل الكميات في جدول السلع ..

اذا كان لديك فكرة فيا ليت تنورني بها ..

يعطيك الف عافية وماقصرت ..

#13

أخي أبو خالد :

فكرة التعديل واحدة ....

اعمل داتا أدابتر للجدول ومن ثم اجلب الجدول عن طريق داتا سيت وعند التعديل استخدم الوظيفة update للداتا أدابتر ( كما فعلنا سابقاً) .

طبعاً هناك طرق أخرى للاتصال قاعدة البيانات ولكن هذه الطريقة هي الأسهل والأقوى والأفضل في معظم الأحيان ... بالتوفيق ...

#14

اخوي هارون ...

اتصور ان المسألة ليست بهذه البساطة ..

لان التعديل على الكميات يعني انقاصها ..

فاذا حصل تعديل بزيادة الكميات في الفاتورة يجب تعديل الكميات بالزيادة والعكس صحيح ..

والنقطة الاخرى حقل رقم السلعة في جدول تفاصيل الفاتورة ليس حقل فريد (primaty key) وبالتالي لايمكن ربطه بجدول السلع عن طريق هذا الحقل - بعد التجربة - ..

ارجو ان اكون قد اوضحت لك الصورة ..

شكرا على تواصلك

#15

hi

if you won't the enterbrise solution in acounting and in programin the Invoice cant be change in any acounting system

but you can add new invoice to minmize thats invoice and it have an note feld thats write in it the conndection of thats error

example

if am buy 800 item and in system you record 1000 then you need new cridite invoice thats minmize the invoice with 200 and its shown in the last of invoice

thats way is very good and its trust from the TAX and accountings law

becouse have an invoice with 1000$ and you print it and then change it

thats mean in the tax law is stell so we forced to do thats

#16

اخوي qalaloh

شكرا على مشاركتك بس ياليت توضحلي اكثر ...

تم تعديل هذه المشاركة بواسطة ابوخالد العيدروس في 25 نوفمبر 2005 في 15:25

#17
ابوخالد العيدروس كتب:
اخوي qalaloh

شكرا على مشاركتك بس ياليت توضح لي اكثر عن طريق مثال  ...

وللجميع كل الشكر

#18

hi

في الحلول المحاسبية القانونية لا يمكن بأي حال من لاحوال تغير قيم الفاتوره و لهذا نحن نقوم بإضافه شيء يسمى cridite note

and debite note وهي عبارة عن فاتوره جديدة تعالج الخطأ

و هذا الحل هو المعتمد على مستوى العالم

و ذلك لأنك إذا ما غيرت قيمه الفانوره بعد طباعتها فإن هذا يعتبر احد أشكال التهرب الضريبي

مثال على ذالك إذا كانت الفاتوره أنك بعت 50 بثمن 10 $ قطعة و من ثم قام قمت بطباعة الفاتورة و بعد ذالك اكتشفت حطأ في الفاتورة لان سعر القطعه 7 $ فإن تغير قيمه الفاتوره من 500 إلى 350 تعتبر عمليه غير قانونيه

و الحل هو اضافة بند في اخر الفاتوره يقوم بطرح 150 $ من قيمتها و بجانبة توضيح للخطاء

#19

اخوي qalaloh

شكرا جزيلا لك ..

وضحت الفكرة بالنسبة لي ولكن ..

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

بل بالعكس معظم العملاء يطلبون بشكل الزامي وملح ان يكون في البرنامج خاصية التعديل على جميع الشاشات وبالذات الفواتير !!!

وهذه المسألة اصبحت مشكلة بالنسبة لي للأسف !!!

شكرا لك مرة ثانية

وأسف على اتعابك معي ..

#20

hi

dont worry i will be with you untel solve this problem

so if u need to change in Invoice u can by useing dataset by loading all invoce item and then make the change and then update the dataset

am work now for big company about thats and when i finish i will send to u some screen aboute how to solve all problem in the billing system

#21

السلام عليكم

أخي أبو خالد، أولاً آسف لانقطاعي وذلك بسبب كثرة المشاغل ، أما بالنسبة لتعديل حقل في جدول فعليك جلب الجدول عن طريق داتا أدابتر ووضعه في داتا سيت كالعادة بعد ذلك لا تبقى سوى ثلاث خطوات تبعدك عن تعديل الحقل كالتالي (بفرض الداتا أدابتر هو da، والداتا سيت هو ds1 والجدول هو dt)

1- البحث في الجدول عن السجل الذي أريد تعديله

2- تعديل قيمة السجل الطلوب

3- تحديث الجدول

نعم وبهذه البساطة

أما بالنسبة لقواعد الفوترة فلا أعلم عنها شيئاً وسأنضم معك بانتظار الأخ qalaloh ليوضح لنا هذه القواعد

بالتوفيق ....

#22

hi

first thing

the الاجمالي must not store it in database coz we can calculate it from the price and number of pices

and thats may make mistake in the data

coze any update in item number or price must will fffiect in the total

so try to calculate it and not stor it in the database

#23

اخوي qalaloh

شكرا جزيلا لك

وانا سأظل في منتظر لردودك ان شاء الله حتى يتم حل المشكلة

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

اخوي هاورن

اهلا بعودتك ..

وشكرا على الرد

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…