ฟิลด์ที่คำนวณใน SKD 1s 8.2 เอสเคดี. การแสดงข้อมูลแบบตารางในเซลล์เดียว เขตข้อมูลจากการคำนวณคืออะไร

1. คำนวณ (ประเมิน)- มีวัตถุประสงค์เพื่อประเมินการแสดงออกในบริบทของการจัดกลุ่มบางกลุ่ม ฟังก์ชั่นนี้ใช้สำหรับความเข้ากันได้กับ รุ่นก่อนหน้าแพลตฟอร์ม ขอแนะนำให้ใช้ฟังก์ชัน CalculateExpression แทน

ไวยากรณ์:
คำนวณ (นิพจน์ การจัดกลุ่ม ประเภทการคำนวณ)

ตัวเลือก :

  • การแสดงออก(เส้น). ประกอบด้วยนิพจน์จากการคำนวณ
  • การจัดกลุ่ม(เส้น). ประกอบด้วยชื่อของการจัดกลุ่มในบริบทที่จะประเมินนิพจน์ หากใช้ชื่อกลุ่ม บรรทัดว่างการคำนวณจะดำเนินการในบริบทของการจัดกลุ่มปัจจุบัน ถ้าใช้สตริง GrandTotal เป็นชื่อกลุ่ม การคำนวณจะดำเนินการในบริบทของผลรวมทั้งหมด มิฉะนั้น การคำนวณจะดำเนินการในบริบทของกลุ่มหลักที่มีชื่อเดียวกัน
    ตัวอย่างเช่น:
    ผลรวม(Sales.SumTurnover) / คำนวณ("Sum(Sales.SumTurnover)", "Total")
    ใน ในตัวอย่างนี้ผลลัพธ์จะเป็นอัตราส่วนของจำนวนเงินสำหรับฟิลด์ "Sales.SumTurnover" ของเรกคอร์ดการจัดกลุ่มต่อจำนวนของฟิลด์เดียวกันในเค้าโครงทั้งหมด
  • ประเภทการคำนวณ(เส้น). หากตั้งค่าพารามิเตอร์นี้เป็น "TotalTotal" นิพจน์จะถูกคำนวณสำหรับเรกคอร์ดการจัดกลุ่มทั้งหมด หากค่าของพารามิเตอร์คือ "การจัดกลุ่ม" ค่าจะถูกคำนวณสำหรับบันทึกกลุ่มการจัดกลุ่มปัจจุบัน
2. ประเมินนิพจน์ (EvalExpression) - มีวัตถุประสงค์เพื่อประเมินการแสดงออกในบริบทของการจัดกลุ่มบางกลุ่ม ฟังก์ชันจะคำนึงถึงการเลือกการจัดกลุ่ม แต่ไม่คำนึงถึงการเลือกแบบลำดับชั้น ฟังก์ชันนี้ไม่สามารถใช้กับการจัดกลุ่มในการเลือกกลุ่มของการจัดกลุ่มนั้นได้

ไวยากรณ์:
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) ที่ใช้กำหนดมุม
28.อซิน- คำนวณอาร์คไซน์เป็นเรเดียน

ไวยากรณ์:
ASin(การแสดงออก)

พารามิเตอร์ :

  • การแสดงออก(ตัวเลข). ค่าไซน์ (ในช่วง -1 ... 1) ที่ใช้กำหนดมุม
29. เอตัน- คำนวณอาร์กแทนเจนต์เป็นเรเดียน

ไวยากรณ์:
เอตัน(นิพจน์)

พารามิเตอร์ :

  • การแสดงออก(ตัวเลข). ค่าแทนเจนต์ที่ใช้กำหนดมุม
30.คอส- คำนวณโคไซน์

ไวยากรณ์:
คอส(การแสดงออก)

พารามิเตอร์ :

  • การแสดงออก
31. ประสบการณ์- การยกเลข e ให้เป็นกำลัง

ไวยากรณ์:
ประสบการณ์ (นิพจน์)

พารามิเตอร์ :

  • การแสดงออก(ตัวเลข). ความหมายของปริญญา
