หมายเลขตามลำดับในคำขอคือ 1c ฟังก์ชันมุมมองและ ViewLink

มาดูส่วนที่เหลือตอนนี้

ฟังก์ชั่นสำหรับการทำงานกับสตริงในแบบสอบถาม 1C

มีฟังก์ชันและตัวดำเนินการบางอย่างสำหรับการทำงานกับข้อมูลสตริงในการสืบค้น 1C

ประการแรก สามารถเพิ่มสตริงในการสืบค้นได้ หากต้องการทำสิ่งนี้ ให้ใช้ตัวดำเนินการ “+”:

ขอ. ข้อความ = "เลือก
" "เส้น: " " + แหล่งที่มาชื่อ
;

ประการที่สอง คุณสามารถเลือกส่วนของเส้นได้ เมื่อต้องการทำเช่นนี้ ให้ใช้ฟังก์ชัน ย่อย.ฟังก์ชั่นนี้คล้ายกับภาษา 1C ในตัว มีพารามิเตอร์สามตัว:

  1. สตริงต้นทาง
  2. จำนวนอักขระที่ควรเริ่มต้นบรรทัดที่เลือก
  3. ตัวละคร.

ขอ. ข้อความ= "เลือก
สตริงย่อย("
"เส้น: " ", 4, 3) ตามผลลัพธ์"- // ผลลัพธ์: โอเค

การทำงาน ไม่เป็นโมฆะ

NULL เป็นประเภทข้อมูลพิเศษบนแพลตฟอร์ม 1C:Enterprise นอกจากนี้ยังเป็นค่าเดียวที่เป็นไปได้ของประเภทนี้อีกด้วย NULL อาจปรากฏในแบบสอบถามได้หลายกรณี: เมื่อเชื่อมต่อแหล่งที่มาของแบบสอบถามหากไม่พบค่าที่เกี่ยวข้องในตารางใดตารางหนึ่ง เมื่อเข้าถึงรายละเอียดของวัตถุที่ไม่มีอยู่จริง หากระบุ NULL ในรายการเขตข้อมูลแบบสอบถาม (เช่นเมื่อรวมผลลัพธ์การเลือกจากหลายตาราง) เป็นต้น

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

มันมีสองพารามิเตอร์:

  1. กำลังตรวจสอบค่า
  2. ค่าที่จะแทนที่พารามิเตอร์แรกด้วยหากกลายเป็น NULL

ขอ. ข้อความ= "เลือก
ISNULL(Source.Remainder, 0) AS ส่วนที่เหลือ"
; // หากผลลัพธ์ของการร้องขอคือฟิลด์ส่วนที่เหลือ = NULL
// จากนั้นจะถูกแทนที่ด้วย 0 และคุณสามารถดำเนินการทางคณิตศาสตร์ได้

ฟังก์ชั่น ผลงานและ บทนำลิงค์

ฟังก์ชันเหล่านี้ได้รับการออกแบบมาเพื่อให้ได้การแสดงสตริงของค่าต่างๆ นั่นคือแปลงข้อมูลอ้างอิง ตัวเลข บูลีน ฯลฯ ให้เป็นข้อความธรรมดา ความแตกต่างระหว่างพวกเขาก็คือฟังก์ชั่น ผลงานแปลงชนิดข้อมูลใด ๆ ให้เป็นข้อความ (สตริง) และฟังก์ชัน บทนำลิงค์- เฉพาะลิงก์เท่านั้น และส่งกลับค่าที่เหลือตามเดิม ไม่ถูกแปลง

ขอ. ข้อความ= "เลือก
การเป็นตัวแทน (จริง) เป็นบูลีน
การเป็นตัวแทน (4) เป็นจำนวน
การเป็นตัวแทน (Source.Link) AS Link
การเป็นตัวแทน(DATETIME(2016,10,07)) AS Date"
;
// Boolean = "ใช่", Number = "4", Link = "เอกสารใบเสร็จรับเงินเลขที่....จาก..."
// วันที่="07.10.2016 0:00:00"

ขอ. ข้อความ= "เลือก
REPRESENTATIONREFERENCE(TRUE) เป็นบูลีน
การอ้างอิงการอ้างอิง (4) เป็นตัวเลข
PRESENTINGLINK(Source.Link) เป็นลิงก์
การอ้างอิงการอ้างอิง (DATETIME (2016,10,07)) AS Date"
;
// Boolean = TRUE, Number = 4, Link = "เอกสารใบสั่งซื้อใบเสร็จรับเงินเลขที่....จาก..."
// วันที่=07.10.2016 00:00:00

ฟังก์ชั่น พิมพ์และ ค่าประเภท

การทำงาน พิมพ์ส่งคืนชนิดข้อมูลแพลตฟอร์ม 1C:Enterprise

ขอ. ข้อความ= "เลือก
ประเภท (หมายเลข)
ประเภท (สตริง)
ประเภท (เอกสาร. คำสั่งจ่ายเงินสด)"
;

การทำงาน ค่าประเภทส่งคืนประเภทของค่าที่ส่งไป

ขอ. ข้อความ= "เลือก
ประเภทค่า (5) AS Number,
พิมพ์ ("
"เส้น" ") AS สตริง
ประเภท (Source.Link) AS อ้างอิง
จากไดเรกทอรีแหล่งที่มา AS แหล่งที่มา"
;
//Number=Number, String=String, Directory = DirectoryLink.Source

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

ขอ. ข้อความ= "เลือก

จาก

ที่ไหน
ประเภทค่า (ContactInformation.Object) = ประเภท (Directory.Counterparties)"
;

การทำงาน ความหมาย

การทำงาน ความหมายอนุญาตให้คุณใช้วัตถุการกำหนดค่า 1C โดยตรงในคำขอโดยไม่ต้องใช้ .

เรามาเพิ่มเงื่อนไขอีกหนึ่งข้อให้กับตัวอย่างก่อนหน้านี้ คุณจะต้องได้รับหมายเลขโทรศัพท์ของคู่สัญญาของคุณเท่านั้น

ขอ. ข้อความ= "เลือก
ข้อมูลการติดต่อ.บทนำ
จาก
การลงทะเบียนข้อมูลการติดต่อ ข้อมูลการติดต่ออย่างไร
ที่ไหน
ประเภทค่า (ContactInformation.Object) = ประเภท (Directory.Counterparties)
และ ContactInfo.Type = VALUE (Enum.ContactInfoTypes.Phone)"
;

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

ผู้ดำเนินการ ลิงค์

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

ตัวอย่างเช่น งานในการเลือกข้อมูลการติดต่อสำหรับคู่สัญญาสามารถแก้ไขได้ด้วยวิธีนี้:

ขอ. ข้อความ= "เลือก
ข้อมูลการติดต่อ.บทนำ
จาก
การลงทะเบียนข้อมูลการติดต่อ ข้อมูลการติดต่ออย่างไร
ที่ไหน
ContactInformation.Object LINK Directory.คู่สัญญา"
;

ผู้ดำเนินการ ด่วน

ผู้ดำเนินการ ด่วนใช้ในแบบสอบถาม 1C ในสองกรณี:

  • เมื่อคุณต้องการเปลี่ยนลักษณะของประเภทดั้งเดิม
  • เมื่อคุณต้องการเปลี่ยนฟิลด์ที่มีประเภทข้อมูลแบบผสมให้เป็นฟิลด์ที่มีประเภทเดียว

ประเภทข้อมูลดั้งเดิมประกอบด้วย: หมายเลข, สตริง, วันที่, บูลีนข้อมูลบางประเภทมีลักษณะเฉพาะเพิ่มเติม พิมพ์ ตัวเลขมีความยาวและความแม่นยำชนิด เส้น -ความยาวหรือไม่จำกัด

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

ขอ. ข้อความ= "เลือก
ปริมาณ (การมาถึงของสินค้าและบริการที่แตกต่างกัน ลิงค์) AS ลิงค์
จาก
เอกสารการรับสินค้าและบริการ วิธีการรับสินค้าและบริการ
จัดกลุ่มตาม
EXPRESS(การรับสินค้าและบริการ แสดงความคิดเห็น AS ROW (200))"
;

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

ขอ. ข้อความ= "เลือก
EXPRESS (การเคลื่อนย้ายสินค้า Turnover. Order AS Document. Customer Order). วันที่ AS Order Date,
การเคลื่อนย้ายสินค้าหมุนเวียนระบบการตั้งชื่อ
จาก
ลงทะเบียนการสะสมการเคลื่อนย้ายสินค้าการหมุนเวียนสินค้า AS การเคลื่อนย้ายสินค้าการหมุนเวียน
ที่ไหน
การเคลื่อนย้ายสินค้าหมุนเวียน.Order LINK Document.Client Order"
;

ผู้ประกอบการ ทางเลือกและ เป็นโมฆะ

ผู้ดำเนินการ ทางเลือกคล้ายกับตัวดำเนินการ ถ้าในภาษา 1C ในตัว แต่มีฟังก์ชันการทำงานลดลงบ้าง

สมมติว่าเราต้องการรับข้อมูลการติดต่อจากการลงทะเบียนข้อมูล ContactInformation และในขณะเดียวกันก็ระบุในช่องคำขอแยกต่างหากว่าเป็นของคู่สัญญาหรือรายบุคคล

ขอ. ข้อความ= "เลือก
ข้อมูลการติดต่อ.บทนำ,
ทางเลือก
เมื่อค่าประเภท (ContactInformation.Object) = ประเภท (Directory.Counterparties)
แล้ว "
คู่สัญญา "
ทางเลือกอื่น
เมื่อค่าประเภท (ContactInformation.Object) = ประเภท (Directory.Individuals)
แล้ว "
รายบุคคล"
อื่น ๆ "คนอื่น" "
จบ
สิ้นสุดในฐานะเจ้าของ
จาก
การลงทะเบียนข้อมูลการติดต่อ AS ข้อมูลการติดต่อ"
;

ดังที่เห็นได้จากตัวอย่างในการออกแบบ ทางเลือกมีเงื่อนไขหลังคำพูดเสมอ เมื่อไร;ใช้ค่าหากเงื่อนไขเป็นจริงหลังคำ แล้วและค่าที่ใช้หากไม่ตรงตามเงื่อนไขหลังคำ มิฉะนั้น.ทั้งสามองค์ประกอบการออกแบบ ทางเลือกเป็นสิ่งจำเป็น ละเว้นองค์ประกอบ มิฉะนั้นเช่นเดียวกับเมื่อใช้โอเปอเรเตอร์ ถ้าในภาษา 1C ในตัวมันเป็นไปไม่ได้ จากผู้ปฏิบัติงานด้วย ทางเลือกไม่มีความคล้ายคลึงของการออกแบบ เอลเซฟแต่คุณสามารถลงทุนได้ ทางเลือกในอีกทางหนึ่ง ดังที่ทำในตัวอย่างของเรา

ผู้ดำเนินการ เป็นโมฆะใช้ในการออกแบบ ทางเลือกเพื่อเปรียบเทียบเขตข้อมูลแบบสอบถามกับประเภท NULL

ขอ. ข้อความ= "เลือก
ทางเลือก
เมื่อค่าเป็นโมฆะแล้วเป็น 0
ความหมายอื่น
จบ"
;

นอกจากนี้ผู้ปฏิบัติงาน เป็นโมฆะสามารถใช้ในเงื่อนไขการสืบค้น เช่น ในประโยค ที่ไหน.

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

โดยหลักการแล้วปัญหาจะคลี่คลายได้ง่ายหากเราได้รับรายการเอกสารในรายงาน แต่ที่นี่สิ่งต่าง ๆ

แจ้งความไม่ใช่ปัญหา!

ด้วยการสร้างรายงานเกี่ยวกับระบบการจัดองค์ประกอบข้อมูลพร้อมรายการเอกสาร ปัญหาจะได้รับการแก้ไขอย่างง่ายดาย คุณเพียงแค่ต้องเพิ่มฟิลด์พิเศษ "หมายเลขลำดับ" ลงในฟิลด์รายงาน

ด้วยเหตุนี้ ผู้ใช้จะเห็นผลลัพธ์การสร้างรายงานที่คล้ายกัน:

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

การเรียงลำดับหมายเลขในคำขอ

มาเปลี่ยนแบบสอบถามสำหรับรายการบันทึกเอกสารแบบไดนามิกดังนี้:

" เลือก | ต - หมายเลขในการสั่งซื้อ,- ต - ลิงค์- ต - วันที่,- ต - มาร์คเดเลชั่น,- ต - ตัวเลข,- ต - ดำเนินการ- ต - พิมพ์ |จาก | (เลือก" + // ดูจำนวนลิงก์ที่แนบมาในช่อง "NumberByOrder"" ปริมาณ (วารสารเอกสารต่าง ๆวารสารเอกสาร ลิงค์) AS NumberInOrder | วารสารเอกสาร. ลิงค์ AS ลิงค์ | วารสารเอกสาร. วันที่ AS วันที่ | วารสารเอกสาร. MarkDeletion AS MarkDeletion, | วารสารเอกสาร. หมายเลข AS หมายเลข | เอกสารวารสาร. ดำเนินการ AS ดำเนินการ | เอกสารวารสาร. พิมพ์เป็นประเภท | จาก | วารสารเอกสาร. วารสารเอกสาร AS วารสารเอกสาร | LEFT JOINDocumentJournal. เอกสารวารสาร AS เอกสารวารสาร เอกสารเอกสารวารสาร" + // เชื่อมต่อตารางบันทึกเอกสารเข้ากับตัวมันเองผ่านลิงก์เอกสาร จำนวนการเชื่อมต่อ // ลิงค์คือหมายเลขซีเรียล " ซอฟต์แวร์วารสารเอกสาร ลิงก์ > = DocumentJournalDocumentJournal ลิงค์ / | | จัดกลุ่มตาม | วารสารเอกสาร. ลิงค์ | วารสารเอกสาร. วันที่, | วารสารเอกสาร. มาร์คเดเลชั่น, | วารสารเอกสาร. ตัวเลข, | วารสารเอกสาร. ดำเนินการ | วารสารเอกสาร. ประเภท) AS T"

เมื่อเปิดรายการไดนามิกในโหมด 1C:Enterprise เราจะได้ผลลัพธ์ดังต่อไปนี้:

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

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

โปรดทราบว่าการใช้ตารางเอกสารหรือตารางประวัติเอกสารซ้ำๆ อาจส่งผลเสียต่อประสิทธิภาพการทำงาน ทางออกที่ดีที่สุดคือการสร้างตารางชั่วคราวของเอกสารที่เลือกทั้งหมด จากนั้นจึงดำเนินการกับตารางนั้น ขอย้ำอีกครั้งว่าทุกอย่างขึ้นอยู่กับงานเฉพาะด้าน!


คำสำคัญ: การกำหนดหมายเลขบรรทัดแบบสอบถาม FIRST การกำหนดหมายเลขบรรทัดในตัวสร้าง หมายเลข

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

จึงมีโค้ดสำหรับเลือกรายการเรียงตามชื่อ:
เลือก
ศัพท์.ลิงค์
จาก

เรียงตาม
ศัพท์.ชื่อ
คำขอเดิม

คุณต้องเพิ่มคอลัมน์ที่นี่พร้อมหมายเลขซีเรียลของรายการ (ภายในกรอบของการเรียงลำดับนี้)
เลือก

จาก
Directory.Nomenclature AS Nomenclature
ซอฟต์แวร์ Nomenclature.Name >= Nomenclature_1.Name // เงื่อนไขการเรียงลำดับสำหรับการกำหนดหมายเลข

เรียงตาม
ศัพท์.ชื่อ
สอบถามด้วยหมายเลขบรรทัด

เราเชื่อมต่อโต๊ะเข้ากับตัวมันเองด้วยวิธีที่ค่อนข้างฉลาด เมื่อใช้ตารางด้านขวา เราจะนับจำนวนรายการที่มีชื่อน้อยกว่ารายการปัจจุบันทางด้านซ้าย โดยใช้การจัดกลุ่ม

คุณสามารถใช้เทคนิคที่คล้ายกันได้หากคุณต้องการระบุหมายเลขแถวโดยคำนึงถึงการจัดกลุ่มตามบางฟิลด์
เลือก
ระบบการตั้งชื่อ Link AS ระบบการตั้งชื่อ
ระบบการตั้งชื่อผู้ปกครองเป็นผู้ปกครอง
ปริมาณ (Nomenclature_1.Link) AS Number
จาก
Directory.Nomenclature AS Nomenclature
INNER JOIN Directory ระบบการตั้งชื่อ AS Nomenclature_1
ซอฟต์แวร์ Nomenclature.Name >= Nomenclature_1.Name
และ Nomenclature.Parent = Nomenclature_1.Parent

จัดกลุ่มตาม
ระบบการตั้งชื่อผู้ปกครอง
ศัพท์.ลิงค์
แบบสอบถามด้วยหมายเลขบรรทัดภายในกลุ่ม

นี่เป็นคำขอเดียวกัน เพียงแต่มีการเพิ่มการจัดกลุ่มลงในช่อง "พาเรนต์" โดยการกำหนดหมายเลขจะแตกต่างกันสำหรับพาเรนต์แต่ละคน

ผลงาน:
หากเราพูดถึงประสิทธิภาพ การสืบค้นประเภทนี้มักต้องใช้ทรัพยากรมาก (เท็จทางคณิตศาสตร์ตามลำดับของ N^2) สำหรับงานประจำวันส่วนใหญ่ การใช้งานก็ค่อนข้างเป็นที่ยอมรับ
อย่างไรก็ตาม แบบสอบถามที่สองจะดำเนินการค่อนข้างเร็วกว่าแบบสอบถามแรก นี่เป็นเพราะตารางเสริมมีขนาดเล็กกว่า

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

ตัวอย่างเช่นเราต้องเผชิญกับภารกิจในการได้รับเอกสารการรับสินค้าและบริการห้าฉบับล่าสุดสำหรับคู่สัญญาแต่ละฝ่าย:
เลือก
การรับสินค้าและบริการ คู่สัญญา AS
การรับสินค้าและบริการ ลิงค์ AS Link,
ปริมาณ(การรับสินค้าและบริการ_1.ลิงก์) AS Number
จาก
เอกสารการรับสินค้าและบริการ วิธีการรับสินค้าและบริการ
เอกสารเข้าร่วมภายใน การรับสินค้าและบริการ AS การรับสินค้าและบริการ_1
วันที่รับสินค้าและบริการ<= ПоступлениеТоваровУслуг_1.Дата
และการรับสินค้าและบริการ คู่สัญญา = การรับสินค้าและบริการ_1

จัดกลุ่มตาม
ลิงค์การรับสินค้าและบริการ
การรับสินค้าและบริการ

มี
ปริมาณ(การรับสินค้าและบริการ_1.ลิงก์)<= 5

เรียงตาม
คู่สัญญา
ตัวเลข
คำขอที่มีหมายเลขบรรทัดหากมีสาขาที่สนใจซ้ำกัน (อันที่เกี่ยวข้องกับการสร้างเคาน์เตอร์)
เลือก
ปริมาณ (Individuals_1.Name) AS Number,
บุคคล ลิงก์เป็นชื่อเต็ม
จาก
Directory.Individuals AS บุคคล
ไดเรกทอรีเข้าร่วมภายใน บุคคล AS Individuals_1
ซอฟต์แวร์ (Individuals.Name + Individuals.Code >= Individuals_1.Name + Individuals_1.Code)

เรียงตาม
ตัวเลข
จริงๆ แล้ว แนวคิดก็คือ: ใช้ "ช่องคอมโพสิต" เพื่อให้ได้ผลรวมที่เพิ่มขึ้น (ในกรณีนี้ ช่องหนึ่งอาจมีรายการที่ซ้ำกัน แต่ช่องที่สองในตัวอย่างนี้ไม่มี)
เกิดในหัวของ NEKRON