كيف يمكن عمل مستند صرف مخزني من خلال دمج سطور قطع الغيار و الخدمات في سند امر الصيانة؟ أو كيف يمكن انشاء جدول بدمج جدولين اخرين؟

Viewed 0

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


Originally posted at https://answers.namasoft.com/question/949/ on 2019-10-17.

1 Answers

حتى يمكن الجمع بين بيانات جدولين مختلفين في تفاصيل واحدة للمستند المنشأ، تم تطوير دالة جديدة باسم addLines:

details=[addLines(services)]

وهذه الدالة تضيف إلى السطور التي تم إضافتها سابقاً، حيث يمكن التعامل مع السطور المضافة كالتالي:

details=addedLinesOnly(details.item.item=services.item)

لتوضيح هذا الأمر، فالمسار التالي يقوم بتحويل سطور الخدمات بأمر الصيانة إلى فاتورة:

book="INV"
term="SalesInvoice$#SI"
fromDoc=$this
customer=customer
contact=contact
money.currency=money.currency
details=[services]
details.item.item=services.item
details.quantity.quantity.primeQty.value=services.quantity
details.item.itemCode=services.description2
details.text1=services.description1
details.price.unitPrice=services.price.unitPrice
details.price.tax1.maxNormalPercent="14"
details.price.tax2.maxNormalPercent="3"

والمسار الثاني يقوم بتحويل سطور قطع الغيار إلى فاتورة:

book="INV"
term="SalesInvoice$#SI"
fromDoc=$this
customer=customer
contact=contact
money.currency=money.currency
details=[services]
details.item.item=services.item
details.quantity.quantity.primeQty.value=services.quantity
details.item.itemCode=services.description2
details.text1=services.description1
details.price.unitPrice=services.price.unitPrice
details.price.tax1.maxNormalPercent="14"
details.price.tax2.maxNormalPercent="3"

باستخدام الدالة الجديدة، يمكن الجمع بين المسارين لجمع سطور الخدمات وسطور قطع الغيار في تفاصيل واحدة لفاتورة المبيعات المنشأة:

book="INV"
term="SalesInvoice$#SI"
fromDoc=$this
customer=customer
contact=contact
money.currency=money.currency
details=[spareParts]
details.item.item=spareParts.sparePart
details.quantity.quantity.primeQty.value=spareParts.quantity
details.item.itemCode=spareParts.description2
details.text1=spareParts.description1
details.price.unitPrice=spareParts.price.unitPrice
details=[addLines(services)]
details.item.item=services.item
details=addedLinesOnly(details.item.item=services.item)
details=addedLinesOnly(details.quantity.quantity.primeQty.value=services.quantity)
details=addedLinesOnly(details.item.itemCode=services.description2)
details=addedLinesOnly(details.text1=services.description1)
details=addedLinesOnly(details.price.unitPrice=services.price.unitPrice)
details.price.tax1.maxNormalPercent="14"
details.price.tax2.maxNormalPercent="3"

Originally posted at https://answers.namasoft.com/question/949/ on 2019-10-17.