32.บันทึก- คำนวณลอการิทึมธรรมชาติ

ไวยากรณ์:
บันทึก (นิพจน์)

พารามิเตอร์ :

  • การแสดงออก
33.บันทึก10- คำนวณลอการิทึมของ X ถึงฐาน 10

ไวยากรณ์:
Log10(นิพจน์)

พารามิเตอร์ :

  • การแสดงออก(ตัวเลข). จำนวนเดิมมากกว่า 0
34. เปา- การยกกำลัง

ไวยากรณ์:
Pow(ฐาน, ตัวบ่งชี้)

ตัวเลือก :

  • ฐาน(ตัวเลข). พื้นฐานของการดำเนินการยกกำลัง
  • ดัชนี(ตัวเลข). เลขชี้กำลัง
35. บาป- คำนวณไซน์

ไวยากรณ์:
บาป (การแสดงออก)

พารามิเตอร์ :

  • การแสดงออก(ตัวเลข). ระบุเป็นเรเดียน
36. ตร- คำนวณรากที่สอง

ไวยากรณ์:
Sqrt(นิพจน์)

พารามิเตอร์ :

  • การแสดงออก(ตัวเลข). จำนวนที่ไม่เป็นลบ
37. ตาล- คำนวณแทนเจนต์

ไวยากรณ์:
ตาล(การแสดงออก)

พารามิเตอร์ :

  • การแสดงออก(ตัวเลข). ค่าไซน์ที่ใช้กำหนดมุม
38. รอบ- ปัดเศษตัวเลขเดิมให้เป็นความลึกบิตที่ต้องการ โหมดการปัดเศษเป็นมาตรฐาน (1.5 เป็น 2)

ไวยากรณ์:
Env (นิพจน์, ความลึกของบิต)

ตัวเลือก :

  • การแสดงออก(ตัวเลข). หมายเลขเดิม
  • ความลึกบิต(ตัวเลข). จำนวนตำแหน่งทศนิยมที่จะปัดเศษ
39. นานาชาติ- ตัดส่วนที่เป็นเศษส่วนของตัวเลขออก

ไวยากรณ์:
วัตถุ (นิพจน์)

พารามิเตอร์ :

  • การแสดงออก(ตัวเลข). จำนวนเศษส่วน
40. ฟังก์ชั่นของโมดูลทั่วไป

นิพจน์เอ็นจิ้นการจัดองค์ประกอบข้อมูลอาจมีการเรียกใช้ฟังก์ชันของโมดูลการกำหนดค่าทั่วไปทั่วโลก ไม่จำเป็นต้องมีไวยากรณ์เพิ่มเติมเพื่อเรียกใช้ฟังก์ชันดังกล่าว

ตัวอย่าง:
ชื่อย่อ(Documents.Link, Documents.Date, Documents.Number)

ในตัวอย่างนี้ ฟังก์ชัน "AbbreviatedName" จะถูกเรียกจากโมดูลการกำหนดค่าทั่วไป
โปรดทราบว่าการใช้ฟังก์ชันโมดูลทั่วไปจะได้รับอนุญาตเฉพาะเมื่อมีการระบุพารามิเตอร์ตัวประมวลผลองค์ประกอบข้อมูลที่เหมาะสมเท่านั้น
นอกจากนี้ ฟังก์ชันของโมดูลทั่วไปไม่สามารถใช้ในนิพจน์ฟิลด์แบบกำหนดเองได้

41. ความไม่พอใจ - ฟังก์ชันนี้ส่งคืนการแสดงสตริงของค่าที่ส่งผ่านของประเภทที่ไม่ใช่แบบดั้งเดิม สำหรับค่าที่เป็นประเภทดั้งเดิม ให้ส่งคืนค่านั้นเอง

<Пустое значение>".

ตัวอย่าง:
การนำเสนอ (คู่สัญญา)

42. เชือก - ฟังก์ชั่นนี้จะแปลงค่าที่ส่งผ่านเป็นสตริง

