การโฆษณา

บ้าน - แอนติไวรัส
ส่วนหลังผ่านแบบสอบถามแบบซ้อน คุณสมบัติในการรับภาพรวมของรายการล่าสุดในการลงทะเบียนข้อมูล

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

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

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

สองตัวเลือกคำขอ

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

คำขอ = คำขอใหม่; ขอ. ข้อความ = " เลือก | | | | | | จากทะเบียนข้อมูล. ราคาระบบการตั้งชื่อ ชิ้นส่วนของราคาล่าสุด HOW ระบบการตั้งชื่อชิ้นส่วนของล่าสุด |ที่ไหน |< = 50 " ;

ราคาระบบการตั้งชื่อ SliceLast ราคาเก่า

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

ดังนั้นในตัวอย่างของเรา คำขอไม่ส่งคืนผลลัพธ์ ขั้นแรก เขาได้รับส่วนแบ่งของอย่างหลัง จากนั้นจึงกำหนดเงื่อนไขในแอตทริบิวต์ "ราคาเก่า" นี่คือลักษณะที่ปรากฏในแผนภาพ:

คำขอ = คำขอใหม่; ขอ. ข้อความ = " เลือก ราคาระบบการตั้งชื่อ Slice ใหม่ล่าสุด ระยะเวลา, ราคาระบบการตั้งชื่อ Slice ใหม่ล่าสุด ผลิตภัณฑ์, ราคาระบบการตั้งชื่อ Slice ใหม่ล่าสุด ราคา, ขอ. ข้อความ = " เลือก | | | | | ราคาระบบการตั้งชื่อ Slice ใหม่ล่าสุด ราคาเก่า< = 50 ) ทะเบียนข้อมูล. ราคาระบบการตั้งชื่อ SliceLast(, ราคาเก่า"

ราคาอย่างไรระบบการตั้งชื่อ Slice ล่าสุด ขณะนี้แบบสอบถามจะได้รับข้อมูลที่ถูกต้องเนื่องจากสไลซ์ราคาล่าสุด

จะได้รับโดยคำนึงถึงเงื่อนไขข้อกำหนด "ราคาเก่า"

ผลลัพธ์

ควรเข้าใจว่าสิ่งที่กล่าวข้างต้นใช้กับทุกกรณีของการใช้ตารางเสมือนในการสืบค้น (สำหรับการลงทะเบียนการสะสม การลงทะเบียนการบัญชี งาน ฯลฯ )

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

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

ซึ่งจัดเก็บราคาตามผลิตภัณฑ์และซัพพลายเออร์ ความถี่ในการลงทะเบียนคือวัน

ทะเบียนประกอบด้วยรายการต่อไปนี้

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

เลือก PriceSliceLast.Period AS ระยะเวลา, PriceSliceLast.Product AS สินค้า, PriceSliceLast.Supplier AS Supplier, PriceSliceLast.Amount AS Amount จากข้อมูลการลงทะเบียน Price.SliceLast AS PriceSliceLast

เนื่องจากไม่ได้ระบุพารามิเตอร์ การแบ่งส่วนจึงดำเนินการในวันที่ปัจจุบัน - 02/01/2017 เป็นผลให้เราได้รับตารางต่อไปนี้

สมมติว่าเราจำเป็นต้องทำสิ่งเดียวกัน แต่เราต้องการได้รับบันทึกที่มีวันที่น้อยกว่าหรือเท่ากับ 01/15/2017 ในการดำเนินการนี้ คุณจะต้องเปลี่ยนแถวที่มีตารางสไลซ์ล่าสุดในคำขอดังต่อไปนี้

จาก RegisterInformation.Price.SliceLast(&CutDate,) AS PriceSliceLast

แน่นอนว่าก่อนดำเนินการตามคำขอ คุณจะต้องส่งพารามิเตอร์ไปให้คำขอก่อน &วันที่ตัด- ตอนนี้ผลลัพธ์ของแบบสอบถามจะมีลักษณะเช่นนี้

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

จาก RegisterInformation.Price.Last Cut(&CutDate, Product = &Product AND Supplier = &Supplier) AS PriceLast Cut

เป็นผลให้เราได้รับเพียงหนึ่งระเบียนเท่านั้น

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

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

เดาได้ไม่ยากว่าสำหรับชิ้นแรกหลักการทำงานจะเหมือนกัน ยกเว้นว่าจะเลือกบันทึกแรกหลังจากวันที่ตัด

สมมติว่าเราได้รับงานที่ลูกค้าต้องการรับรายงานเกี่ยวกับเอกสาร "การขายสินค้าและบริการ" ที่ป้อนลงในฐานข้อมูลและสำหรับแต่ละเอกสารจำเป็นต้องได้รับราคาจากการลงทะเบียนข้อมูล "ราคาสินค้า" ” ณ วันที่ออกเอกสาร รายงานนี้เขียนขึ้นสำหรับการกำหนดค่า "Manufacturing Enterprise Management" เวอร์ชัน 1.3

บันทึกจากตารางเอกสารจะถูกรวมเข้าด้วยกันโดยบันทึกจากตารางเสมือน "ราคาตามระบบการตั้งชื่อ SliceLast" ตามเงื่อนไขที่สอดคล้องกันของช่วงเวลา ประเภทราคา และรายการ ประเภทราคาได้มาจากรายละเอียดเอกสารชื่อเดียวกัน

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

การใช้เอซีเอส

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

ชุดข้อมูลชุดแรกประกอบด้วยแบบสอบถามต่อไปนี้:

แบบสอบถามเลือกฟิลด์ต่อไปนี้จากตารางเอกสารและส่วนตาราง "ผลิตภัณฑ์": "ลิงก์", "วันที่", "ประเภทราคา", "ระบบการตั้งชื่อ" ตอนนี้เรามาดูชุดข้อมูลที่สอง:

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

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

เมื่อกำหนดค่าโครงสร้างรายงานและสร้างแล้ว เราจะได้ผลลัพธ์ดังต่อไปนี้:

รายงานกำลังทำงาน พิจารณาตัวเลือกในการรับราคาสำหรับวันที่เอกสารในคำขอเดียว

ในคำขอเดียว

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

"SELECT | DocumentNomenclaturePeriod.Document, | DocumentNomenclaturePeriod.Document.Date AS Date, | DocumentNomenclaturePeriod.Document.PriceType AS TypePrice, | DocumentNomenclaturePeriod.Nomenclature, | PriceNomenclature.Price | FROM | (SELECT | Sales of GoodsServicesProducts. Link AS Document, | ovServicesProducts .Nomenclature AS Nomenclatures |. Documents.Sale of GoodsServices.Goods Products |. LEFT CONNECTION Register of Information.PricesNomenclatures |. Clatura. และการขายสินค้าและบริการ >= ระบบการตั้งชื่อราคา |. และการขายสินค้าบริการ.Link.PriceType = ระบบการตั้งชื่อราคา | และ DocumentNomenclaturePeriod.Document.PriceType = PriceNomenclature.PriceType | และ DocumentNomenclaturePeriod.Period = PriceNomenclature.Period"

หลักการของคำขอคือการขอวันที่ที่ใกล้ที่สุดของการเปลี่ยนแปลงราคาสำหรับแต่ละรายการที่ใช้ในส่วนตารางของเอกสาร จากนั้นแนบข้อมูลจากตารางทางกายภาพ “ราคาสินค้า” ตามช่วงเวลา รายการ และประเภทราคาเข้ากับผลลัพธ์การสืบค้น . เมื่อมองแวบแรก คำขออาจดูซับซ้อน แต่จริงๆ แล้วไวยากรณ์ของคำขอนั้นค่อนข้างง่าย

ผลการดำเนินการคล้ายกับผลลัพธ์ของรายงานก่อนหน้า (ดูภาพหน้าจอด้านบน)

วาดข้อสรุป

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

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

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

คำชี้แจงของปัญหา

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

สารละลาย

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

เลือกการขาย GoodsServices.Link, การขาย GoodsServices.Currency, MAXIMUM (อัตราสกุลเงิน.ระยะเวลา) AS ระยะเวลา สถานที่ในช่วงเวลาการตั้งค่าอัตราจากเอกสารการขาย GoodsServices วิธีการขายสินค้าบริการ การเชื่อมต่อด้านซ้าย การลงทะเบียนข้อมูล.อัตราสกุลเงิน วิธีสกุลเงิน อัตราการขายผลิตภัณฑ์ Services.Currency = อัตราสกุลเงินสกุลเงินและการขายสินค้าServices.Date >= อัตราสกุลเงินระยะเวลาการขายซอฟต์แวร์สินค้าและบริการสกุลเงิน //////////////////////////////////////////////// // /////////////////////////// เลือก VTPeriodsSetting Rates.Link, VTPeriodsSetting Rates.Currency, RatesCurrency.Rate จาก VTPeriodsSetting Rates AS VTPeriodsSetting Rates LEFT CONNECTION RegisterInformation อัตราสกุลเงิน AS อัตราสกุลเงินในการตั้งค่า VTPeriodsRate.Period = อัตราสกุลเงิน.ระยะเวลาและการตั้งค่า VTPeriodsRate.Currency = อัตราสกุลเงิน.Currency

ขั้นตอนการขอ:

  1. ได้รับระยะเวลาในการกำหนดอัตราแลกเปลี่ยนของแต่ละเอกสารเอกสารเชื่อมต่อกับตารางทางกายภาพ "อัตราสกุลเงิน" ที่นี่คุณควรใส่ใจกับเงื่อนไขการเชื่อมต่อ สกุลเงินจะต้องเท่ากัน และวันที่ของเอกสาร >= ระยะเวลาของการลงทะเบียนข้อมูล
    จากผลของการเชื่อมต่อดังกล่าว แต่ละเอกสารจะได้รับชุดแถวที่ตรงตามเงื่อนไข: บันทึกอัตราแลกเปลี่ยนทั้งหมดสำหรับสกุลเงินของเอกสาร ซึ่งสร้างขึ้นไม่เกินวันที่ของเอกสาร
    ขั้นตอนสุดท้ายคือการจัดกลุ่มแถวเพื่อให้ได้ระยะเวลาอัตราสูงสุด เป็นผลให้สำหรับแต่ละเอกสารจะได้รับระยะเวลาที่จำเป็นสำหรับการตั้งค่าอัตราแลกเปลี่ยนสำหรับสกุลเงินที่ต้องการ (วันที่สูงสุดสำหรับการตั้งค่าอัตราแลกเปลี่ยน แต่ไม่เกินวันที่ของเอกสาร) ผลลัพธ์จะถูกวางไว้ในตารางชั่วคราว VTPeriodsSettingRates
  2. กำลังเรียนหลักสูตร.ตารางชั่วคราว VTPeriodsSetting Rates เชื่อมต่อกับตาราง PHYSICAL “Currency Rates” การเชื่อมต่อเกิดขึ้นตามสกุลเงินของเอกสารและระยะเวลาการตั้งค่าอัตราที่กำหนดไว้ในตารางชั่วคราวที่สอง

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

คัดลอกมาจาก: http://www.kb.mista.ru/article.php?id=92

รับข้อมูลปัจจุบันจากการลงทะเบียนข้อมูล ณ วันที่ได้รับในคำขอนั้นเอง


มีหลายวิธีในการรับข้อมูลที่คุณต้องการ

1.โดยตรงในแบบสอบถาม (ผ่านตารางลงทะเบียนจริง)

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

การเรียก SliceLast() สามารถใช้ได้โดยการส่งค่าวันที่ที่เตรียมไว้ล่วงหน้าที่คุณต้องการรับค่าเข้าไปเท่านั้น ดังนั้นเรื่องจึงถูกสร้างขึ้นโดยการรวมกันของคำขอหลายรายการ -
หลักคือการเชื่อมต่อแบบสอบถามโดยใช้การลงทะเบียนข้อมูลพร้อมเงื่อนไขวันที่และการค้นหาบันทึกที่มีวันที่สูงสุด (จุด) เชื่อมต่ออยู่

สำหรับการพัฒนาทั่วไป:
หน้าตัดของส่วนหลังในแพลตฟอร์มคืออะไร?

ขึ้นอยู่กับระยะเวลาของการลงทะเบียน (ตามเวลาตามตำแหน่งของนายทะเบียน) VT จะถูกขยายเป็นคำขอต่อไปนี้:
1.ตามเวลา (ปี เดือน...วินาที)

2. ตามตำแหน่งนายทะเบียน
ในกรณีนี้ คุณต้องล้อมส่วนที่เลือกอีกครั้ง

ทั้งหมดนี้สามารถดูได้จากการดูบันทึกทางเทคโนโลยีโดยเปิดใช้งานโหมดการบันทึกคำขอ

2.ระบบการจัดองค์ประกอบข้อมูล (การถ่ายโอนชุดค่าจากตารางหนึ่งไปยังพารามิเตอร์ตารางเสมือน)

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

ตัวอย่างเช่น เรามาสร้างรายงาน - รายการคำสั่งซื้อของลูกค้ากันดีกว่า

ในการดำเนินการนี้ เรามาสร้างชุดข้อมูล "เอกสาร" - คำขอ:

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

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

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

มาดูการเชื่อมต่อชุดกัน ในหน้า "ลิงก์ชุดข้อมูล" ให้เพิ่ม 2 ลิงก์:
1. แหล่งที่มาของการสื่อสารคือชุด “เอกสาร” ผู้รับคือชุด “อัตราสกุลเงิน” นิพจน์ต้นทาง - "วันที่" นิพจน์ปลายทาง - "วันที่" พารามิเตอร์ - "วันที่"
2. แหล่งที่มาของการสื่อสารคือชุด “เอกสาร” ผู้รับคือชุด “อัตราสกุลเงิน” นิพจน์ต้นทาง - "สกุลเงินเอกสาร", นิพจน์ปลายทาง - "สกุลเงิน", พารามิเตอร์ - "สกุลเงิน"

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

มาดูเขตข้อมูลจากการคำนวณกันดีกว่า มาเพิ่มฟิลด์จากการคำนวณ "AmountInAccountingCurrency" นิพจน์ฟิลด์คือ "จำนวนเอกสาร * อัตรา / หลายหลาก"

นอกจากนี้เรายังจะระบุฟิลด์ "จำนวนเอกสาร" และ "AmountInCurrencyAccounting" เป็นทรัพยากร

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

คุณสามารถสร้างรายงานได้



 


อ่าน:



แฟลชไดรฟ์ USB ตัวใดที่น่าเชื่อถือและเร็วที่สุด?

แฟลชไดรฟ์ USB ตัวใดที่น่าเชื่อถือและเร็วที่สุด?

บ่อยครั้งในฟอรัมหลายคนถามเกี่ยวกับวิธีการเลือกแฟลชไดรฟ์และพารามิเตอร์ใดที่คุณควรใส่ใจเพื่อที่จะซื้อ...

การเชื่อมต่อแล็ปท็อปเข้ากับทีวีผ่านสาย USB เพื่อเชื่อมต่อแล็ปท็อปเข้ากับทีวี VGA

การเชื่อมต่อแล็ปท็อปเข้ากับทีวีผ่านสาย USB เพื่อเชื่อมต่อแล็ปท็อปเข้ากับทีวี VGA

สวัสดีทุกคน! ฉันยืมเน็ตบุ๊ก Acer Aspire ONE D270 มาระยะหนึ่งแล้วจึงตัดสินใจทดสอบร่วมกับทีวี ในความเวิ้งว้างอันกว้างใหญ่...

การเปลี่ยนอินเทอร์เฟซ Steam - จากรูปภาพธรรมดาไปจนถึงการนำเสนอทั้งหมดบนหน้าจอ การออกแบบไอน้ำใหม่

การเปลี่ยนอินเทอร์เฟซ Steam - จากรูปภาพธรรมดาไปจนถึงการนำเสนอทั้งหมดบนหน้าจอ การออกแบบไอน้ำใหม่

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

วิธียกเลิกการสมัครสมาชิก Megogo บนทีวี: คำแนะนำโดยละเอียด วิธียกเลิกการสมัครสมาชิก Megogo

วิธียกเลิกการสมัครสมาชิก Megogo บนทีวี: คำแนะนำโดยละเอียด วิธียกเลิกการสมัครสมาชิก Megogo

ลักษณะและข้อดีของบริการ Megogo หนึ่งในบริการวิดีโอที่ใหญ่ที่สุดในยุโรปตะวันออกและ CIS คือ Megogo แค็ตตาล็อกประกอบด้วยมากกว่า 80,000...

ฟีดรูปภาพ อาร์เอสเอส