ฟิลด์ที่คำนวณใน SKD 1s 8.2 เอสเคดี. การแสดงข้อมูลแบบตารางในเซลล์เดียว เขตข้อมูลจากการคำนวณคืออะไร
1. คำนวณ (ประเมิน)- มีวัตถุประสงค์เพื่อประเมินการแสดงออกในบริบทของการจัดกลุ่มบางกลุ่ม ฟังก์ชั่นนี้ใช้สำหรับความเข้ากันได้กับ รุ่นก่อนหน้าแพลตฟอร์ม ขอแนะนำให้ใช้ฟังก์ชัน CalculateExpression แทน
ไวยากรณ์:
คำนวณ (นิพจน์ การจัดกลุ่ม ประเภทการคำนวณ)
ตัวเลือก :
- การแสดงออก(เส้น). ประกอบด้วยนิพจน์จากการคำนวณ
- การจัดกลุ่ม(เส้น). ประกอบด้วยชื่อของการจัดกลุ่มในบริบทที่จะประเมินนิพจน์ หากใช้ชื่อกลุ่ม บรรทัดว่างการคำนวณจะดำเนินการในบริบทของการจัดกลุ่มปัจจุบัน ถ้าใช้สตริง GrandTotal เป็นชื่อกลุ่ม การคำนวณจะดำเนินการในบริบทของผลรวมทั้งหมด มิฉะนั้น การคำนวณจะดำเนินการในบริบทของกลุ่มหลักที่มีชื่อเดียวกัน
ตัวอย่างเช่น:
ผลรวม(Sales.SumTurnover) / คำนวณ("Sum(Sales.SumTurnover)", "Total")
ใน ในตัวอย่างนี้ผลลัพธ์จะเป็นอัตราส่วนของจำนวนเงินสำหรับฟิลด์ "Sales.SumTurnover" ของเรกคอร์ดการจัดกลุ่มต่อจำนวนของฟิลด์เดียวกันในเค้าโครงทั้งหมด - ประเภทการคำนวณ(เส้น). หากตั้งค่าพารามิเตอร์นี้เป็น "TotalTotal" นิพจน์จะถูกคำนวณสำหรับเรกคอร์ดการจัดกลุ่มทั้งหมด หากค่าของพารามิเตอร์คือ "การจัดกลุ่ม" ค่าจะถูกคำนวณสำหรับบันทึกกลุ่มการจัดกลุ่มปัจจุบัน
ไวยากรณ์:
CalculateExpression (นิพจน์ การจัดกลุ่ม ประเภทการคำนวณ เริ่มต้น สิ้นสุด เรียงลำดับ เรียงลำดับชั้น ประมวลผลค่า IdenticalOrder)
ตัวเลือก :
- การแสดงออก(เส้น). ประกอบด้วยนิพจน์จากการคำนวณ
- การจัดกลุ่ม(เส้น). ประกอบด้วยชื่อของการจัดกลุ่มในบริบทที่จะประเมินนิพจน์ ถ้าใช้สตริงว่างเป็นชื่อการจัดกลุ่ม การคำนวณจะดำเนินการในบริบทของการจัดกลุ่มปัจจุบัน ถ้าใช้สตริง GrandTotal เป็นชื่อกลุ่ม การคำนวณจะดำเนินการในบริบทของผลรวมทั้งหมด มิฉะนั้น การคำนวณจะดำเนินการในบริบทของการจัดกลุ่มหลักด้วยชื่อนั้น
- ประเภทการคำนวณ(เส้น). หากตั้งค่าพารามิเตอร์นี้เป็น "TotalTotal" นิพจน์จะถูกคำนวณสำหรับเรกคอร์ดการจัดกลุ่มทั้งหมด หากค่าของพารามิเตอร์คือ "การจัดกลุ่ม" ค่าจะถูกคำนวณสำหรับบันทึกกลุ่มการจัดกลุ่มปัจจุบัน หากตั้งค่าพารามิเตอร์เป็น "การจัดกลุ่มที่ไม่ใช่ทรัพยากร" ดังนั้นเมื่อคำนวณฟังก์ชันสำหรับบันทึกกลุ่มตามทรัพยากร นิพจน์จะถูกประเมินสำหรับบันทึกกลุ่มแรกของการจัดกลุ่มดั้งเดิม เมื่อประเมินฟังก์ชัน CalculateExpression ด้วยค่า "GroupingNonResource" สำหรับเรกคอร์ดกลุ่มที่ไม่ได้จัดกลุ่มตามทรัพยากร ฟังก์ชันจะได้รับการประเมินในลักษณะเดียวกับที่จะถูกประเมินด้วยค่าของพารามิเตอร์ "การจัดกลุ่ม" ตัวสร้างเค้าโครงองค์ประกอบข้อมูล เมื่อสร้างเค้าโครงองค์ประกอบข้อมูลเมื่อส่งออกฟิลด์ ซึ่งเป็นทรัพยากรที่ใช้จัดกลุ่ม ไปยังโครงร่าง ส่งออกนิพจน์ไปยังโครงร่างที่คำนวณโดยใช้ฟังก์ชัน CalculateExpression พร้อมพารามิเตอร์ "GroupingNon-Resource" ที่ระบุ สำหรับทรัพยากรอื่นๆ ที่จัดกลุ่มตามทรัพยากร นิพจน์ทรัพยากรปกติจะถูกส่งกลับ หากตั้งค่าพารามิเตอร์เป็น "ลำดับชั้น" นิพจน์จะต้องได้รับการประเมินสำหรับเรกคอร์ดลำดับชั้นพาเรนต์ หากมีอย่างใดอย่างหนึ่ง และสำหรับการจัดกลุ่มทั้งหมด หากไม่มีเรกคอร์ดลำดับชั้นพาเรนต์ เมื่อสร้างนิพจน์สำหรับ % ในฟิลด์กลุ่มลำดับชั้น ตัวสร้างเค้าโครงจะสร้างนิพจน์ที่มีความสัมพันธ์ของนิพจน์ทรัพยากรกับฟังก์ชัน CalculateExpression สำหรับนิพจน์ทรัพยากรที่กำลังคำนวณสำหรับการจัดกลุ่มปัจจุบันด้วยประเภทการคำนวณลำดับชั้น
- เริ่ม. บ่งชี้ว่าการบันทึกส่วนใดที่ควรเริ่มต้นในการคำนวณ ฟังก์ชันรวมนิพจน์และบันทึกใดที่จะได้รับค่าฟิลด์นอกฟังก์ชันรวม สตริงที่มีหนึ่งใน:
- "อันดับแรก" จำเป็นต้องได้รับบันทึกการจัดกลุ่มครั้งแรก หลังจากคำในวงเล็บคุณสามารถระบุนิพจน์ได้ซึ่งผลลัพธ์จะถูกใช้เป็นค่าชดเชยตั้งแต่จุดเริ่มต้นของการจัดกลุ่ม ค่าผลลัพธ์ต้องเป็นจำนวนเต็มที่มากกว่าศูนย์ ตัวอย่างเช่น First(3) – รับบันทึกที่สามจากจุดเริ่มต้นของการจัดกลุ่ม หากเรกคอร์ดแรกอยู่นอกกลุ่ม จะถือว่าไม่มีเรกคอร์ด ตัวอย่างเช่น หากมี 3 เรคคอร์ด และคุณต้องการได้รับ First(4) ก็ถือว่าไม่มีเรคคอร์ด
- "ล่าสุด" คุณต้องได้รับบันทึกการจัดกลุ่มล่าสุด หลังจากคำในวงเล็บคุณสามารถระบุนิพจน์ได้ซึ่งผลลัพธ์จะถูกใช้เป็นค่าชดเชยเมื่อสิ้นสุดการจัดกลุ่ม ค่าผลลัพธ์ต้องเป็นจำนวนเต็มที่มากกว่าศูนย์ ตัวอย่างเช่น Last(3) – รับบันทึกที่สามจากท้ายกลุ่ม ถ้า บันทึกสุดท้ายไปไกลกว่าการจัดกลุ่มก็ถือว่าไม่มีบันทึก ตัวอย่างเช่น หากมี 3 เรคคอร์ด และคุณต้องการรับ Last(4) ก็ถือว่าไม่มีเรคคอร์ด
- "ก่อนหน้า" คุณต้องได้รับบันทึกการจัดกลุ่มก่อนหน้า หลังคำในวงเล็บ คุณสามารถระบุนิพจน์ได้ ซึ่งผลลัพธ์จะถูกใช้เป็นค่าชดเชยกลับจากบันทึกการจัดกลุ่มปัจจุบัน ตัวอย่างเช่น Previous(2) – รับข้อมูลก่อนหน้าจากบันทึกก่อนหน้า หากเรกคอร์ดก่อนหน้าอยู่นอกกลุ่ม (เช่น เรกคอร์ดการจัดกลุ่มที่สองจำเป็นต้องได้รับก่อนหน้า(3)) ดังนั้นจะได้รับเรกคอร์ดการจัดกลุ่มแรก เมื่อได้รับบันทึกก่อนหน้าสำหรับผลรวมการจัดกลุ่ม จะได้รับบันทึกแรก
- "ต่อไป" คุณต้องได้รับเรกคอร์ดการจัดกลุ่มถัดไป หลังคำในวงเล็บ คุณสามารถระบุนิพจน์ได้ ซึ่งผลลัพธ์จะถูกใช้เป็นค่าชดเชยจากการส่งต่อจากรายการการจัดกลุ่มปัจจุบัน ตัวอย่างเช่น Next(2) – รับข้อมูลถัดไปจากบันทึกถัดไป หากบันทึกถัดไปไปนอกเหนือการจัดกลุ่มจะถือว่าไม่มีบันทึก เช่น ถ้ามี 3 รายการ และรายการที่สามได้รับ Next ก็ถือว่าไม่มีรายการ เมื่อได้รับบันทึกถัดไปสำหรับยอดรวมกลุ่มถือว่าไม่มีบันทึก
- "ปัจจุบัน". คุณต้องได้รับบันทึกปัจจุบัน เมื่อดึงข้อมูลผลรวมการจัดกลุ่ม จะได้รับบันทึกแรก
- "ค่าขอบเขต". ความจำเป็นในการได้รับบันทึกตามค่าที่ระบุ หลังจากคำว่า LimitingValue ในวงเล็บ คุณต้องระบุนิพจน์ด้วยค่าที่คุณต้องการเริ่มต้นแฟรกเมนต์ ซึ่งเป็นฟิลด์ลำดับแรก เรกคอร์ดแรกที่มีค่าฟิลด์การเรียงลำดับมากกว่าหรือเท่ากับค่าที่ระบุจะถูกส่งกลับเป็นเรกคอร์ด ตัวอย่างเช่น หากใช้ฟิลด์ระยะเวลาเป็นฟิลด์การสั่งซื้อ และมีค่า 01/01/2010, 02/01/2010, 03/01/2010 และคุณต้องการรับ LimitingValue(DateTime(2010) , 1, 15)) จากนั้นจะได้รับบันทึกวันที่ 02/01 พ.ศ. 2553
- จบ. บ่งชี้ว่าเรกคอร์ดใดควรดำเนินการต่อ ซึ่งนิพจน์รวมควรถูกคำนวณ สตริงที่มีหนึ่งใน:
- "อันดับแรก"
- "ล่าสุด"
- "ก่อนหน้า"
- "ต่อไป"
- "ปัจจุบัน".
- "ค่าขอบเขต".
- การเรียงลำดับ. สตริงที่แสดงรายการนิพจน์ คั่นด้วยเครื่องหมายจุลภาค ในทิศทางที่ควรเรียงลำดับ หากไม่ได้ระบุไว้ การเรียงลำดับจะดำเนินการในลักษณะเดียวกับการจัดกลุ่มที่มีการประเมินนิพจน์ หลังจากแต่ละนิพจน์คุณสามารถระบุได้ คำสำคัญ Asc สำหรับการเรียงลำดับจากน้อยไปหามาก มากไปหาน้อย สำหรับการเรียงลำดับจากมากไปหาน้อย ลำดับอัตโนมัติ สำหรับการเรียงลำดับฟิลด์อ้างอิงตามฟิลด์ที่คุณต้องการเรียงลำดับออบเจ็กต์ที่ถูกอ้างอิง คำว่า Auto Order สามารถใช้ได้ทั้งคำว่า Ascending และคำว่า Descending
- การเรียงลำดับตามลำดับชั้น. คล้ายกับการเรียงลำดับ ใช้เพื่อจัดระเบียบบันทึกแบบลำดับชั้น หากไม่ได้ระบุ ตัวประกอบโครงร่างจะสร้างการเรียงลำดับตามลำดับที่ระบุในพารามิเตอร์ Sort
- การประมวลผลมูลค่าการสั่งซื้อเดียวกัน. สตริงที่มีหนึ่งใน:
- "ร่วมกัน" หมายความว่ามีการใช้ลำดับของบันทึกที่เรียงลำดับเพื่อกำหนดบันทึกก่อนหน้าและถัดไป
- "แยกกัน" หมายความว่าบันทึกก่อนหน้าและถัดไปถูกกำหนดตามค่าของนิพจน์การเรียงลำดับ
1. 1 มกราคม 2544 Ivanov M. 10
2. 2 มกราคม 2544 Petrov S. 20
3. 2 มกราคม 2544 Sidorov R. 30
4. 03 มกราคม 2544 Petrov S. 40
เมื่อใช้การประมวลผลค่าที่เหมือนกันของคำสั่ง "แยกกัน" ค่าก่อนหน้าสำหรับบันทึก 3 จะเป็นบันทึก 2 และเมื่อใช้ "ร่วมกัน" - บันทึก 1 และส่วนย่อยสำหรับบันทึกปัจจุบันสำหรับบันทึก 2 สำหรับ "แยกกัน" จะเป็นบันทึก 2 และสำหรับ "ร่วมกัน" - บันทึก 2 และ 3 ดังนั้นผลรวมสำหรับบันทึกปัจจุบันสำหรับ "แยกกัน" จะเป็น 20 และสำหรับ "ร่วมกัน" - 50 เมื่อระบุ "ร่วมกัน" ในส่วนเริ่มต้นและ พารามิเตอร์สิ้นสุด คุณไม่สามารถระบุออฟเซ็ตสำหรับตำแหน่ง "แรก", "สุดท้าย", "ก่อนหน้า", "ถัดไป" ค่าเริ่มต้นคือ "แยก"
การได้รับอัตราส่วนของจำนวนเงินสำหรับฟิลด์ "Sales.AmountTurnover" ของเรกคอร์ดการจัดกลุ่มต่อจำนวนของฟิลด์เดียวกันในโครงร่างทั้งหมด:
ผลรวม(Sales.SumTurnover) / CalculateExpression("Sum(Sales.SumTurnover)", "รวม")
ตัวอย่างนี้จะคำนวณค่าของลำดับชั้นปัจจุบัน:
ทางเลือก
เมื่อระดับ() > 0
จากนั้น EvaluateExpression("อ้างอิง", "ลำดับชั้น")
มิฉะนั้นจะเป็นโมฆะ
จบ
หมายเหตุ:
ฟังก์ชันจะคำนึงถึงการเลือกการจัดกลุ่ม แต่ไม่คำนึงถึงการเลือกแบบลำดับชั้น ฟังก์ชันนี้ไม่สามารถใช้กับการจัดกลุ่มในการเลือกกลุ่มของการจัดกลุ่มนั้นได้ ตัวอย่างเช่น ในการเลือกการจัดกลุ่มระบบการตั้งชื่อ คุณไม่สามารถใช้นิพจน์ CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000 ได้ แต่นิพจน์ดังกล่าวสามารถใช้ในการเลือกแบบลำดับชั้นได้ หากบันทึกสิ้นสุดอยู่หน้าบันทึกเริ่มต้น จะถือว่าไม่มีบันทึกสำหรับการคำนวณข้อมูลโดยละเอียดและการคำนวณฟังก์ชันรวม เมื่อคำนวณนิพจน์ช่วงเวลาสำหรับผลรวมทั้งหมด (พารามิเตอร์การจัดกลุ่มถูกตั้งค่าเป็น "ผลรวมรวม") จะถือว่าไม่มีบันทึกสำหรับการคำนวณข้อมูลโดยละเอียดและการคำนวณฟังก์ชันรวม เมื่อสร้างนิพจน์สำหรับฟังก์ชัน CalculateExpression ตัวประกอบโครงร่าง หากนิพจน์การเรียงลำดับมีฟิลด์ที่ไม่สามารถใช้ในการจัดกลุ่มได้ จะแทนที่ฟังก์ชัน CalculateExpression ด้วย NULL
3. ประเมินนิพจน์ด้วยอาร์เรย์กลุ่ม (EvalExpression พร้อมอาร์เรย์กลุ่ม) - ฟังก์ชันส่งคืนอาร์เรย์ ซึ่งแต่ละองค์ประกอบประกอบด้วยผลลัพธ์ของการคำนวณนิพจน์สำหรับการจัดกลุ่มตามฟิลด์ที่ระบุ
ไวยากรณ์:
CalculateExpressionWithGroupArray (นิพจน์, GroupFieldExpressions, SelectRecords, SelectGroups)
ตัวเลือก :
- การแสดงออก(สตริง) - นิพจน์ที่จะประเมิน ตัวอย่างเช่น "จำนวน(จำนวนเทิร์นโอเวอร์)";
- กลุ่มนิพจน์ฟิลด์
- การเลือกบันทึก
- การเลือกการจัดกลุ่ม- การเลือกนำไปใช้กับบันทึกกลุ่ม ตัวอย่างเช่น: "จำนวน(จำนวนการหมุนเวียน) > &พารามิเตอร์1"
สูงสุด(CalculateExpressionWithGroupArray("จำนวน(จำนวนการหมุนเวียน)", "คู่สัญญา"));
เมื่อสร้างนิพจน์เพื่อแสดงฟิลด์ที่กำหนดเองซึ่งนิพจน์ประกอบด้วยเฉพาะฟังก์ชัน CalculateArrayWithGroup เมื่อสร้างนิพจน์ จะสร้างนิพจน์เอาต์พุตในลักษณะที่ข้อมูลที่แสดงและข้อมูลได้รับการเรียงลำดับ
ตัวอย่างเช่น สำหรับฟิลด์แบบกำหนดเองที่มีนิพจน์:
CalculateExpressionWithGroupArray("จำนวน (จำนวนการหมุนเวียน)", "คู่สัญญา")
ตัวสร้างเค้าโครงจะสร้างนิพจน์ต่อไปนี้สำหรับเอาต์พุต:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTurnover))), จำนวน(DataSet.AmountTurnover)", "DataSet.Account"), "2")))
4. คำนวณนิพจน์ด้วย GroupValueTable (EvalExpressionWithGroupValueTable) - ฟังก์ชันส่งคืนตารางค่า ซึ่งแต่ละองค์ประกอบประกอบด้วยผลลัพธ์ของการคำนวณนิพจน์สำหรับการจัดกลุ่มตามฟิลด์ที่ระบุ
ไวยากรณ์:
คำนวณ ExpressionWithGroupValueTable (นิพจน์, นิพจน์ GroupField, การเลือกบันทึก, การเลือกกลุ่ม)
ตัวเลือก :
- การแสดงออก(สตริง) - นิพจน์ที่จะประเมิน บรรทัดสามารถมีได้หลายนิพจน์โดยคั่นด้วยเครื่องหมายจุลภาค หลังจากแต่ละนิพจน์อาจมีคำหลักที่ไม่บังคับ AS และชื่อของคอลัมน์ตารางค่า ตัวอย่างเช่น: "คู่สัญญา จำนวนเงิน (จำนวนการซื้อขาย) ตามปริมาณการขาย"
- กลุ่มนิพจน์ฟิลด์- การแสดงออกของเขตข้อมูลการจัดกลุ่ม คั่นด้วยเครื่องหมายจุลภาค ตัวอย่างเช่น "คู่สัญญา พรรค";
- การเลือกบันทึก- สำนวนที่ใช้กับบันทึกรายละเอียด ตัวอย่างเช่น "แฟล็กการลบ = เท็จ" ถ้าเข้า. พารามิเตอร์นี้มีการใช้ฟังก์ชันรวม ข้อผิดพลาดจะเกิดขึ้นเมื่อเขียนข้อมูล
- การเลือกการจัดกลุ่ม- การเลือกนำไปใช้กับบันทึกกลุ่ม ตัวอย่างเช่น: "จำนวน(จำนวนการหมุนเวียน) > &พารามิเตอร์1"
คำนวณนิพจน์ด้วยตารางการจัดกลุ่มค่า ("บัญชี AS คู่สัญญา, จำนวนเงิน (จำนวนการหมุนเวียน) AS ปริมาณการขาย", "บัญชี")
ผลลัพธ์ของฟังก์ชันนี้จะเป็นตารางค่าที่มีคอลัมน์คู่สัญญาและปริมาณการขายซึ่งจะมีคู่สัญญาที่มีปริมาณการขาย
เมื่อสร้างโครงร่าง เครื่องมือจัดวางโครงร่างจะแปลงพารามิเตอร์ฟังก์ชันเป็นเงื่อนไขของฟิลด์โครงร่างการจัดองค์ประกอบข้อมูล ตัวอย่างเช่น ฟิลด์บัญชีจะถูกแปลงเป็น DataSet.Account
ตัวอย่างเช่น ฟิลด์แบบกำหนดเองที่มีนิพจน์:
CalculateExpressionWithGroupValueTable("บัญชี, จำนวนเงิน(จำนวนการหมุนเวียน)", "บัญชี")
ตัวสร้างเค้าโครงจะสร้างนิพจน์ต่อไปนี้สำหรับเอาต์พุต:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupingValueTable("DataSet.Account, DataSet.AccountRepresentation, Sum(DataSet.AmountTurnover), View(DataSet.AmountTurnover), DataSet.OrderingField", "DataSet.Account"), "5, 1, 3" ), "2, 4"))
5. ระดับ - ฟังก์ชั่นได้รับการออกแบบเพื่อให้ได้ระดับการบันทึกปัจจุบัน
ไวยากรณ์:
ระดับ()
ตัวอย่าง:
ระดับ()
6. หมายเลขลำดับ - รับหมายเลขซีเรียลถัดไป
ไวยากรณ์:
NumberByOrder()
ตัวอย่าง:
NumberByOrder()
7. ลำดับหมายเลขในการจัดกลุ่ม - ส่งกลับหมายเลขลำดับถัดไปในกลุ่มปัจจุบัน
ตัวอย่าง:
NumberByOrderInGroup()
8. รูปแบบ - รับสตริงที่จัดรูปแบบของค่าที่ส่งผ่าน
ไวยากรณ์:
รูปแบบ(ค่า, FormatString)
ตัวเลือก :
- ความหมาย- นิพจน์ที่ต้องจัดรูปแบบ
- FormatString- รูปแบบสตริงถูกตั้งค่าตาม จัดรูปแบบสตริง 1C:องค์กร
รูปแบบ (ใบแจ้งหนี้ จำนวนเงินเอกสาร "NPV=2")
9. จุดเริ่มต้นของช่วงเวลา
ไวยากรณ์:
StartPeriod (วันที่, ประเภทระยะเวลา)
ตัวเลือก :
- วันที่(วันที่). วันที่ระบุ;
- ประเภทระยะเวลา
StartPeriod(DateTime(2002, 10, 12, 10, 15, 34), "เดือน")
ผลลัพธ์: 10/01/2002 00:00:00 น
10. การสิ้นสุดระยะเวลา - ฟังก์ชั่นได้รับการออกแบบมาให้เลือกวันที่เฉพาะจากวันที่ที่กำหนด
ไวยากรณ์:
ระยะเวลาสิ้นสุด (วันที่ ประเภทระยะเวลา)
ตัวเลือก :
- วันที่(วันที่). วันที่ระบุ;
- ประเภทระยะเวลา(เส้น). ประกอบด้วยค่าใดค่าหนึ่งต่อไปนี้: นาที; ชั่วโมง; วัน; สัปดาห์; เดือน; หนึ่งในสี่; ปี; ทศวรรษ; ครึ่งปี.
EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), "สัปดาห์")
ผลลัพธ์: 13/10/2545 23:59:59 น
11. AddKDate (วันที่เพิ่ม) - ฟังก์ชั่นได้รับการออกแบบเพื่อเพิ่มค่าบางอย่างให้กับวันที่
ไวยากรณ์:
AddToDate(นิพจน์, ชนิดส่วนเพิ่ม, ขนาด)
ตัวเลือก :
- การแสดงออก(วันที่). วันที่เดิม
- ประเภทการขยายภาพ(เส้น). ประกอบด้วยค่าใดค่าหนึ่งต่อไปนี้: นาที; ชั่วโมง; วัน; สัปดาห์; เดือน; หนึ่งในสี่; ปี; ทศวรรษ; ครึ่งปี.
- ขนาด(ตัวเลข). ต้องเพิ่มวันที่เท่าใด ส่วนที่เป็นเศษส่วนจะถูกละเว้น
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "เดือน", 1)
ผลลัพธ์: 11/12/2545 10:15:34 น
12. ความแตกต่างวันที่ - ฟังก์ชั่นได้รับการออกแบบมาให้รับความแตกต่างระหว่างวันที่สองวัน
ไวยากรณ์:
DifferenceDate(นิพจน์1, นิพจน์2, ประเภทความแตกต่าง)
ตัวเลือก :
- การแสดงออก1(วันที่). วันที่หักออก;
- การแสดงออก2(วันที่). วันที่เดิม
- ประเภทความแตกต่าง(เส้น). ประกอบด้วยค่าใดค่าหนึ่ง: Second; นาที; ชั่วโมง; วัน; เดือน; หนึ่งในสี่; ปี.
วันที่แตกต่าง(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME(2002, 10, 14, 9, 18, 06), "วัน")
ผลลัพธ์: 2
13. สตริงย่อย - ฟังก์ชั่นนี้มีวัตถุประสงค์เพื่อแยกสตริงย่อยออกจากสตริง
ไวยากรณ์:
สตริงย่อย (สตริง ตำแหน่ง ความยาว)
ตัวเลือก :
- เส้น(เส้น). สตริงที่แยกสตริงย่อย
- ตำแหน่ง(ตัวเลข). ตำแหน่งของอักขระที่สตริงย่อยที่จะแยกออกจากสตริงเริ่มต้น
- ความยาว(ตัวเลข). ความยาวของสตริงย่อยที่จัดสรร
SUBSTRING(บัญชี ที่อยู่ 1, 4)
14. ความยาวสตริง - ฟังก์ชั่นถูกออกแบบมาเพื่อกำหนดความยาวของสตริง
ไวยากรณ์:
ความยาวสตริง(สตริง)
พารามิเตอร์ :
- เส้น(เส้น). สตริงที่มีการกำหนดความยาว
ไลน์(คู่สัญญาที่อยู่)
15. ปี- ฟังก์ชันนี้ออกแบบมาเพื่อแยกปีจากค่าประเภทวันที่
ไวยากรณ์:
ปี(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่ซึ่งปีถูกกำหนด
ปี(ค่าใช้จ่าย.วันที่)
16. ไตรมาส - ฟังก์ชันนี้ออกแบบมาเพื่อแยกหมายเลขไตรมาสจากค่าประเภทวันที่ โดยปกติเลขควอเตอร์จะอยู่ในช่วงตั้งแต่ 1 ถึง 4
ไวยากรณ์:
ไตรมาส(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่กำหนดไตรมาส
ไตรมาส (ค่าใช้จ่ายวันที่)
17. เดือน - ฟังก์ชันนี้ออกแบบมาเพื่อแยกหมายเลขเดือนออกจากค่าประเภทวันที่ โดยปกติหมายเลขเดือนจะอยู่ในช่วงตั้งแต่ 1 ถึง 12
ไวยากรณ์:
เดือน(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่กำหนดเดือน
เดือน(ค่าใช้จ่าย.วันที่)
18. วันแห่งปี (DayOfYear) - ฟังก์ชันนี้ออกแบบมาเพื่อรับวันของปีจากค่าประเภทวันที่ โดยปกติวันของปีจะอยู่ในช่วงตั้งแต่ 1 ถึง 365 (366)
ไวยากรณ์:
วันแห่งปี(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่ซึ่งกำหนดวันของปี
DAYYEAR(บัญชีค่าใช้จ่าย วันที่)
19. วัน- ฟังก์ชันนี้ออกแบบมาเพื่อรับวันของเดือนจากค่าประเภทวันที่ โดยปกติวันของเดือนจะอยู่ในช่วงตั้งแต่ 1 ถึง 31
ไวยากรณ์:
วัน(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่ซึ่งกำหนดวันของเดือน
DAY(ค่าใช้จ่าย.วันที่)
20. สัปดาห์ - ฟังก์ชันนี้ออกแบบมาเพื่อรับหมายเลขสัปดาห์ของปีจากค่าประเภทวันที่ สัปดาห์ของปีจะถูกกำหนดหมายเลขโดยเริ่มจาก 1
ไวยากรณ์:
สัปดาห์(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่ซึ่งกำหนดหมายเลขสัปดาห์
สัปดาห์(ค่าใช้จ่าย.วันที่)
21. วันธรรมดา - ฟังก์ชันนี้ออกแบบมาเพื่อรับวันในสัปดาห์จากค่าประเภทวันที่ วันปกติของสัปดาห์มีตั้งแต่ 1 (วันจันทร์) ถึง 7 (วันอาทิตย์)
ไวยากรณ์:
วันในสัปดาห์(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่ซึ่งกำหนดวันในสัปดาห์
วันในสัปดาห์(ค่าใช้จ่าย.วันที่)
22. ชม- ฟังก์ชันนี้ได้รับการออกแบบมาให้รับชั่วโมงของวันจากค่าประเภทวันที่ ชั่วโมงของวันอยู่ระหว่าง 0 ถึง 23
ไวยากรณ์:
ชั่วโมง(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่ซึ่งกำหนดชั่วโมงของวัน
ชั่วโมง(ค่าใช้จ่ายวันที่)
23. นาที - ฟังก์ชันนี้ออกแบบมาเพื่อรับนาทีของชั่วโมงจากค่าประเภทวันที่ นาทีของชั่วโมงอยู่ระหว่าง 0 ถึง 59
ไวยากรณ์:
นาที(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่ซึ่งกำหนดนาทีของชั่วโมง
นาที(ค่าใช้จ่าย.วันที่)
24. ประการที่สอง - ฟังก์ชันนี้ได้รับการออกแบบเพื่อให้ได้วินาทีของนาทีจากค่าประเภทวันที่ วินาทีของนาทีมีค่าตั้งแต่ 0 ถึง 59
ไวยากรณ์:
วินาที(วันที่)
พารามิเตอร์ :
- วันที่(วันที่). วันที่ซึ่งกำหนดวินาทีของนาที
ที่สอง(ค่าใช้จ่าย.วันที่)
25. นักแสดง - ฟังก์ชันนี้ออกแบบมาเพื่อแยกประเภทออกจากนิพจน์ที่อาจมีประเภทประสม หากนิพจน์มีประเภทอื่นนอกเหนือจากประเภทที่ต้องการ จะส่งคืนค่า NULL
ไวยากรณ์:
Express(นิพจน์, TypeIndication)
ตัวเลือก :
- การแสดงออก- นิพจน์ที่จะแปลง
- ตัวบ่งชี้ประเภท(เส้น). ประกอบด้วยสตริงประเภท ตัวอย่างเช่น "หมายเลข", "สตริง" ฯลฯ นอกจากประเภทดั้งเดิมแล้ว เส้นที่กำหนดอาจมีชื่อตาราง ในกรณีนี้ จะพยายามแสดงการอ้างอิงไปยังตารางที่ระบุ
Express(Data.Props1, "หมายเลข (10,3)")
26. อิสนัล (อิสนัล) - ฟังก์ชันนี้จะคืนค่าของพารามิเตอร์ตัวที่สองหากค่าของพารามิเตอร์ตัวแรกเป็น NULL มิฉะนั้น ค่าของพารามิเตอร์แรกจะถูกส่งกลับ
ไวยากรณ์:
IsNull (นิพจน์1, นิพจน์2)
ตัวเลือก :
- การแสดงออก1- ค่าที่จะตรวจสอบ
- การแสดงออก2- ส่งคืนค่าถ้า Expression1 เป็น NULL
ใช่NULL(จำนวน(ยอดขายจำนวนการหมุนเวียน), 0)
27.เอคอส- คำนวณโคไซน์ส่วนโค้งเป็นเรเดียน
ไวยากรณ์:
เอคอส(นิพจน์)
พารามิเตอร์ :
- การแสดงออก(ตัวเลข). ค่าโคไซน์ (ในช่วง -1 ... 1) ที่ใช้กำหนดมุม
ไวยากรณ์:
ASin(การแสดงออก)
พารามิเตอร์ :
- การแสดงออก(ตัวเลข). ค่าไซน์ (ในช่วง -1 ... 1) ที่ใช้กำหนดมุม
ไวยากรณ์:
เอตัน(นิพจน์)
พารามิเตอร์ :
- การแสดงออก(ตัวเลข). ค่าแทนเจนต์ที่ใช้กำหนดมุม
ไวยากรณ์:
คอส(การแสดงออก)
พารามิเตอร์ :
- การแสดงออก
ไวยากรณ์:
ประสบการณ์ (นิพจน์)
พารามิเตอร์ :
- การแสดงออก(ตัวเลข). ความหมายของปริญญา
ไวยากรณ์:
บันทึก (นิพจน์)
พารามิเตอร์ :
- การแสดงออก
ไวยากรณ์:
Log10(นิพจน์)
พารามิเตอร์ :
- การแสดงออก(ตัวเลข). จำนวนเดิมมากกว่า 0
ไวยากรณ์:
Pow(ฐาน, ตัวบ่งชี้)
ตัวเลือก :
- ฐาน(ตัวเลข). พื้นฐานของการดำเนินการยกกำลัง
- ดัชนี(ตัวเลข). เลขชี้กำลัง
ไวยากรณ์:
บาป (การแสดงออก)
พารามิเตอร์ :
- การแสดงออก(ตัวเลข). ระบุเป็นเรเดียน
ไวยากรณ์:
Sqrt(นิพจน์)
พารามิเตอร์ :
- การแสดงออก(ตัวเลข). จำนวนที่ไม่เป็นลบ
ไวยากรณ์:
ตาล(การแสดงออก)
พารามิเตอร์ :
- การแสดงออก(ตัวเลข). ค่าไซน์ที่ใช้กำหนดมุม
ไวยากรณ์:
Env (นิพจน์, ความลึกของบิต)
ตัวเลือก :
- การแสดงออก(ตัวเลข). หมายเลขเดิม
- ความลึกบิต(ตัวเลข). จำนวนตำแหน่งทศนิยมที่จะปัดเศษ
ไวยากรณ์:
วัตถุ (นิพจน์)
พารามิเตอร์ :
- การแสดงออก(ตัวเลข). จำนวนเศษส่วน
นิพจน์เอ็นจิ้นการจัดองค์ประกอบข้อมูลอาจมีการเรียกใช้ฟังก์ชันของโมดูลการกำหนดค่าทั่วไปทั่วโลก ไม่จำเป็นต้องมีไวยากรณ์เพิ่มเติมเพื่อเรียกใช้ฟังก์ชันดังกล่าว
ตัวอย่าง:
ชื่อย่อ(Documents.Link, Documents.Date, Documents.Number)
ในตัวอย่างนี้ ฟังก์ชัน "AbbreviatedName" จะถูกเรียกจากโมดูลการกำหนดค่าทั่วไป
โปรดทราบว่าการใช้ฟังก์ชันโมดูลทั่วไปจะได้รับอนุญาตเฉพาะเมื่อมีการระบุพารามิเตอร์ตัวประมวลผลองค์ประกอบข้อมูลที่เหมาะสมเท่านั้น
นอกจากนี้ ฟังก์ชันของโมดูลทั่วไปไม่สามารถใช้ในนิพจน์ฟิลด์แบบกำหนดเองได้
41. ความไม่พอใจ - ฟังก์ชันนี้ส่งคืนการแสดงสตริงของค่าที่ส่งผ่านของประเภทที่ไม่ใช่แบบดั้งเดิม สำหรับค่าที่เป็นประเภทดั้งเดิม ให้ส่งคืนค่านั้นเอง
<Пустое значение>".
ตัวอย่าง:
การนำเสนอ (คู่สัญญา)
42. เชือก - ฟังก์ชั่นนี้จะแปลงค่าที่ส่งผ่านเป็นสตริง
หากใช้อาร์เรย์หรือตารางค่าเป็นพารามิเตอร์ฟังก์ชันจะส่งกลับสตริงที่มีการแสดงสตริงขององค์ประกอบทั้งหมดของอาร์เรย์โดยคั่นด้วยอักขระ "; " หากองค์ประกอบใดๆ มีการแสดงสตริงว่าง ดังนั้นสตริง "<Пустое значение>".
ตัวอย่าง:
แถว(วันที่ขาย)
43. มูลค่าเต็มแล้ว
สำหรับค่า NULL นั้น Unknown จะส่งกลับค่า False เสมอ
สำหรับค่าบูลีน จะส่งกลับค่า True เสมอ
สำหรับประเภทอื่นๆ จะส่งกลับ True ถ้าค่าแตกต่างจากค่าเริ่มต้นสำหรับ ประเภทนี้.
ตัวอย่าง:
มูลค่าเต็ม (วันที่จัดส่ง)
44. ระดับในกลุ่ม - ฟังก์ชั่นนี้รับระดับการบันทึกปัจจุบันสัมพันธ์กับการจัดกลุ่ม
สามารถใช้เพื่อรับระดับการซ้อนของเรกคอร์ดในการจัดกลุ่มแบบลำดับชั้น
ตัวอย่าง:
ระดับในกลุ่ม()
45. ประเภทค่า
ไวยากรณ์:
ประเภทค่า(นิพจน์)
พารามิเตอร์ :
- การแสดงออก(เส้น). ประเภทค่าสตริง
เข้าสู่เว็บไซต์ในฐานะนักเรียน
เข้าสู่ระบบในฐานะนักเรียนเพื่อเข้าถึงสื่อการสอนของโรงเรียน
ระบบการจัดองค์ประกอบข้อมูล 1C 8.3 สำหรับผู้เริ่มต้น: การนับผลลัพธ์ (แหล่งข้อมูล)
จุดประสงค์ของบทเรียนนี้คือ:
- เขียนรายงานที่แสดงรายการผลิตภัณฑ์ (สารบบอาหาร) ปริมาณแคลอรี่และรสชาติ
- จัดกลุ่มผลิตภัณฑ์ตามสี
- เรียนรู้เกี่ยวกับการสรุป (ทรัพยากร) และฟิลด์ที่มีการคำนวณ
สร้างรายงานใหม่
เช่นเดียวกับบทเรียนก่อนหน้านี้เราเปิดฐานข้อมูล " เดลี่"ในตัวปรับแต่งและสร้างรายงานใหม่ผ่านเมนู" ไฟล์"->"ใหม่...":
ประเภทเอกสาร - รายงานภายนอก:
ในแบบฟอร์มตั้งค่ารายงานให้เขียนชื่อ " บทเรียนที่ 3" และกดปุ่ม " เปิดแผนภาพองค์ประกอบข้อมูล":
ปล่อยชื่อสคีมาเริ่มต้นไว้แล้วคลิกปุ่ม " พร้อม":
การเพิ่มคำขอผ่านตัวสร้าง
บนแท็บ " ชุดข้อมูล" คลิก สีเขียวเครื่องหมายบวก และเลือก " เพิ่มชุดข้อมูล - แบบสอบถาม":
แทนที่จะเขียนข้อความคำขอด้วยตนเอง เราจะดำเนินการอีกครั้ง ตัวสร้างแบบสอบถาม:
บน "แท็บ" ตาราง"ลากโต๊ะ" อาหาร" จากคอลัมน์แรกถึงคอลัมน์ที่สอง:
เลือกจากตาราง " อาหาร“ช่องที่เราจะขอ ทำได้โดยลากและวางช่อง” ชื่อ", "รสชาติ", "สี" และ " ปริมาณแคลอรี่" จากคอลัมน์ที่สองถึงคอลัมน์ที่สาม:
มันกลับกลายเป็นเช่นนี้:
กดปุ่ม " ตกลง" - ข้อความคำขอถูกสร้างขึ้นโดยอัตโนมัติ:
การสร้างการตั้งค่าการนำเสนอรายงาน
ไปที่แท็บ " การตั้งค่า" และคลิกที่ ไม้กายสิทธิ์, โทร ผู้ออกแบบการตั้งค่า:
เลือกประเภทรายงาน " รายการ..." และกดปุ่ม " ไกลออกไป":
ลากจากคอลัมน์ด้านซ้ายไปทางขวาฟิลด์ที่จะแสดงในรายการแล้วคลิก " ไกลออกไป":
ลากจากคอลัมน์ด้านซ้ายไปยังฟิลด์ด้านขวา " สี" - มันจะเกิดขึ้น การจัดกลุ่มบรรทัดในรายงาน คลิก " ตกลง":
และนี่คือผลงานของนักออกแบบ ลำดับชั้นของรายงานของเรา:
- รายงานโดยรวม
- การจัดกลุ่ม "สี"
- รายการโดยละเอียด - บรรทัดพร้อมชื่ออาหาร
บันทึกรายงาน (ปุ่ม ดิสเก็ตต์) และ โดยไม่ต้องปิดเราจะเปิดตัวกำหนดค่าในโหมดผู้ใช้ทันที มันกลับกลายเป็นเช่นนี้:
การเปลี่ยนลำดับของคอลัมน์
แต่ขอเถอะ มาเปลี่ยนลำดับกันเถอะคอลัมน์ (ลูกศรขึ้นและลง) เพื่อให้มีลักษณะดังรูปด้านล่าง:
มาบันทึกรายงานและเปิดอีกครั้งในโหมดผู้ใช้:
เยี่ยมเลย ดีขึ้นมาก
มาสรุปเนื้อหาแคลอรี่กันดีกว่า
เป็นการดีที่จะสรุปปริมาณแคลอรี่ของอาหารตามกลุ่ม หากต้องการดูผลรวมแคลอรี่ของผลิตภัณฑ์ทั้งหมด เช่น สีขาวหรือสีเหลือง หรือค้นหาปริมาณแคลอรี่รวมของผลิตภัณฑ์ทั้งหมดในฐานข้อมูล
เพื่อการนี้มีกลไกในการคำนวณทรัพยากร
ไปที่แท็บ " ทรัพยากร“แล้วลากสนาม” ปริมาณแคลอรี่“(เราจะสรุปให้ฟัง) จากคอลัมน์ซ้ายไปขวา
ในกรณีนี้ ในฟิลด์ ให้เลือกนิพจน์จากรายการแบบเลื่อนลง " ปริมาณ(แคลอรี่)" เนื่องจากผลรวมจะเป็นผลรวมขององค์ประกอบทั้งหมดที่รวมอยู่ในผลรวม:
เราบันทึกและสร้างรายงาน:
ตอนนี้เรามีผลลัพธ์สำหรับแต่ละกลุ่มและสำหรับรายงานโดยรวมแล้ว
ลองสรุป (เฉลี่ย) ในรูปแคลอรี่กัน
ตอนนี้เรามาทำให้มันปรากฏในคอลัมน์อื่นกันดีกว่า เฉลี่ยปริมาณแคลอรี่ของผลิตภัณฑ์ตามกลุ่มและในรายงานโดยรวม
คุณไม่สามารถแตะคอลัมน์ "แคลอรี่" ที่มีอยู่ได้ - ผลรวมจะแสดงอยู่ในนั้นแล้ว มาสร้างฟิลด์อื่นกันดีกว่าซึ่งจะเป็นสำเนาของช่อง "แคลอรี่" ทุกประการ
ในการสร้างฟิลด์ "เสมือน" เราจะใช้กลไกนี้ เขตข้อมูลจากการคำนวณ.
ไปที่แท็บ " เขตข้อมูลจากการคำนวณ" และกด สีเขียวเครื่องหมายบวก:
ในคอลัมน์ " เส้นทางข้อมูล"เราเขียนชื่อของฟิลด์ใหม่ ( ได้อย่างลงตัว, ไม่มีช่องว่าง). ให้เรียกว่า " ปริมาณแคลอรี่เฉลี่ย"และในคอลัมน์" การแสดงออก"เราเขียนชื่อของฟิลด์ที่มีอยู่โดยอิงจากการคำนวณฟิลด์ใหม่ เราเขียนที่นั่น " ปริมาณแคลอรี่". คอลัมน์" หัวเรื่อง" จะถูกกรอกโดยอัตโนมัติ
เราได้เพิ่มฟิลด์ใหม่ (" ปริมาณแคลอรี่เฉลี่ย") แต่จะไม่ปรากฏในรายงานด้วยตัวเอง - คุณต้องโทรอีกครั้ง ผู้ออกแบบการตั้งค่า("ไม้กายสิทธิ์") หรือเพิ่มช่องนี้ ด้วยตนเอง.
มาทำกัน ที่สองทาง. หากต้องการทำสิ่งนี้ให้ไปที่แท็บ " การตั้งค่า", เลือก " รายงาน"(ท้ายที่สุด เราต้องการเพิ่มฟิลด์โดยรวมลงในรายงาน) เลือกแท็บที่ด้านล่าง" ฟิลด์ที่เลือก“แล้วลากสนาม” ปริมาณแคลอรี่เฉลี่ย"จากคอลัมน์ซ้ายไปขวา:
มันกลับกลายเป็นเช่นนี้:
เราบันทึกและสร้างรายงาน:
ฟิลด์ปรากฏขึ้นและเราเห็นว่าค่าของมันคือค่าของฟิลด์ "แคลอรี่" ยอดเยี่ยม!
ในการทำเช่นนี้เราจะใช้กลไกที่เราคุ้นเคยอยู่แล้วอีกครั้ง ทรัพยากร(โดยสรุป). ไปที่แท็บ " ทรัพยากร“แล้วลากสนาม” ปริมาณแคลอรี่เฉลี่ย"จากคอลัมน์ซ้ายไปขวา:
นอกจากนี้ในคอลัมน์ " การแสดงออก"เลือก" เฉลี่ย(เฉลี่ยแคลอรี่)":
เราบันทึกและสร้างรายงาน:
เราเห็นว่าสำหรับกลุ่ม นั่นคือ สำหรับแต่ละสี และสำหรับรายงานโดยรวม ค่าเฉลี่ยได้รับการคำนวณอย่างถูกต้องอย่างแน่นอน แต่พวกเขามีอยู่ รายการพิเศษของผลิตภัณฑ์แต่ละรายการ (ไม่ใช่กลุ่ม) ที่ฉันต้องการลบออกจากรายงาน
คุณรู้ไหมว่าทำไมพวกมันถึงปรากฏ (ค่าไม่ใช่ตามกลุ่ม)? เพราะเมื่อเราเพิ่มสนาม” ปริมาณแคลอรี่เฉลี่ย"ในการตั้งค่ารายงาน ในขั้นตอนที่สองที่เราเลือก รายงานทั้งหมดและฟิลด์ใหม่นี้ก็จบลงที่องค์ประกอบ " รายละเอียด บันทึก".
มาแก้ไขข้อผิดพลาดกัน หากต้องการทำสิ่งนี้ ให้กลับไปที่แท็บ " การตั้งค่า", เลือก " รายการโดยละเอียด" อันดับแรกจากด้านบน (ขั้นตอนที่ 2) จากนั้น " รายการโดยละเอียด"จากด้านล่าง (ขั้นตอนที่ 3) ไปที่บุ๊กมาร์ก" เลือกแล้ว สาขา" และเราจะเห็นองค์ประกอบในคอลัมน์ด้านขวาของมัน " อัตโนมัติ".
องค์ประกอบ " อัตโนมัติ" - นี่ไม่ใช่ฟิลด์เดียว นี่เป็นหลายฟิลด์ที่จะอยู่ที่นี่โดยอัตโนมัติตามการตั้งค่าระดับที่สูงกว่า
หากต้องการดูว่าช่องเหล่านี้คืออะไร ให้คลิกที่องค์ประกอบ " อัตโนมัติ" ขวาปุ่มและเลือก " ขยาย":
องค์ประกอบ " อัตโนมัติ" ขยายออกไปในสาขาต่อไปนี้:
และนี่คือสนามของเรา" ปริมาณแคลอรี่เฉลี่ย“ซึ่งมาจากจุดนั้น” รายงาน“ตอนเราลากเขาไปนั่น. เอาออกเถอะทำเครื่องหมายที่ช่องถัดจากช่องนี้เพื่อลบเอาต์พุต
การใช้ Data Composition Scheme (DCS) อย่างเหมาะสมช่วยให้คุณ:
- ลดเวลาที่ต้องใช้ในการพัฒนารายงานลงอย่างมาก
- กำจัดความจำเป็นในการสร้าง แบบฟอร์มควบคุมโปรเซสเซอร์;
- ได้รับผลลัพธ์ที่สวยงามตามโอกาส การตั้งค่าเพิ่มเติมผู้ใช้
แต่ไม่ใช่นักพัฒนาทุกคนที่จะใช้ประโยชน์จากความสามารถของโครงการให้เกิดประโยชน์สูงสุด เนื่องจากการตั้งค่าทั้งหมดไม่ชัดเจนและใช้งานง่าย โดยเฉพาะอย่างยิ่ง หลายคนรู้ว่าใน 1C SKD มีเขตข้อมูลจากการคำนวณ แต่พวกเขาไม่เข้าใจขอบเขตการใช้งานและวิธีการทำงานกับเขตข้อมูลเหล่านั้นอย่างถ่องแท้
เขตข้อมูลจากการคำนวณคืออะไร
ในกรณีส่วนใหญ่ แหล่งข้อมูลในไดอะแกรมโครงร่างจะเป็นคิวรี โดยหลักการแล้ว ภายในแบบสอบถามนั้น คุณสามารถใช้สูตร โครงสร้าง และนิพจน์ต่างๆ ได้แล้ว คำถามทั่วไปเกิดขึ้น: เหตุใดเราจึงต้องมีฟังก์ชันการทำงานที่ซ้ำกัน
ความจริงก็คือระบบควบคุมการเข้าถึงเป็นมากกว่าการแสดงผลลัพธ์ของการสืบค้นและสิ่งนี้มองเห็นได้ชัดเจนจากแบบฟอร์มการสร้างไดอะแกรม (รูปที่ 1)
ฟิลด์ที่มีการคำนวณช่วยให้คุณสามารถดำเนินการบางอย่างกับชุดข้อมูลที่สร้างขึ้น:
- ส่งออกอาร์เรย์ของข้อมูลที่ได้รับจากการร้องขอไปยังเซลล์เฉพาะ โดยรวมหลายบรรทัดไว้ในเซลล์เดียว
- เข้าถึงฟังก์ชั่นการส่งออกของโมดูลทั่วไป
- ดำเนินการนิพจน์ต่างๆ ที่พร้อมใช้งานสำหรับภาษาเค้าโครง และใช้ฟังก์ชัน EvaluateExpression พิเศษ
มาดูรายการนี้กัน
อาร์เรย์ของค่าในเซลล์เดียว
มาจำลองสถานการณ์ที่จำเป็นต้องรับหมายเลขเอกสารการรับทั้งหมดสำหรับคู่สัญญาในเซลล์ที่แยกต่างหาก:
![](https://i0.wp.com/blog.it-terminal.ru/wp-content/uploads/2017/09/Screenshot_29.png)
ดังนั้นเราจึงได้สร้างฟิลด์การคำนวณเพิ่มเติมในโครงการของเรา
![](https://i2.wp.com/blog.it-terminal.ru/wp-content/uploads/2017/09/Screenshot_31.png)
ดังที่คุณเห็นจากตัวอย่างข้างต้น การเพิ่มและประมวลผลฟิลด์จากการคำนวณไม่มีปัญหา เราใช้สองฟังก์ชัน: Array() และ ConnectRows()
คำไม่กี่คำเกี่ยวกับหลัง นอกจากพารามิเตอร์ตัวแรกที่ระบุตัวระบุของอาร์เรย์ค่าหรือค่าแล้วยังสามารถตั้งค่าได้อีกสองตัว:
- ตัวแยกองค์ประกอบ – ระบุว่าอักขระตัวใดที่จะแยกองค์ประกอบอาร์เรย์หนึ่งหรือแถวหนึ่งของตารางค่าจากอีกแถวหนึ่ง (ในกรณีของเราเราละเว้นพารามิเตอร์นี้และกำหนดตัวแบ่งบรรทัดตามค่าเริ่มต้น)
- ตัวคั่นคอลัมน์ – อักขระที่ใช้แยกคอลัมน์ของตารางค่า (จะใช้เครื่องหมายอัฒภาคเป็นค่าเริ่มต้น)
การเข้าถึงฟังก์ชันการส่งออกของโมดูลทั่วไป
ฟังก์ชันของโมดูลทั่วไปสามารถทำหน้าที่เป็นแหล่งข้อมูลสำหรับการกรอกข้อมูลฟิลด์จากการคำนวณได้
บาง จุดสำคัญ:
- ฟังก์ชันจะต้องสามารถส่งออกได้
- หากฟังก์ชันอยู่ในโมดูลทั่วไปที่มีชุดคุณลักษณะ "Global" ฟังก์ชันดังกล่าวจะถูกเรียกโดยตรงด้วยชื่อ ไม่เช่นนั้นฟังก์ชันจะต้องถูกเรียกตามรูปแบบ "ชื่อโมดูลที่ใช้ร่วมกัน" "ชื่อของฟังก์ชันที่จะเรียกใช้"
เป็นตัวอย่างการใช้งาน เราจะรับคำขอเอกสารใบเสร็จเดียวกันและแสดงในคอลัมน์แยกต่างหาก เราจะไม่อธิบายคำขอ เราจะย้ายไปยังฟิลด์ที่คำนวณโดยตรง:
![](https://i1.wp.com/blog.it-terminal.ru/wp-content/uploads/2017/09/Screenshot_34.png)
ดังนั้นเราจึงเห็นว่าเกือบทุกตัวประมวลผลข้อมูลสามารถเริ่มต้นได้จากระบบควบคุมการเข้าถึงซึ่งจะขยายความเป็นไปได้ในการใช้โครงร่างอย่างมาก
สำนวนภาษาเค้าโครง
บ่อยครั้งในงานของนักพัฒนาสถานการณ์เกิดขึ้นเมื่อจำเป็นต้องแสดงผลการแบ่งในฟิลด์ ACS:
- คำนวณต้นทุนเฉลี่ยของสินค้า
- ความสนใจทุกประเภท
- การคำนวณรายได้เฉลี่ย ฯลฯ
เพื่อหลีกเลี่ยงปัญหา ในกรณีเหล่านี้ แนะนำให้ป้อนการทดสอบการหารด้วย 0 ลงในช่องที่คำนวณ
ซึ่งสามารถทำได้โดยใช้การก่อสร้าง “ทางเลือกเมื่อ….จากนั้น… มิฉะนั้น… สิ้นสุด”
สุดท้ายก็ขอกล่าวอีกสักหน่อยว่าเพียงพอแล้ว คุณลักษณะใหม่คำนวณนิพจน์() ด้วยความช่วยเหลือเป็นพิเศษ คุณสามารถคำนวณความเบี่ยงเบนของต้นทุนระหว่างบรรทัดปัจจุบันและก่อนหน้า ยอดคงเหลือสะสม ฯลฯ
สมมติว่าคุณสามารถรับผลรวมเอกสารจากบรรทัดก่อนหน้าของคำขอของเราโดยระบุค่า คำนวณนิพจน์ ("ผลรวมเอกสาร", "ผลรวมก่อนหน้า") ในช่อง "นิพจน์"
ขอให้เป็นวันที่ดีผู้อ่านบล็อกของเรา! วันนี้ผมอยากจะเล่าให้คุณฟังโดยใช้ตัวอย่างจริงว่าอย่างไร
ใช้ฟังก์ชัน ACS Array และ JoinStrings. ในบทความเกี่ยวกับ
มีการกล่าวถึงวิธีการทำงานด้วยเล็กน้อย
บนบุ๊กมาร์ก
ได้ถูกอธิบายไว้แล้วเช่นกันว่า
โดยใช้แท็บ "ทรัพยากร" วันนี้เราจะให้ความสนใจกับสิ่งเหล่านี้อีกครั้ง
บุ๊กมาร์กตามหัวข้อของเรา
ลักษณะที่ปรากฏของตัวอย่างรายงาน 1C โดยใช้ฟังก์ชัน ACS สองฟังก์ชัน อาร์เรย์และ เชื่อมต่อแถวต่อไป:
คำชี้แจงปัญหาในการใช้ฟังก์ชัน ACS Array และ JoinStrings
ภารกิจ: คุณต้องแทรกหมายเลขการขายทั้งหมดสำหรับผลิตภัณฑ์หนึ่งรายการลงในเซลล์เดียว
บางอย่างเช่น: ระบบการตั้งชื่อ | ปริมาณ | 001, 002 ฯลฯ |
เราจะใช้คำขอในการลงทะเบียนการสะสม "การรับรู้ TMZ"
เลือก
การดำเนินการตาม TMZ นายทะเบียน. ตัวเลข,
การดำเนินการตาม TMZ ศัพท์เฉพาะ
การดำเนินการตาม TMZ นายทะเบียน
การดำเนินการตาม TMZ ปริมาณการหมุนเวียน
จาก
ทะเบียนสะสม. การดำเนินการตาม TMZ การปฏิวัติ
(, , นายทะเบียน, ) วิธีใช้ TMZ
การลงทะเบียนการสะสม "การรับรู้ของ TMZ" มีอยู่ทั้งในการกำหนดค่าการบัญชีและในการกำหนดค่าการจัดการองค์กรการค้า (UTP) ดูวิธีกำหนดค่า USP ในองค์ประกอบไดเรกทอรี "ระบบการตั้งชื่อ" ดังนั้น หลังจากดาวน์โหลด คุณสามารถเรียกใช้รายงานนี้ในการกำหนดค่าทั้งสองเพื่อตรวจสอบฟังก์ชันการทำงานได้
การดำเนินงานโดยใช้ฟังก์ชัน SKD Array และ ConnectRows
![](https://i2.wp.com/softmaker.kz/files/1Cv8/SKDArrayAndJoinStrings/ZakladkaVychislyaemyePolya.png)
มีการใช้ขั้นตอนเดียวกันแต่มีการเพิ่มเติมบางอย่างเพื่อสร้าง
.
คำอธิบายของฟังก์ชัน JoinStrings
เข้าร่วม Strings
ใช้เพื่อเชื่อมสตริงให้เป็นสตริงเดียว
ไวยากรณ์:
ConnectRows(ค่า, ItemSeparator, ColumnSeparator)
ตัวเลือก:
- ความหมาย— สำนวนที่ต้องรวมเป็นบรรทัดเดียว
หากเป็นอาร์เรย์ องค์ประกอบของอาร์เรย์จะรวมกันเป็นสตริง
หากเป็น ValueTable คอลัมน์และแถวทั้งหมดของตารางจะรวมกันเป็นแถว - ตัวแยกองค์ประกอบ- สตริงที่มีข้อความที่จะใช้เป็น
ตัวคั่นระหว่างองค์ประกอบอาร์เรย์และแถวตารางค่า ค่าเริ่มต้น – อักขระป้อนบรรทัด - ตัวแยกคอลัมน์-สตริงที่มีข้อความที่จะใช้เป็นตัวคั่น
ระหว่างคอลัมน์ของตารางค่า ค่าเริ่มต้น ";".
ในแง่ของการเปิดตัว 8.2.14 ที่กำลังจะมาถึง ฉันจะพยายามอธิบายฟังก์ชันใหม่บางอย่างของระบบการจัดองค์ประกอบข้อมูล
เปิดไดอะแกรมเค้าโครงข้อมูล โดยเฉพาะอย่างยิ่งในรายงานภายนอก เพื่อให้การแก้ไขง่ายขึ้น
เราเพิ่มชุดข้อมูลของประเภทแบบสอบถามและเขียนแบบสอบถามแบบง่าย ๆ ด้วยตนเองหรือใช้ตัวออกแบบแบบสอบถาม:
1. ตั้งค่าคำขอในระบบควบคุมการเข้าออก
2. ตั้งค่าฟิลด์ที่คำนวณได้ในระบบควบคุมการเข้าออก
3. กำหนดโครงร่างข้อมูลบนแท็บการตั้งค่า
4. เปิดตัว 1C Enterprise 8.2.14 เปิดรายงาน เราสร้างเราได้รับ
คำอธิบายของฟังก์ชั่นใหม่:
1. วันที่ปัจจุบัน()
ส่งกลับวันที่ของระบบ เมื่อเขียนเค้าโครงเค้าโครง ในนิพจน์ทั้งหมดที่มีอยู่ในเค้าโครง ฟังก์ชัน CurrentDate() จะถูกแทนที่ด้วยค่าของวันที่ปัจจุบัน
2. การแสดงออกทางคอมพิวเตอร์()
ไวยากรณ์:
คำนวณนิพจน์(,)
คำอธิบาย:
ฟังก์ชันนี้ออกแบบมาเพื่อประเมินนิพจน์ในบริบทของการจัดกลุ่มบางกลุ่ม
ฟังก์ชันจะคำนึงถึงการเลือกการจัดกลุ่ม แต่ไม่คำนึงถึงการเลือกแบบลำดับชั้น
ฟังก์ชันนี้ไม่สามารถใช้กับการจัดกลุ่มในการเลือกกลุ่มของการจัดกลุ่มนั้นได้ ตัวอย่างเช่น ในการเลือกการจัดกลุ่มระบบการตั้งชื่อ คุณจะไม่สามารถใช้นิพจน์ได้ CalculateExpression("ผลรวม(ผลรวมมูลค่าการซื้อขาย)", "ผลรวมทั้งหมด") > 1,000. แต่นิพจน์ดังกล่าวสามารถใช้ในการเลือกแบบลำดับชั้นได้
หากบันทึกสิ้นสุดอยู่หน้าบันทึกเริ่มต้น จะถือว่าไม่มีบันทึกสำหรับการคำนวณข้อมูลโดยละเอียดและการคำนวณฟังก์ชันรวม
เมื่อคำนวณนิพจน์ช่วงเวลาสำหรับผลรวมทั้งหมด (พารามิเตอร์การจัดกลุ่มถูกตั้งค่าเป็น GrandTotal) จะถือว่าไม่มีบันทึกสำหรับการคำนวณข้อมูลโดยละเอียดและการคำนวณฟังก์ชันการรวม
ตัวเชื่อมโยงเค้าโครงเมื่อสร้างนิพจน์ฟังก์ชัน คำนวณนิพจน์ถ้านิพจน์การเรียงลำดับมีฟิลด์ที่ไม่สามารถใช้ในการจัดกลุ่มได้ ให้แทนที่ฟังก์ชัน คำนวณนิพจน์บน โมฆะ.
ตัวเลือก
พิมพ์: เส้น. นิพจน์ที่จะประเมิน
พิมพ์: เส้น. ประกอบด้วยชื่อของการจัดกลุ่มในบริบทที่จะประเมินนิพจน์ ถ้าใช้สตริงว่างเป็นชื่อการจัดกลุ่ม การคำนวณจะดำเนินการในบริบทของการจัดกลุ่มปัจจุบัน ถ้าใช้สตริง GeneralTotal เป็นชื่อกลุ่ม การคำนวณจะดำเนินการในบริบทของผลรวมทั้งหมด มิฉะนั้น การคำนวณจะดำเนินการในบริบทของกลุ่มหลักที่มีชื่อเดียวกัน
ตัวอย่างเช่น:
ผลรวม(Sales.SumTurnover)/คำนวณ("Sum(Sales.SumTurnover)", "ทั้งหมด")
ในตัวอย่างนี้ ผลลัพธ์จะเป็นอัตราส่วนของผลรวมตามฟิลด์ ยอดขายจำนวนการหมุนเวียนการจัดกลุ่มบันทึกเป็นผลรวมของฟิลด์เดียวกันในเค้าโครงทั้งหมด
พิมพ์: เส้น. พารามิเตอร์สามารถรับค่าต่อไปนี้:
· ผลรวมทั้งสิ้น— นิพจน์จะถูกคำนวณสำหรับบันทึกการจัดกลุ่มทั้งหมด
· ลำดับชั้น— นิพจน์จะถูกประเมินสำหรับเรกคอร์ดลำดับชั้นพาเรนต์ ถ้ามี และสำหรับทั้งกลุ่ม หากไม่มีเรกคอร์ดลำดับชั้นพาเรนต์
· การจัดกลุ่ม— นิพจน์จะได้รับการประเมินสำหรับบันทึกการจัดกลุ่มกลุ่มปัจจุบัน
· การจัดกลุ่มไม่ใช่ทรัพยากร— เมื่อคำนวณฟังก์ชันสำหรับบันทึกกลุ่มตามทรัพยากร นิพจน์จะถูกคำนวณสำหรับบันทึกกลุ่มแรกของการจัดกลุ่มดั้งเดิม
เมื่อคำนวณฟังก์ชัน คำนวณนิพจน์() ด้วยความหมาย การจัดกลุ่มไม่ใช่ทรัพยากรสำหรับบันทึกกลุ่มที่ไม่ได้จัดกลุ่มตามทรัพยากร ฟังก์ชันจะคำนวณในลักษณะเดียวกับที่จะคำนวณหากค่าพารามิเตอร์เท่ากับค่า การจัดกลุ่ม.
ตัวสร้างโครงร่างองค์ประกอบข้อมูล เมื่อสร้างโครงร่างองค์ประกอบข้อมูลเมื่อส่งออกฟิลด์ทรัพยากรที่ใช้จัดกลุ่มกับโครงร่าง ให้วางนิพจน์ในโครงร่างที่คำนวณโดยใช้ฟังก์ชัน คำนวณนิพจน์() ระบุพารามิเตอร์ การจัดกลุ่มไม่ใช่ทรัพยากร. สำหรับทรัพยากรอื่นๆ นิพจน์ทรัพยากรตามปกติจะถูกวางไว้ในการจัดกลุ่มทรัพยากร
พิมพ์: เส้น. ระบุว่าควรเริ่มต้นการบันทึกส่วนใด ควรคำนวณฟังก์ชันนิพจน์รวมใด และบันทึกใดที่จะได้รับค่าฟิลด์นอกฟังก์ชันรวม ค่าอาจเป็นค่าใดค่าหนึ่งต่อไปนี้:
· อันดับแรก
· สุดท้าย (สุดท้าย)
· ก่อนหน้า
· ถัดไป (ถัดไป)
· ปัจจุบัน
· การจำกัดมูลค่า(ค่าขอบเขต) การจำกัดมูลค่า
พิมพ์: เส้น. บ่งชี้ว่าบันทึกส่วนใดที่ควรดำเนินการต่อ ซึ่งฟังก์ชันรวมของนิพจน์ควรถูกคำนวณ ค่าอาจเป็นค่าใดค่าหนึ่งต่อไปนี้:
· อันดับแรก. จำเป็นต้องได้รับบันทึกการจัดกลุ่มครั้งแรก หลังจากคำในวงเล็บคุณสามารถระบุนิพจน์ได้ซึ่งผลลัพธ์จะถูกใช้เป็นค่าชดเชยตั้งแต่จุดเริ่มต้นของการจัดกลุ่ม ค่าผลลัพธ์ต้องเป็นจำนวนเต็มที่มากกว่าศูนย์ ตัวอย่างเช่น First(3) - รับบันทึกที่สามตั้งแต่เริ่มต้นการจัดกลุ่ม
หากเรกคอร์ดแรกอยู่นอกกลุ่ม จะถือว่าไม่มีเรกคอร์ด ตัวอย่างเช่น หากมี 3 เรคคอร์ด และคุณต้องการได้รับ First(4) ก็ถือว่าไม่มีเรคคอร์ด
· สุดท้าย (สุดท้าย). คุณต้องได้รับบันทึกการจัดกลุ่มล่าสุด หลังจากคำในวงเล็บคุณสามารถระบุนิพจน์ได้ซึ่งผลลัพธ์จะถูกใช้เป็นค่าชดเชยเมื่อสิ้นสุดการจัดกลุ่ม ค่าผลลัพธ์ต้องเป็นจำนวนเต็มที่มากกว่าศูนย์ ตัวอย่างเช่น Last(3) - รับบันทึกที่สามจากท้ายกลุ่ม
หากบันทึกสุดท้ายอยู่นอกกลุ่มจะถือว่าไม่มีบันทึก ตัวอย่างเช่น หากมี 3 เรคคอร์ด และคุณต้องการรับ Last(4) ก็ถือว่าไม่มีเรคคอร์ด
· ก่อนหน้า. คุณต้องได้รับบันทึกการจัดกลุ่มก่อนหน้า หลังคำในวงเล็บ คุณสามารถระบุนิพจน์ได้ ซึ่งผลลัพธ์จะถูกใช้เป็นค่าชดเชยกลับจากบันทึกการจัดกลุ่มปัจจุบัน ตัวอย่างเช่น Previous(2) - รับข้อมูลก่อนหน้าจากบันทึกก่อนหน้า
หากเรกคอร์ดก่อนหน้านี้ไปไกลกว่าการจัดกลุ่ม (เช่น สำหรับเรกคอร์ดการจัดกลุ่มที่สอง คุณต้องได้รับ Previous(3)) จากนั้นจะได้รับเรกคอร์ดการจัดกลุ่มแรก
เมื่อเรียกข้อมูลบันทึกก่อนหน้าสำหรับผลรวมการจัดกลุ่มจะถือว่าได้รับบันทึกแรก
· ถัดไป (ถัดไป). คุณต้องได้รับเรกคอร์ดการจัดกลุ่มถัดไป หลังคำในวงเล็บ คุณสามารถระบุนิพจน์ได้ ซึ่งผลลัพธ์จะถูกใช้เป็นค่าชดเชยจากการส่งต่อจากรายการการจัดกลุ่มปัจจุบัน ตัวอย่างเช่น Next(2) - รับรายการถัดไปจากบันทึกถัดไป
หากบันทึกถัดไปไปนอกเหนือการจัดกลุ่มจะถือว่าไม่มีบันทึก ตัวอย่างเช่น หากมี 3 รายการและรายการที่สามได้รับ Next() จะถือว่าไม่มีรายการ
เมื่อได้รับบันทึกถัดไปสำหรับยอดรวมกลุ่มถือว่าไม่มีบันทึก
· ปัจจุบัน. คุณต้องได้รับบันทึกปัจจุบัน
เมื่อดึงข้อมูลผลรวมการจัดกลุ่ม จะได้รับบันทึกแรก
· การจำกัดมูลค่า(ค่าขอบเขต). ความจำเป็นในการได้รับบันทึกตามค่าที่ระบุ หลังคำว่า การจำกัดมูลค่าในวงเล็บคุณจะต้องระบุนิพจน์ด้วยค่าที่คุณต้องการเริ่มต้นแฟรกเมนต์ซึ่งเป็นฟิลด์ลำดับแรก
เรกคอร์ดแรกที่มีค่าฟิลด์การเรียงลำดับมากกว่าหรือเท่ากับค่าที่ระบุจะถูกส่งกลับเป็นเรกคอร์ด ตัวอย่างเช่น หากใช้ฟิลด์ระยะเวลาเป็นฟิลด์การสั่งซื้อ และมีค่า 01/01/2010, 02/01/2010, 03/01/2010 และคุณต้องการรับ การจำกัดมูลค่า(DateTime(2010, 1, 15))จากนั้นจะได้รับบันทึกวันที่ 02/01/2010
พิมพ์: เส้น. แสดงรายการนิพจน์ คั่นด้วยเครื่องหมายจุลภาค ซึ่งอธิบายกฎการเรียงลำดับ หากไม่ได้ระบุไว้ การเรียงลำดับจะดำเนินการในลักษณะเดียวกับการจัดกลุ่มที่มีการประเมินนิพจน์ หลังจากแต่ละนิพจน์ คุณสามารถระบุคำสำคัญได้ อายุ(สำหรับการเรียงลำดับจากน้อยไปหามาก) จากมากไปน้อย(สำหรับการสั่งซื้อจากมากไปน้อย) และ สั่งซื้ออัตโนมัติ(เพื่อเรียงลำดับฟิลด์อ้างอิงตามฟิลด์ที่คุณต้องการเรียงลำดับออบเจ็กต์อ้างอิง) คำ สั่งซื้ออัตโนมัติสามารถใช้เหมือนกับคำว่า อายุดังนั้นด้วยคำว่า จากมากไปน้อย.
พิมพ์: เส้น. เช่นเดียวกับพารามิเตอร์ การเรียงลำดับ. ใช้เพื่อจัดระเบียบบันทึกแบบลำดับชั้น หากไม่ได้ระบุ ตัวสร้างโครงร่างจะสร้างการเรียงลำดับตามลำดับที่ระบุในพารามิเตอร์ การเรียงลำดับ.
พิมพ์: เส้น. ระบุกฎสำหรับกำหนดเรคคอร์ดก่อนหน้าหรือถัดไป ในกรณีที่มีหลายเรคคอร์ดที่มีมูลค่าการเรียงลำดับเหมือนกัน:
· แยกกันบ่งชี้ว่ามีการใช้ลำดับของบันทึกที่เรียงลำดับเพื่อกำหนดบันทึกก่อนหน้าและถัดไป ค่าเริ่มต้น
· ด้วยกันบ่งชี้ว่าบันทึกก่อนหน้าและถัดไปถูกกำหนดตามค่าของนิพจน์การเรียงลำดับ
ตัวอย่างเช่น ถ้าลำดับผลลัพธ์เรียงลำดับตามวันที่:
№ | วันที่ | ชื่อเต็ม | ความหมาย |
1 | 01 มกราคม 2544 |
อีวานอฟ เอ็ม. |
10 |
2 | 02 มกราคม 2544 | เปตรอฟ เอส. | 20 |
3 | 03 มกราคม 2544 | ซิโดรอฟ อาร์. | 30 |
4 | 04 มกราคม 2544 | เปตรอฟ เอส. | 40 |
แยกกัน, ที่:
§ รายการก่อนหน้าของรายการ 3 จะเป็นรายการ 2
ปัจจุบันปัจจุบัน(ตามพารามิเตอร์ เริ่มและ จบ) จากนั้นสำหรับบันทึก 2 ส่วนนี้จะประกอบด้วยหนึ่งระเบียน 2 นิพจน์จะเท่ากับ 20
หากค่าพารามิเตอร์เป็น ด้วยกัน, ที่:
§ รายการก่อนหน้าของรายการ 3 จะเป็นรายการ 1
§ ถ้าส่วนการคำนวณถูกกำหนดเป็น ปัจจุบันปัจจุบัน(ตามพารามิเตอร์ เริ่มและ จบ) จากนั้นสำหรับบันทึก 2 ส่วนนี้จะประกอบด้วยบันทึก 2 และ 3 นิพจน์ CalculateExpression("ผลรวม(มูลค่า)", ปัจจุบัน, ปัจจุบัน)จะเท่ากับ 50
เมื่อระบุค่าพารามิเตอร์เท่ากับ ด้วยกันในพารามิเตอร์ เริ่มและ จบคุณไม่สามารถระบุออฟเซ็ตสำหรับตำแหน่งได้ อันดับแรก สุดท้าย ก่อนหน้า ถัดไป.
CalculateExpression("Sum(SumTurnover)", "First", "ปัจจุบัน")
หากคุณต้องการรับค่าการจัดกลุ่มในบรรทัดก่อนหน้า คุณสามารถใช้นิพจน์ต่อไปนี้:
CalculateExpression("อัตรา", "ก่อนหน้า")
รายการ ใหม่ฟังก์ชั่น:คำนวณ ExpressionWithGroupArray(,) -
ฟังก์ชันส่งคืนอาร์เรย์ ซึ่งแต่ละองค์ประกอบจะมีผลลัพธ์ของการประเมินนิพจน์สำหรับการจัดกลุ่มตามฟิลด์ที่ระบุ
คำนวณ ExpressionWithGroupValueTable(,) -
ฟังก์ชันส่งคืนตารางค่า แต่ละแถวประกอบด้วยผลลัพธ์ของการประเมินนิพจน์สำหรับการจัดกลุ่มตามฟิลด์ที่ระบุ
เติมมูลค่าแล้ว() - ส่งกลับค่า True หากค่าเป็นค่าอื่นที่ไม่ใช่ค่าเริ่มต้นของประเภทนี้ นอกเหนือจากค่า NULL นอกเหนือจากการอ้างอิงว่าง นอกเหนือจากไม่ได้กำหนด ค่าบูลีนจะถูกตรวจสอบสำหรับค่า NULL ตรวจสอบสตริงว่าไม่มีอักขระที่ไม่ใช่ช่องว่างหรือไม่
รูปแบบ(, ) - รับสตริงที่จัดรูปแบบของค่าที่ส่งผ่าน สตริงรูปแบบถูกตั้งค่าตามสตริงรูปแบบของระบบ 1C:Enterprise
สตริงย่อย(, , ) - ฟังก์ชั่นนี้ออกแบบมาเพื่อแยกสตริงย่อยออกจากสตริง
ความยาวสาย() - ฟังก์ชันนี้ออกแบบมาเพื่อกำหนดความยาวของสตริง พารามิเตอร์คือนิพจน์สตริง
เส้น() - ถ้าอาร์เรย์ถูกส่งผ่านเป็นพารามิเตอร์ ฟังก์ชันจะส่งกลับสตริงที่มีการแทนค่าสตริงขององค์ประกอบอาร์เรย์ทั้งหมด โดยคั่นด้วยอักขระ "; " หากส่งตารางค่าเป็นพารามิเตอร์ฟังก์ชันจะส่งกลับสตริงที่มีการแทนค่าสตริงของแถวทั้งหมดของตารางค่าโดยการแสดงเซลล์ของแต่ละแถวคั่นด้วยอักขระ ";" และแถวด้วยการขึ้นบรรทัดใหม่ อักขระ. หากการแสดงสตริงขององค์ประกอบว่างเปล่า สตริงจะแสดงแทนการแสดง