หากใช้อาร์เรย์หรือตารางค่าเป็นพารามิเตอร์ฟังก์ชันจะส่งกลับสตริงที่มีการแสดงสตริงขององค์ประกอบทั้งหมดของอาร์เรย์โดยคั่นด้วยอักขระ "; " หากองค์ประกอบใดๆ มีการแสดงสตริงว่าง ดังนั้นสตริง "<Пустое значение>".

ตัวอย่าง:
แถว(วันที่ขาย)

43. มูลค่าเต็มแล้ว

สำหรับค่า NULL นั้น Unknown จะส่งกลับค่า False เสมอ
สำหรับค่าบูลีน จะส่งกลับค่า True เสมอ
สำหรับประเภทอื่นๆ จะส่งกลับ True ถ้าค่าแตกต่างจากค่าเริ่มต้นสำหรับ ประเภทนี้.

ตัวอย่าง:
มูลค่าเต็ม (วันที่จัดส่ง)

44. ระดับในกลุ่ม - ฟังก์ชั่นนี้รับระดับการบันทึกปัจจุบันสัมพันธ์กับการจัดกลุ่ม

สามารถใช้เพื่อรับระดับการซ้อนของเรกคอร์ดในการจัดกลุ่มแบบลำดับชั้น

ตัวอย่าง:
ระดับในกลุ่ม()

45. ประเภทค่า

ไวยากรณ์:
ประเภทค่า(นิพจน์)

พารามิเตอร์ :

  • การแสดงออก(เส้น). ประเภทค่าสตริง
ส่งกลับค่าประเภท Type ที่มีประเภทค่าของพารามิเตอร์ฟังก์ชัน

เข้าสู่เว็บไซต์ในฐานะนักเรียน

เข้าสู่ระบบในฐานะนักเรียนเพื่อเข้าถึงสื่อการสอนของโรงเรียน

ระบบการจัดองค์ประกอบข้อมูล 1C 8.3 สำหรับผู้เริ่มต้น: การนับผลลัพธ์ (แหล่งข้อมูล)

จุดประสงค์ของบทเรียนนี้คือ:

  • เขียนรายงานที่แสดงรายการผลิตภัณฑ์ (สารบบอาหาร) ปริมาณแคลอรี่และรสชาติ
  • จัดกลุ่มผลิตภัณฑ์ตามสี
  • เรียนรู้เกี่ยวกับการสรุป (ทรัพยากร) และฟิลด์ที่มีการคำนวณ

สร้างรายงานใหม่

เช่นเดียวกับบทเรียนก่อนหน้านี้เราเปิดฐานข้อมูล " เดลี่"ในตัวปรับแต่งและสร้างรายงานใหม่ผ่านเมนู" ไฟล์"->"ใหม่...":

ประเภทเอกสาร - รายงานภายนอก:

ในแบบฟอร์มตั้งค่ารายงานให้เขียนชื่อ " บทเรียนที่ 3" และกดปุ่ม " เปิดแผนภาพองค์ประกอบข้อมูล":

ปล่อยชื่อสคีมาเริ่มต้นไว้แล้วคลิกปุ่ม " พร้อม":

การเพิ่มคำขอผ่านตัวสร้าง

บนแท็บ " ชุดข้อมูล" คลิก สีเขียวเครื่องหมายบวก และเลือก " เพิ่มชุดข้อมูล - แบบสอบถาม":

แทนที่จะเขียนข้อความคำขอด้วยตนเอง เราจะดำเนินการอีกครั้ง ตัวสร้างแบบสอบถาม:

บน "แท็บ" ตาราง"ลากโต๊ะ" อาหาร" จากคอลัมน์แรกถึงคอลัมน์ที่สอง:

เลือกจากตาราง " อาหาร“ช่องที่เราจะขอ ทำได้โดยลากและวางช่อง” ชื่อ", "รสชาติ", "สี" และ " ปริมาณแคลอรี่" จากคอลัมน์ที่สองถึงคอลัมน์ที่สาม:

มันกลับกลายเป็นเช่นนี้:

กดปุ่ม " ตกลง" - ข้อความคำขอถูกสร้างขึ้นโดยอัตโนมัติ:

