حتى يمكن الجمع بين بيانات جدولين مختلفين في تفاصيل واحدة للمستند المنشأ، تم تطوير دالة جديدة باسم 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.