การสร้างการตั้งค่าการนำเสนอรายงาน

ไปที่แท็บ " การตั้งค่า" และคลิกที่ ไม้กายสิทธิ์, โทร ผู้ออกแบบการตั้งค่า:

เลือกประเภทรายงาน " รายการ..." และกดปุ่ม " ไกลออกไป":

ลากจากคอลัมน์ด้านซ้ายไปทางขวาฟิลด์ที่จะแสดงในรายการแล้วคลิก " ไกลออกไป":

ลากจากคอลัมน์ด้านซ้ายไปยังฟิลด์ด้านขวา " สี" - มันจะเกิดขึ้น การจัดกลุ่มบรรทัดในรายงาน คลิก " ตกลง":

และนี่คือผลงานของนักออกแบบ ลำดับชั้นของรายงานของเรา:

  • รายงานโดยรวม
  • การจัดกลุ่ม "สี"
  • รายการโดยละเอียด - บรรทัดพร้อมชื่ออาหาร

บันทึกรายงาน (ปุ่ม ดิสเก็ตต์) และ โดยไม่ต้องปิดเราจะเปิดตัวกำหนดค่าในโหมดผู้ใช้ทันที มันกลับกลายเป็นเช่นนี้:

การเปลี่ยนลำดับของคอลัมน์

แต่ขอเถอะ มาเปลี่ยนลำดับกันเถอะคอลัมน์ (ลูกศรขึ้นและลง) เพื่อให้มีลักษณะดังรูปด้านล่าง:

มาบันทึกรายงานและเปิดอีกครั้งในโหมดผู้ใช้:

เยี่ยมเลย ดีขึ้นมาก

มาสรุปเนื้อหาแคลอรี่กันดีกว่า

เป็นการดีที่จะสรุปปริมาณแคลอรี่ของอาหารตามกลุ่ม หากต้องการดูผลรวมแคลอรี่ของผลิตภัณฑ์ทั้งหมด เช่น สีขาวหรือสีเหลือง หรือค้นหาปริมาณแคลอรี่รวมของผลิตภัณฑ์ทั้งหมดในฐานข้อมูล

เพื่อการนี้มีกลไกในการคำนวณทรัพยากร

ไปที่แท็บ " ทรัพยากร“แล้วลากสนาม” ปริมาณแคลอรี่“(เราจะสรุปให้ฟัง) จากคอลัมน์ซ้ายไปขวา

ในกรณีนี้ ในฟิลด์ ให้เลือกนิพจน์จากรายการแบบเลื่อนลง " ปริมาณ(แคลอรี่)" เนื่องจากผลรวมจะเป็นผลรวมขององค์ประกอบทั้งหมดที่รวมอยู่ในผลรวม:

เราบันทึกและสร้างรายงาน:

ตอนนี้เรามีผลลัพธ์สำหรับแต่ละกลุ่มและสำหรับรายงานโดยรวมแล้ว

ลองสรุป (เฉลี่ย) ในรูปแคลอรี่กัน

ตอนนี้เรามาทำให้มันปรากฏในคอลัมน์อื่นกันดีกว่า เฉลี่ยปริมาณแคลอรี่ของผลิตภัณฑ์ตามกลุ่มและในรายงานโดยรวม

คุณไม่สามารถแตะคอลัมน์ "แคลอรี่" ที่มีอยู่ได้ - ผลรวมจะแสดงอยู่ในนั้นแล้ว มาสร้างฟิลด์อื่นกันดีกว่าซึ่งจะเป็นสำเนาของช่อง "แคลอรี่" ทุกประการ

ในการสร้างฟิลด์ "เสมือน" เราจะใช้กลไกนี้ เขตข้อมูลจากการคำนวณ.

ไปที่แท็บ " เขตข้อมูลจากการคำนวณ" และกด สีเขียวเครื่องหมายบวก:

ในคอลัมน์ " เส้นทางข้อมูล"เราเขียนชื่อของฟิลด์ใหม่ ( ได้อย่างลงตัว, ไม่มีช่องว่าง). ให้เรียกว่า " ปริมาณแคลอรี่เฉลี่ย"และในคอลัมน์" การแสดงออก"เราเขียนชื่อของฟิลด์ที่มีอยู่โดยอิงจากการคำนวณฟิลด์ใหม่ เราเขียนที่นั่น " ปริมาณแคลอรี่". คอลัมน์" หัวเรื่อง" จะถูกกรอกโดยอัตโนมัติ

เราได้เพิ่มฟิลด์ใหม่ (" ปริมาณแคลอรี่เฉลี่ย") แต่จะไม่ปรากฏในรายงานด้วยตัวเอง - คุณต้องโทรอีกครั้ง ผู้ออกแบบการตั้งค่า("ไม้กายสิทธิ์") หรือเพิ่มช่องนี้ ด้วยตนเอง.

มาทำกัน ที่สองทาง. หากต้องการทำสิ่งนี้ให้ไปที่แท็บ " การตั้งค่า", เลือก " รายงาน"(ท้ายที่สุด เราต้องการเพิ่มฟิลด์โดยรวมลงในรายงาน) เลือกแท็บที่ด้านล่าง" ฟิลด์ที่เลือก“แล้วลากสนาม” ปริมาณแคลอรี่เฉลี่ย"จากคอลัมน์ซ้ายไปขวา:

มันกลับกลายเป็นเช่นนี้:

เราบันทึกและสร้างรายงาน:

ฟิลด์ปรากฏขึ้นและเราเห็นว่าค่าของมันคือค่าของฟิลด์ "แคลอรี่" ยอดเยี่ยม!

ในการทำเช่นนี้เราจะใช้กลไกที่เราคุ้นเคยอยู่แล้วอีกครั้ง ทรัพยากร(โดยสรุป). ไปที่แท็บ " ทรัพยากร“แล้วลากสนาม” ปริมาณแคลอรี่เฉลี่ย"จากคอลัมน์ซ้ายไปขวา:

นอกจากนี้ในคอลัมน์ " การแสดงออก"เลือก" เฉลี่ย(เฉลี่ยแคลอรี่)":

เราบันทึกและสร้างรายงาน:

เราเห็นว่าสำหรับกลุ่ม นั่นคือ สำหรับแต่ละสี และสำหรับรายงานโดยรวม ค่าเฉลี่ยได้รับการคำนวณอย่างถูกต้องอย่างแน่นอน แต่พวกเขามีอยู่ รายการพิเศษของผลิตภัณฑ์แต่ละรายการ (ไม่ใช่กลุ่ม) ที่ฉันต้องการลบออกจากรายงาน

คุณรู้ไหมว่าทำไมพวกมันถึงปรากฏ (ค่าไม่ใช่ตามกลุ่ม)? เพราะเมื่อเราเพิ่มสนาม” ปริมาณแคลอรี่เฉลี่ย"ในการตั้งค่ารายงาน ในขั้นตอนที่สองที่เราเลือก รายงานทั้งหมดและฟิลด์ใหม่นี้ก็จบลงที่องค์ประกอบ " รายละเอียด บันทึก".

มาแก้ไขข้อผิดพลาดกัน หากต้องการทำสิ่งนี้ ให้กลับไปที่แท็บ " การตั้งค่า", เลือก " รายการโดยละเอียด" อันดับแรกจากด้านบน (ขั้นตอนที่ 2) จากนั้น " รายการโดยละเอียด"จากด้านล่าง (ขั้นตอนที่ 3) ไปที่บุ๊กมาร์ก" เลือกแล้ว สาขา" และเราจะเห็นองค์ประกอบในคอลัมน์ด้านขวาของมัน " อัตโนมัติ".

องค์ประกอบ " อัตโนมัติ" - นี่ไม่ใช่ฟิลด์เดียว นี่เป็นหลายฟิลด์ที่จะอยู่ที่นี่โดยอัตโนมัติตามการตั้งค่าระดับที่สูงกว่า

หากต้องการดูว่าช่องเหล่านี้คืออะไร ให้คลิกที่องค์ประกอบ " อัตโนมัติ" ขวาปุ่มและเลือก " ขยาย":

องค์ประกอบ " อัตโนมัติ" ขยายออกไปในสาขาต่อไปนี้:

และนี่คือสนามของเรา" ปริมาณแคลอรี่เฉลี่ย“ซึ่งมาจากจุดนั้น” รายงาน“ตอนเราลากเขาไปนั่น. เอาออกเถอะทำเครื่องหมายที่ช่องถัดจากช่องนี้เพื่อลบเอาต์พุต

การใช้ Data Composition Scheme (DCS) อย่างเหมาะสมช่วยให้คุณ:

แต่ไม่ใช่นักพัฒนาทุกคนที่จะใช้ประโยชน์จากความสามารถของโครงการให้เกิดประโยชน์สูงสุด เนื่องจากการตั้งค่าทั้งหมดไม่ชัดเจนและใช้งานง่าย โดยเฉพาะอย่างยิ่ง หลายคนรู้ว่าใน 1C SKD มีเขตข้อมูลจากการคำนวณ แต่พวกเขาไม่เข้าใจขอบเขตการใช้งานและวิธีการทำงานกับเขตข้อมูลเหล่านั้นอย่างถ่องแท้

เขตข้อมูลจากการคำนวณคืออะไร

ในกรณีส่วนใหญ่ แหล่งข้อมูลในไดอะแกรมโครงร่างจะเป็นคิวรี โดยหลักการแล้ว ภายในแบบสอบถามนั้น คุณสามารถใช้สูตร โครงสร้าง และนิพจน์ต่างๆ ได้แล้ว คำถามทั่วไปเกิดขึ้น: เหตุใดเราจึงต้องมีฟังก์ชันการทำงานที่ซ้ำกัน

ความจริงก็คือระบบควบคุมการเข้าถึงเป็นมากกว่าการแสดงผลลัพธ์ของการสืบค้นและสิ่งนี้มองเห็นได้ชัดเจนจากแบบฟอร์มการสร้างไดอะแกรม (รูปที่ 1)

ฟิลด์ที่มีการคำนวณช่วยให้คุณสามารถดำเนินการบางอย่างกับชุดข้อมูลที่สร้างขึ้น:

  • ส่งออกอาร์เรย์ของข้อมูลที่ได้รับจากการร้องขอไปยังเซลล์เฉพาะ โดยรวมหลายบรรทัดไว้ในเซลล์เดียว
  • เข้าถึงฟังก์ชั่นการส่งออกของโมดูลทั่วไป
  • ดำเนินการนิพจน์ต่างๆ ที่พร้อมใช้งานสำหรับภาษาเค้าโครง และใช้ฟังก์ชัน EvaluateExpression พิเศษ

มาดูรายการนี้กัน

อาร์เรย์ของค่าในเซลล์เดียว

มาจำลองสถานการณ์ที่จำเป็นต้องรับหมายเลขเอกสารการรับทั้งหมดสำหรับคู่สัญญาในเซลล์ที่แยกต่างหาก:


ดังนั้นเราจึงได้สร้างฟิลด์การคำนวณเพิ่มเติมในโครงการของเรา


ดังที่คุณเห็นจากตัวอย่างข้างต้น การเพิ่มและประมวลผลฟิลด์จากการคำนวณไม่มีปัญหา เราใช้สองฟังก์ชัน: Array() และ ConnectRows()

คำไม่กี่คำเกี่ยวกับหลัง นอกจากพารามิเตอร์ตัวแรกที่ระบุตัวระบุของอาร์เรย์ค่าหรือค่าแล้วยังสามารถตั้งค่าได้อีกสองตัว:

  1. ตัวแยกองค์ประกอบ – ระบุว่าอักขระตัวใดที่จะแยกองค์ประกอบอาร์เรย์หนึ่งหรือแถวหนึ่งของตารางค่าจากอีกแถวหนึ่ง (ในกรณีของเราเราละเว้นพารามิเตอร์นี้และกำหนดตัวแบ่งบรรทัดตามค่าเริ่มต้น)
  2. ตัวคั่นคอลัมน์ – อักขระที่ใช้แยกคอลัมน์ของตารางค่า (จะใช้เครื่องหมายอัฒภาคเป็นค่าเริ่มต้น)

การเข้าถึงฟังก์ชันการส่งออกของโมดูลทั่วไป

ฟังก์ชันของโมดูลทั่วไปสามารถทำหน้าที่เป็นแหล่งข้อมูลสำหรับการกรอกข้อมูลฟิลด์จากการคำนวณได้

บาง จุดสำคัญ:

  • ฟังก์ชันจะต้องสามารถส่งออกได้
  • หากฟังก์ชันอยู่ในโมดูลทั่วไปที่มีชุดคุณลักษณะ "Global" ฟังก์ชันดังกล่าวจะถูกเรียกโดยตรงด้วยชื่อ ไม่เช่นนั้นฟังก์ชันจะต้องถูกเรียกตามรูปแบบ "ชื่อโมดูลที่ใช้ร่วมกัน" "ชื่อของฟังก์ชันที่จะเรียกใช้"

เป็นตัวอย่างการใช้งาน เราจะรับคำขอเอกสารใบเสร็จเดียวกันและแสดงในคอลัมน์แยกต่างหาก เราจะไม่อธิบายคำขอ เราจะย้ายไปยังฟิลด์ที่คำนวณโดยตรง:


ดังนั้นเราจึงเห็นว่าเกือบทุกตัวประมวลผลข้อมูลสามารถเริ่มต้นได้จากระบบควบคุมการเข้าถึงซึ่งจะขยายความเป็นไปได้ในการใช้โครงร่างอย่างมาก

สำนวนภาษาเค้าโครง

บ่อยครั้งในงานของนักพัฒนาสถานการณ์เกิดขึ้นเมื่อจำเป็นต้องแสดงผลการแบ่งในฟิลด์ ACS:

  1. คำนวณต้นทุนเฉลี่ยของสินค้า
  2. ความสนใจทุกประเภท
  3. การคำนวณรายได้เฉลี่ย ฯลฯ

เพื่อหลีกเลี่ยงปัญหา ในกรณีเหล่านี้ แนะนำให้ป้อนการทดสอบการหารด้วย 0 ลงในช่องที่คำนวณ

ซึ่งสามารถทำได้โดยใช้การก่อสร้าง “ทางเลือกเมื่อ….จากนั้น… มิฉะนั้น… สิ้นสุด”

สุดท้ายก็ขอกล่าวอีกสักหน่อยว่าเพียงพอแล้ว คุณลักษณะใหม่คำนวณนิพจน์() ด้วยความช่วยเหลือเป็นพิเศษ คุณสามารถคำนวณความเบี่ยงเบนของต้นทุนระหว่างบรรทัดปัจจุบันและก่อนหน้า ยอดคงเหลือสะสม ฯลฯ

สมมติว่าคุณสามารถรับผลรวมเอกสารจากบรรทัดก่อนหน้าของคำขอของเราโดยระบุค่า คำนวณนิพจน์ ("ผลรวมเอกสาร", "ผลรวมก่อนหน้า") ในช่อง "นิพจน์"

ขอให้เป็นวันที่ดีผู้อ่านบล็อกของเรา! วันนี้ผมอยากจะเล่าให้คุณฟังโดยใช้ตัวอย่างจริงว่าอย่างไร
ใช้ฟังก์ชัน ACS Array และ JoinStrings. ในบทความเกี่ยวกับ

มีการกล่าวถึงวิธีการทำงานด้วยเล็กน้อย
บนบุ๊กมาร์ก
ได้ถูกอธิบายไว้แล้วเช่นกันว่า
โดยใช้แท็บ "ทรัพยากร" วันนี้เราจะให้ความสนใจกับสิ่งเหล่านี้อีกครั้ง
บุ๊กมาร์กตามหัวข้อของเรา

ลักษณะที่ปรากฏของตัวอย่างรายงาน 1C โดยใช้ฟังก์ชัน ACS สองฟังก์ชัน อาร์เรย์และ เชื่อมต่อแถวต่อไป:

คำชี้แจงปัญหาในการใช้ฟังก์ชัน ACS Array และ JoinStrings

ภารกิจ: คุณต้องแทรกหมายเลขการขายทั้งหมดสำหรับผลิตภัณฑ์หนึ่งรายการลงในเซลล์เดียว

บางอย่างเช่น: ระบบการตั้งชื่อ | ปริมาณ | 001, 002 ฯลฯ |

เราจะใช้คำขอในการลงทะเบียนการสะสม "การรับรู้ TMZ"

เลือก
การดำเนินการตาม TMZ นายทะเบียน. ตัวเลข,
การดำเนินการตาม TMZ ศัพท์เฉพาะ
การดำเนินการตาม TMZ นายทะเบียน
การดำเนินการตาม TMZ ปริมาณการหมุนเวียน
จาก
ทะเบียนสะสม. การดำเนินการตาม TMZ การปฏิวัติ
(, , นายทะเบียน, ) วิธีใช้ TMZ

การลงทะเบียนการสะสม "การรับรู้ของ TMZ" มีอยู่ทั้งในการกำหนดค่าการบัญชีและในการกำหนดค่าการจัดการองค์กรการค้า (UTP) ดูวิธีกำหนดค่า USP ในองค์ประกอบไดเรกทอรี "ระบบการตั้งชื่อ" ดังนั้น หลังจากดาวน์โหลด คุณสามารถเรียกใช้รายงานนี้ในการกำหนดค่าทั้งสองเพื่อตรวจสอบฟังก์ชันการทำงานได้

การดำเนินงานโดยใช้ฟังก์ชัน SKD Array และ ConnectRows


มีการใช้ขั้นตอนเดียวกันแต่มีการเพิ่มเติมบางอย่างเพื่อสร้าง
.

คำอธิบายของฟังก์ชัน JoinStrings

เข้าร่วม Strings

ใช้เพื่อเชื่อมสตริงให้เป็นสตริงเดียว

ไวยากรณ์:

ConnectRows(ค่า, ItemSeparator, ColumnSeparator)

ตัวเลือก:

  1. ความหมาย— สำนวนที่ต้องรวมเป็นบรรทัดเดียว
    หากเป็นอาร์เรย์ องค์ประกอบของอาร์เรย์จะรวมกันเป็นสตริง
    หากเป็น ValueTable คอลัมน์และแถวทั้งหมดของตารางจะรวมกันเป็นแถว
  2. ตัวแยกองค์ประกอบ- สตริงที่มีข้อความที่จะใช้เป็น
    ตัวคั่นระหว่างองค์ประกอบอาร์เรย์และแถวตารางค่า ค่าเริ่มต้น – อักขระป้อนบรรทัด
  3. ตัวแยกคอลัมน์-สตริงที่มีข้อความที่จะใช้เป็นตัวคั่น
    ระหว่างคอลัมน์ของตารางค่า ค่าเริ่มต้น ";".

ในแง่ของการเปิดตัว 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

สตริงย่อย(, , ) - ฟังก์ชั่นนี้ออกแบบมาเพื่อแยกสตริงย่อยออกจากสตริง

ความยาวสาย() - ฟังก์ชันนี้ออกแบบมาเพื่อกำหนดความยาวของสตริง พารามิเตอร์คือนิพจน์สตริง

เส้น() - ถ้าอาร์เรย์ถูกส่งผ่านเป็นพารามิเตอร์ ฟังก์ชันจะส่งกลับสตริงที่มีการแทนค่าสตริงขององค์ประกอบอาร์เรย์ทั้งหมด โดยคั่นด้วยอักขระ "; " หากส่งตารางค่าเป็นพารามิเตอร์ฟังก์ชันจะส่งกลับสตริงที่มีการแทนค่าสตริงของแถวทั้งหมดของตารางค่าโดยการแสดงเซลล์ของแต่ละแถวคั่นด้วยอักขระ ";" และแถวด้วยการขึ้นบรรทัดใหม่ อักขระ. หากการแสดงสตริงขององค์ประกอบว่างเปล่า สตริงจะแสดงแทนการแสดง