การเชื่อมต่อชุดข้อมูล 1c แผนภาพเค้าโครงข้อมูล (1C SKD)
บางครั้งเพื่อให้ได้ผลลัพธ์เค้าโครงบางอย่าง จำเป็นต้องสร้างการเชื่อมโยงระหว่างชุดข้อมูลในระบบควบคุมการเข้าออก เราจะพยายามพูดถึงเมื่อจำเป็นและทำอย่างไรในบทความของเรา
รูปแบบโครงร่างข้อมูลที่นำมาใช้ใน 1C รองรับแหล่งข้อมูลสามประเภท (รูปที่ 1)
แหล่งข้อมูล
แหล่งข้อมูลที่ชัดเจนและใช้บ่อยที่สุดโดยนักพัฒนาคือแบบสอบถาม
ตัวออกแบบแบบสอบถามที่ใช้งานใน 1C เวอร์ชัน 8 นั้นสะดวกมากและในกรณีส่วนใหญ่คุณสามารถเชื่อมโยงหลายตารางเข้าด้วยกันและทำการจัดกลุ่มและการเลือกที่จำเป็นได้โดยตรง
ในกรณีที่ซับซ้อน เมื่อจำเป็นหรือเหมาะสมกว่าในการใช้การเรียกใช้โค้ดบางส่วน (เช่น การโหลดข้อมูลจากไฟล์ของบุคคลที่สาม) หรือเมื่อไม่สามารถใช้แบบสอบถามได้ แหล่งข้อมูล "Object" จะมาที่ การช่วยเหลือ. รหัสที่ดำเนินการในโมดูลจะต้องมีโครงสร้างบางอย่างที่เอาต์พุตที่ระบบควบคุมการเข้าออกสามารถเข้าถึงได้
แหล่งข้อมูลที่สามคือ “ยูเนี่ยน” ที่จริงแล้วแหล่งข้อมูลนี้ถือได้ว่าเป็นการสื่อสารประเภทหนึ่ง มันรวม (ลดหลายตารางให้เป็นหนึ่งเดียว) โดยไม่มีการจับคู่ แต่เป็นความบังเอิญของบางฟิลด์ นั่นคือ หากตารางสองตารางที่รวมเข้าด้วยกันมี 3 และ 4 แถว ตามลำดับ แหล่งข้อมูลที่เป็นผลลัพธ์จะมี 7 แถว
การกำหนดปัญหา
เพื่อเป็นพื้นที่ทดสอบ เราจะเลือกฐาน UPP เวอร์ชัน 1.3.92.3 ซึ่งปฏิบัติการใน การสมัครปกติ.
เราได้รับมอบหมายงานต่อไปนี้: ใช้เพียงระบบควบคุมการเข้าถึงเท่านั้น สร้างรายงานที่จะแสดงตารางของรายการที่ซื้อจากเอกสาร พร้อมด้วยราคาที่นำมาจากไฟล์ที่ส่งโดยคู่สัญญา
ดังนั้นเราต้อง:
- เอา ส่วนที่เป็นตารางเอกสารการรับ;
- อัปโหลดไฟล์ไปยังแหล่งข้อมูล "Object"
- เชื่อมโยงแหล่งข้อมูลทั้งสองนี้ด้วยพารามิเตอร์บางตัว (ในกรณีของเรา นี่จะเป็นโค้ด)
- แสดงตารางผลลัพธ์
กระบวนการดำเนินการ
มาดูขั้นตอนทั้งหมดที่ระบุไว้:
- เราสร้างแบบสอบถามสำหรับส่วนที่เป็นตารางของเอกสารใบเสร็จรับเงิน (รูปที่ 2)
รูปที่ 2
- สร้างวัตถุชุดข้อมูล (รูปที่ 3)
รูปที่ 3
สิ่งสำคัญคือต้องใส่ใจกับ "ชื่อของวัตถุที่มีข้อมูล" นี่คือชื่อที่เราจะต้องระบุในรหัสของโมดูลรายงาน
- ไปที่โมดูลรายงานและสร้างขั้นตอน "เมื่อเขียนผลลัพธ์" ที่นั่น (รูปที่ 4)
รูปที่ 4
ขั้นตอนการรับข้อมูลจาก ไฟล์ภายนอกเราจะไม่อธิบาย แต่จะให้ความสนใจกับส่วนของโค้ดที่ต้องแสดงในรูปแบบเพื่อให้เราสามารถรับข้อมูลสำหรับ "ชุดข้อมูล 2" (รูปที่ 5)
รูปที่ 5
สำคัญ! เมื่อสร้าง "วัตถุ" ในรหัสขั้นตอนระหว่างการเชื่อมโยง ค่าของพารามิเตอร์ StandardProcessing ต้องเป็นเท็จ
ไปที่แท็บ "ลิงก์ชุดข้อมูล"
การเชื่อมโยงชุด
ไปที่แท็บที่เกี่ยวข้องของแผนภาพ (รูปที่ 6)
เราเห็นส่วนของตารางที่คล้ายกับส่วนของตารางที่อยู่ในตัวออกแบบคิวรีมาก โดยมีข้อยกเว้นบางประการ ไม่สามารถเลือกช่องทำเครื่องหมาย "ทั้งหมด" สำหรับชุดต้นทางการสื่อสารและชุดปลายทางการสื่อสาร แต่มีการเพิ่มคอลัมน์เพิ่มเติมหลายคอลัมน์
ในความสัมพันธ์ของชุดข้อมูล คุณสามารถสร้างความสัมพันธ์ที่คล้ายกับการรวมภายนอกด้านซ้ายของตัวสร้างแบบสอบถามเท่านั้น
ก่อนที่จะสร้างการเชื่อมต่อ เรามาตัดสินใจเกี่ยวกับวัตถุประสงค์ของคอลัมน์กันดีกว่า:
- แหล่งที่มาของลิงก์คือชุดข้อมูลชุดแรกที่จะใช้ค่าที่มีอยู่ทั้งหมด
- ตัวรับสัญญาณการสื่อสาร - ชุดข้อมูลที่จะเลือกค่าที่สอดคล้องกับเงื่อนไขของเรา
- นิพจน์แหล่งที่มา - ฟิลด์หรือนิพจน์ของชุดข้อมูลแรกที่จะมีการเปรียบเทียบ
- นิพจน์ปลายทางคือฟิลด์หรือนิพจน์ของชุดที่ขึ้นต่อกัน
- พารามิเตอร์ – หากคุณระบุชื่อพารามิเตอร์ในฟิลด์นี้ การสื่อสารกับชุดตัวรับจะดำเนินการตามค่าที่ระบุในพารามิเตอร์เท่านั้น
- รายการพารามิเตอร์ – กำหนดความเป็นไปได้ของการใช้รายการค่าเป็นพารามิเตอร์
- เงื่อนไขการเชื่อมต่อ – โดยการระบุนิพจน์ที่นี่โดยใช้ฟิลด์ต้นทาง คุณสามารถสร้างเงื่อนไขได้ ซึ่งการปฏิบัติตามนี้จะทำหน้าที่เป็นสัญญาณในการสร้างการเชื่อมต่อ
- ค่าเริ่มต้น – แสดง ค่าเริ่มต้นการสื่อสาร;
- ความสัมพันธ์บังคับ - กำหนดว่าฟิลด์ที่ใช้ในแหล่งที่มา (ตั้งค่าเป็น FALSE) หรือปลายทาง (ตั้งค่าเป็น TRUE) ถูกเปิดใช้งานหรือไม่ และจากสิ่งนี้จะเป็นการเพิ่มความสัมพันธ์ให้กับโครงร่าง
ดังนั้น:
- แหล่งที่มาของการสื่อสารจะเป็นผลมาจากคำขอของเรา
- วัตถุจะทำหน้าที่เป็นตัวรับ
- นิพจน์ต้นฉบับจะเป็น "NomenclatureCode";
- ผู้รับสำนวน "ระบบการตั้งชื่อ";
- การสื่อสารจะมีผลบังคับใช้ (รูปที่ 7)
หากเราระบุชื่อของระบบการตั้งชื่อใดๆ หรือประเภทของการทำซ้ำ หรือสิ่งอื่นใดที่เป็นเงื่อนไขในการเชื่อมต่อ เราก็จะได้ตัวอย่างที่แม่นยำมากขึ้นสำหรับงานของเรา ผลลัพธ์ของการกระทำของเราสามารถดูได้ในรูปที่ 8
รูปที่ 8
ไม่มีรายการที่ตรงกันสำหรับสองบรรทัดล่างสุดของรายงานในไฟล์การกำหนดราคา
41
ฉันเพิ่งสร้างรายงานโดยมีจำนวนคอลัมน์ไม่ จำกัด ฉันไม่อยากยุ่งกับรหัส ดังนั้นฉันจึงตัดสินใจทำในระบบควบคุมการเข้าออก ไม่มีปัญหากับสิ่งนี้ จำเป็นต้องขยายผลลัพธ์ไปยังเลย์เอาต์ที่กำหนดเอง (ส่วนหัวของคุณเอง +...
27
แม้ว่านักเรียน CDS จะเจอสิ่งนี้ในวันแรกหรือวันที่สอง แต่ควรอยู่ในส่วนคำถามที่พบบ่อย ตัวอย่างง่ายๆ ของการแสดงผลรายงานบนโครงร่างโดยทางโปรแกรม โดยใช้การตั้งค่าเริ่มต้น //รับไดอะแกรมจาก...
18
เมื่อสร้างรายงานบนระบบควบคุมการเข้าถึง ตามค่าเริ่มต้น การจัดกลุ่มทั้งหมดจะถูกขยาย แต่บางครั้งก็จำเป็นต้องแสดงรายงานที่มีการจัดกลุ่มแบบยุบทันทีหลังจากรุ่น! รหัสนี้ในโมดูลรายงานให้คุณยุบ...
9
สิ่งที่จำเป็นในการพัฒนารายงานคือสำหรับผู้ใช้ที่มีสิทธิ์จำกัด รายงานจะถูกสร้างขึ้นอย่างสมบูรณ์โดยไม่ต้องตรวจสอบสิทธิ์! โดยเฉพาะอย่างยิ่งหากมีการกำหนดค่า RLS มีหลายวิธีในการดำเนินการนี้: 1. ติดตั้ง...
ระบบการจัดองค์ประกอบข้อมูลสามารถใช้ชุดข้อมูลได้หลายชุด และค่อนข้างสมเหตุสมผลที่ชุดข้อมูลเหล่านี้ควรเชื่อมโยงถึงกัน โดยการเปรียบเทียบกับภาษาคิวรี 1C ชุดข้อมูลอาจเป็นหรือก็ได้ ในบทความนี้เราจะพูดถึง การเชื่อมต่อชุดข้อมูลในระบบควบคุมการเข้าออก.
เมื่อมองแวบแรก อาจไม่ชัดเจนว่าทำไมคุณจึงต้องสร้างชุดข้อมูลหลายชุดแล้วรวมเข้าด้วยกัน หากคุณสามารถรวมตารางภายในชุดข้อมูลชุดเดียวได้ มีเหตุผลอย่างน้อยหนึ่งข้อสำหรับสิ่งนี้ - ในกรณีที่ใช้ชุดข้อมูลภายนอก ดังที่คุณทราบ เมื่อเราเขียนแบบสอบถามสำหรับชุดข้อมูล ACS เราไม่สามารถส่งผ่านเข้าไปได้ ตัวอย่างเช่น แม้ว่าคำขอปกติจะกระทำได้ค่อนข้างง่าย ในกรณีที่ใช้ระบบควบคุมการเข้าออก เราถูกบังคับให้โอนตารางค่าให้เป็น . ดังนั้นจึงจำเป็นต้องเชื่อมต่อชุดข้อมูล ฉันขอทราบทันทีว่าชุดข้อมูลสามารถเชื่อมต่อได้โดยใช้เท่านั้น การเชื่อมต่อด้านซ้าย. ดังนั้นคุณจะไม่เห็นช่องทำเครื่องหมายที่รับผิดชอบประเภทของการเชื่อมต่อตารางซึ่งแตกต่างจากที่นี่
ตอนนี้เรามาดูสถานการณ์โดยใช้ตัวอย่างที่เราสามารถพิจารณาการเชื่อมต่อชุดข้อมูลในระบบควบคุมการเข้าออก สมมติว่าเรามีไดเร็กทอรี สินค้าซึ่งเราสามารถรับได้จากซัพพลายเออร์ที่แตกต่างกัน และเราต้องการสร้างรายงานราคาสินค้าตามซัพพลายเออร์ เพื่อเลือกซัพพลายเออร์ที่มีราคาที่เหมาะสมที่สุด และเราจะใช้ราคาที่เป็นปัจจุบันในขณะนั้น เช่น ผ่านบริการเว็บจากเว็บไซต์ของซัพพลายเออร์
ดังนั้น สำหรับสินค้า เราจะมีชุดข้อมูลที่ได้รับโดยใช้คำขอ และสำหรับราคา เราจะมีชุดข้อมูลที่ได้รับจากแหล่งภายนอก
ตอนนี้ไปที่บุ๊กมาร์กแล้ว ความสัมพันธ์ของชุดข้อมูลและทำการตั้งค่าตามภาพ
บนบุ๊กมาร์ก การตั้งค่าขั้นแรก เรามาสร้างผลลัพธ์พื้นฐานของบันทึกโดยละเอียดกัน
ปล่อยให้มันอยู่ในไดเรกทอรีของเรา สินค้ามีรายการต่อไปนี้
เราเรียกใช้รายงานและดูภาพต่อไปนี้
นั่นคือเราเห็นว่าชุดข้อมูลเชื่อมโยงกันตามกฎทั้งหมด การเชื่อมต่อด้านซ้าย
บนบุ๊กมาร์ก ความสัมพันธ์ของชุดข้อมูลคุณสามารถระบุพารามิเตอร์เพิ่มเติมบางส่วนในช่องที่เหมาะสมได้ แต่พวกมันถูกใช้ค่อนข้างน้อย คุณสามารถอ่านเพิ่มเติมได้ในเอกสารทางเทคนิคและบนดิสก์ ITS
ในกรณีนี้ ช่องทำเครื่องหมาย จำเป็น จะกำหนดว่าฟิลด์ที่ใช้ในแหล่งที่มา (ตั้งค่าเป็น FALSE) หรือในปลายทาง (ตั้งค่าเป็น TRUE) เปิดใช้งานอยู่ และเพิ่มความสัมพันธ์ให้กับโครงร่างตามนี้
สำหรับชุดข้อมูลแต่ละชุด คุณสามารถตั้งค่าการตรวจสอบลำดับชั้นได้:
ตัวเลือกนี้จะใช้ถ้าเงื่อนไขการเลือกสำหรับฟิลด์จำเป็นต้องได้รับการประมวลผลด้วยวิธีที่ไม่เป็นมาตรฐาน สามารถระบุฟิลด์ด้วยชุดข้อมูลที่ได้มาเพื่อตรวจสอบว่าลิงก์อยู่ในลำดับชั้นของค่าที่กำหนดหรือไม่คำถาม 11.33 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม การใช้ชุดข้อมูลหลายชุดเป็นที่ยอมรับหรือไม่
- เมื่อใช้ชุดข้อมูล – วัตถุเท่านั้น
- เมื่อใช้ชุดข้อมูลเท่านั้น - แบบสอบถาม
คำตอบที่ถูกต้องคือข้อแรกยอมรับได้ทุกกรณี
คำถาม 11.10 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม เมื่อกำหนดความสัมพันธ์ระหว่างชุดข้อมูลสองชุดในแผนภาพองค์ประกอบข้อมูล
- นักพัฒนาเลือกตัวเลือกการเชื่อมต่อ (ซ้าย, เต็ม)
- การรวมด้านซ้ายของชุดแรกถึงชุดที่สองจะใช้เสมอ
- การรวมทางซ้ายของชุดที่สองถึงชุดแรกจะถูกใช้เสมอ
- มีการใช้การรวมทางซ้ายของชุดแรกถึงชุดที่สอง ในบางกรณี การรวมภายในจะถูกสร้างขึ้น
คำตอบที่ถูกต้องคือที่สี่ ชุดข้อมูลเชื่อมต่อกันด้วยการรวมทางซ้ายหรือภายในเท่านั้น
คำถาม 11.13 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม ในกรณีใดบ้างที่จำเป็นต้องกำหนดค่าการตรวจสอบลำดับชั้นบนแท็บ "ชุดข้อมูล" ในหน้าต่างตัวออกแบบไดอะแกรมโครงร่าง
- หากคุณจำเป็นต้องห้ามการรับผลรวมตามลำดับชั้นของคุณเองที่แตกต่างจากมาตรฐาน
- หากคุณต้องการอนุญาตให้ได้รับผลรวมตามลำดับชั้นของคุณเอง แตกต่างจากลำดับมาตรฐาน
- หากคุณต้องการห้ามการติดตั้งการเลือกเพื่อเข้าสู่กลุ่มของลำดับชั้นของคุณเองที่แตกต่างจากลำดับชั้นมาตรฐาน
- หากคุณต้องการอนุญาตให้รวมการเลือกไว้ในกลุ่มของลำดับชั้นของคุณเอง แตกต่างจากลำดับชั้นมาตรฐาน
คำตอบที่ถูกต้องคือข้อที่ 4 คำอธิบายอยู่ในโพสต์
คำถาม 11.16 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม การเชื่อมต่อประเภทใดระหว่างข้อมูลสองชุดที่สามารถนำไปใช้ในระบบองค์ประกอบได้
- ทั้งหมดในภาษาคิวรี: "ทั้งหมดถึงทั้งหมด", "ซ้าย", "ขวา", "ด้านใน" และ "เต็ม"
- เฉพาะ "ทั้งหมดถึงทั้งหมด", "ซ้าย", "ขวา" และ "ด้านใน"
- เฉพาะ "ซ้าย" และ "ด้านใน"
- เฉพาะ "ทั้งหมดถึงทั้งหมด", "ซ้าย" และ "ด้านใน"
- "ซ้าย", "ขวา", "ด้านใน" และ "เต็ม" เท่านั้น
คำตอบที่ถูกต้องคือที่สี่ ตามผลการทดสอบ อันที่จริงอันที่สามนั้นถูกต้อง
คำถาม 11.17 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม เมื่อตั้งค่าความสัมพันธ์ระหว่างชุดข้อมูลสองชุด แฟล็ก "ความสัมพันธ์ที่จำเป็น" จะถูกเลือก การกระทำของผู้ใช้จะทำให้การเชื่อมต่อล้มเหลวในกรณีใด
- การเชื่อมต่อข้อมูลจากทั้งสองชุดจะถูกนำมาใช้โดยไม่คำนึงถึงการตั้งค่าที่ผู้ใช้ทำไว้
- รายการฟิลด์ที่เลือกจะแสดงเฉพาะฟิลด์ในชุดด้านซ้ายเท่านั้น
- ในรายการฟิลด์ที่เลือก จะมีการระบุเฉพาะฟิลด์ในชุดด้านขวาเท่านั้น
- ในรายการฟิลด์ที่เลือก ระบุเฉพาะฟิลด์ของชุดด้านซ้าย เลือกฟิลด์ของชุดด้านขวา
- ในรายการฟิลด์ที่เลือก ระบุเฉพาะฟิลด์ของชุดด้านขวาเท่านั้น เลือกฟิลด์ของชุดด้านซ้าย
คำตอบที่ถูกต้องคือข้อที่สอง ถ้ามีชุดเดียว (และแหล่งที่มา) ก็ไม่มีอะไรให้เชื่อมต่อ
คำถาม 11.39 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม ข้อมูลภายนอกถูกถ่ายโอนไปยังชุด - วัตถุในระบบองค์ประกอบข้อมูลอย่างไร
- โดยอาศัยภาษาในตัวผ่านตัวประมวลผลองค์ประกอบข้อมูล
- การใช้ภาษาในตัวผ่านตัวสร้างโครงร่าง
- โดยใช้ภาษาในตัวผ่านตัวประมวลผลเอาต์พุตของระบบองค์ประกอบข้อมูล
คำตอบที่ถูกต้องคือคำตอบแรกผ่านโปรเซสเซอร์
แผนภาพเค้าโครงข้อมูล (1C SKD)- ตัวออกแบบที่สะดวกสำหรับการสร้างรายงานที่ซับซ้อนใน 1C: ผลิตภัณฑ์ซอฟต์แวร์ระดับองค์กรที่มีส่วนช่วยในการพัฒนาและติดตามระบบอัตโนมัติในการผลิตทำให้มีความยืดหยุ่นและสวยงามที่สุดเท่าที่จะเป็นไปได้ในเวลาน้อยที่สุด ข้อได้เปรียบเพิ่มเติมของ Data Composition Scheme (1C SKD) คือการสร้างแบบฟอร์มรายงานที่มีการควบคุมโดยอัตโนมัติ และเมื่อใด การพัฒนาต่อไปทิศทางนี้เป็นปัจจัยสำคัญในการเลือกวิธีการจัดทำรายงาน แต่เนื่องจากความซับซ้อนของโครงสร้างของ Data Composition Scheme (1C SKD) และการตั้งค่าจำนวนมาก จึงมักจะนำไปสู่การพัฒนารายงานที่ยาวนานกว่าผ่าน "ผู้ออกแบบแบบฟอร์มเอาท์พุต" ดังนั้นโปรแกรมเมอร์ 1C จำเป็นต้องเข้าใจความซับซ้อนทั้งหมดของ Data Composition Scheme (1C DCS) เพื่อเร่งเวลาในการพัฒนาสำหรับการสร้างรายงานให้เร็วขึ้น
มาดูสามแท็บแรกของ Data Composition Scheme (1C SKD) - ชุดข้อมูล การเชื่อมต่อชุดข้อมูล และฟิลด์จากการคำนวณ
ชุดข้อมูลใน 1C SKD
ชุดข้อมูลประกอบด้วยความสามารถ การสร้างสามวัตถุ – แบบสอบถาม วัตถุ และสหภาพ มาดูแต่ละรายการกันดีกว่า:
นี่เป็นแบบสอบถามปกติที่สร้างขึ้นโดยใช้ปุ่มตัวสร้างแบบสอบถาม หากตั้งค่าสถานะป้อนอัตโนมัติ รายละเอียดที่เลือกทั้งหมดจะถูกรวมไว้ในฟิลด์ของชุดข้อมูลโดยอัตโนมัติ นอกจากนี้ยังสามารถปรับแต่งการกรอกข้อมูลในฟิลด์ในคำขอบนแท็บองค์ประกอบข้อมูลซึ่งมีสามแท็บ:
ตาราง ที่นี่เลือกตารางที่จะมีส่วนร่วมในการสร้างรายงาน โดยปกติแล้วข้อมูลเริ่มต้นจะถูกเลือก เนื่องจากในแท็บตารางและฟิลด์ เราได้เลือกเอกสาร ไดเร็กทอรี รีจิสเตอร์ที่เราต้องการแล้ว...
ฟิลด์ ที่นี่เราเลือกวัตถุเหล่านั้นที่ควรรวมไว้ในรายงาน ธงลูกระบุว่าจะมีองค์ประกอบลูกที่สามารถเข้าถึงได้สำหรับวัตถุหรือไม่ มันเป็นตรรกะที่จะไม่สามารถตั้งค่าสำหรับสตริง ตัวเลข และข้อมูลที่คล้ายกัน ตั้งค่าสถานะเป็น True
เงื่อนไข ที่นี่เราเลือกวัตถุเหล่านั้นที่สามารถใช้ได้ภายใต้เงื่อนไขในระบบควบคุมการเข้าออก
งานบางส่วนทำในรูปแบบการจัดองค์ประกอบข้อมูล และบางส่วนทำโดยทางโปรแกรม มาดูตัวอย่างง่ายๆ กัน:
ขั้นแรกเราจะสร้างไดอะแกรมเลย์เอาต์สำหรับเลย์เอาต์ข้อมูลของเอกสารและเรียกว่า SKD (เช่น 1C SKD) ในนั้นเราจะสร้างออบเจ็กต์ชุดข้อมูลจากนั้นกรอกข้อมูลในฟิลด์เช่นเรามีเอกสาร โดยมีส่วนของสินค้าเป็นตารางพร้อมรายละเอียด - ระบบการตั้งชื่อ ปริมาณ และราคา
มาเพิ่มสามฟิลด์แล้วกรอกชื่อรายละเอียดในแต่ละคอลัมน์ คอลัมน์ที่เหลือจะถูกกรอกโดยอัตโนมัติ:
เรามาสร้างปุ่มบนแบบฟอร์มเอกสารอธิบายกลไกการทำงานกันเถอะ แบบฟอร์มควบคุม:
&บนไคลเอนต์
ขั้นตอนการพิมพ์()
รายงานของเรา = PrintOnServer(); //เรียกใช้ฟังก์ชันบนเซิร์ฟเวอร์
รายงานของเราแสดง(); //แสดงรายงานที่สร้างขึ้น
สิ้นสุดขั้นตอน
&บนเซิร์ฟเวอร์
ฟังก์ชั่น PrintOnServer()
DocumentObject = FormAttributeValue (“วัตถุ”);
//เราวางส่วนที่เป็นตาราง ผลิตภัณฑ์ ในโครงสร้างที่มีชื่อ ProductsSKD ในลักษณะเดียวกับที่เราระบุใน SKD เอง ชื่อของวัตถุที่มีข้อมูล
ชุดข้อมูล = โครงสร้างใหม่;
DataSet.Insert("ProductsSKD", DocumentObject.Products);
//เราได้รับเค้าโครงของเราและตั้งค่าเริ่มต้นเพื่อให้การตั้งค่าเอาท์พุตรายงานทั้งหมดถูกนำมาจากเค้าโครงของเรา
OurLayout = DocumentObject.GetLayout(“SKD”);
การตั้งค่า = OurLayout.DefaultSettings;
//สร้างเค้าโครงเค้าโครงข้อมูลด้วยการตั้งค่าของเรา
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutComposer.Execute (เค้าโครงของเรา, การตั้งค่า);
//ดำเนินการจัดองค์ประกอบข้อมูลด้วยชุดข้อมูลของเรา
DataCompositionProcessor = ใหม่ DataCompositionProcessor;
DataCompositionProcessor.Initialize (LayoutLayout, DataSet);
//เราสร้าง เอกสารสเปรดชีตและแสดงรายงานของเราไว้ในนั้น
ReportDocument = TabularDocument ใหม่;
OutputProcessor = OutputProcessorDataCompositionResultInTabularDocument ใหม่;
OutputProcessor.SetDocument (รายงานเอกสาร);
OutputProcessor.Output (DataCompositionProcessor);
รายงานเอกสารส่งคืน;
EndFunction
หากคุณต้องการ คุณสามารถดูพื้นที่ของเลย์เอาต์อื่น ๆ และแสดงในรายงานนี้ได้ ตัวอย่างเช่น เรามีเลย์เอาต์มาตรฐานสำหรับการสร้างคำสั่งจ่ายเงินและส่วนหัวก็ถูกสร้างขึ้นมาเป็นอย่างดี ดังนั้นเพื่อไม่ให้ทำ งานที่ไม่จำเป็น ก่อนอื่นเราจะได้เค้าโครง แสดงส่วนหัว จากนั้นเราจะสร้างและแสดงรายงานของเราเกี่ยวกับระบบควบคุมการเข้าออก
เกี่ยวกับ การรวมกัน
เราสามารถวางคำสั่งและอ็อบเจ็กต์ของเราไว้ในนั้นได้ แต่ต่างจากการเชื่อมต่อตรงที่มันเพียงเพิ่มตารางเข้าด้วยกัน นั่นคือ ถ้าเราเชื่อมต่อสองตารางที่เหมือนกัน เราจะได้เป็นหนึ่งตาราง และเมื่อรวมกันแล้ว มันจะเพิ่มเป็นสองเท่า มาดูกัน ด้วยตัวอย่างง่ายๆ:
เรามีตาราง:
เมื่อสื่อสารแล้วเราจะได้รับ:
และเมื่อรวมกันแล้ว:
ตอนนี้เรามาดูการกรอกคอลัมน์ในชุดข้อมูลกัน (เราจะข้ามบางคอลัมน์เนื่องจากเกี่ยวข้องกับแท็บอื่นๆ เราจะกลับมาที่คอลัมน์เหล่านั้นในบทความต่อๆ ไป):
- สนามระบุชื่อทั่วไปของแอตทริบิวต์
- เส้นทางระบุชื่อของรายละเอียดที่เราจะติดต่อในระบบควบคุมการเข้าออกเช่นใน เขตข้อมูลจากการคำนวณ;
- ชื่อระบุชื่อของแอตทริบิวต์ที่จะแสดงในรายงาน
- ข้อจำกัดของสนามระบุความพร้อมของข้อกำหนดนี้
- ข้อจำกัดของรายละเอียดเราระบุความพร้อมใช้งานขององค์ประกอบย่อย สิ่งสำคัญคือหากระบุรายละเอียดความพร้อมใช้งาน ฟิลด์นั้นจะพร้อมใช้งาน บางทีกลไกนี้อาจมีการเปลี่ยนแปลงในการเปิดตัวในอนาคต
- นิพจน์ที่ใช้คำนวณการแสดงฟิลด์สะดวกในการใช้เมื่อเราจำเป็นต้องเปลี่ยนเอาท์พุตของรายละเอียดเล็กน้อย เช่น เราต้องการหลังชื่อ ระบบการตั้งชื่อถูกแสดง คลังสินค้าที่ตั้งอยู่จึงกรอกข้อมูลดังนี้ รายการ + “อยู่ในโกดัง” + โกดัง ฉันขอย้ำอีกครั้งว่าการเข้าถึงรายละเอียดนั้นดำเนินการผ่านชื่อที่ระบุในคอลัมน์ เส้นทาง;
- การเรียงลำดับการแสดงออกกลไกที่สะดวกสำหรับการตั้งค่าการเรียงลำดับรายงาน โดยสามารถกำหนดเงื่อนไขได้ด้วยตนเอง คล้ายกับจุดก่อนหน้า แต่ดังที่แสดงให้เห็นในทางปฏิบัติ กลไกนี้มักจะไม่ทำงานตามที่เราต้องการ และฉันขอแนะนำให้คุณใช้การเรียงลำดับแบบมาตรฐาน
- ประเภทค่าระบุประเภทของค่าของแอตทริบิวต์ ซึ่งจะต้องกรอก หากคุณใช้ฟิลด์ต่อไปนี้
- ค่าที่มีอยู่ใช้งานได้เมื่อเต็มเท่านั้น ประเภทค่าให้เปิดแบบฟอร์มและในคอลัมน์ ความหมายเราระบุองค์ประกอบที่ต้องเปลี่ยนตามประเภทอาจเป็นวัตถุหรือตัวเลขที่กำหนดไว้ล่วงหน้าก็ได้ เช่น รายละเอียดมีค่าง่าย ๆ ใน การนำเสนอเราระบุสิ่งที่เราจำเป็นต้องเปลี่ยนแปลง ตัวอย่างประเภทบูลีน:
- ตกแต่ง – การตั้งค่ามาตรฐานรูปแบบฟิลด์ ซึ่งคล้ายกับการตั้งค่าในแบบฟอร์มที่ได้รับการจัดการ ช่วยให้คุณปรับแต่งผลลัพธ์ของรายละเอียดบางอย่างได้แม่นยำและสวยงามยิ่งขึ้น
การเชื่อมต่อชุดข้อมูลใน 1C SKD
ที่นี่จะมีการติดตั้งเท่านั้น ออกจากการเข้าร่วมบนหลักการที่คล้ายคลึงกัน การเชื่อมต่อในการร้องขอใน แหล่งที่มาของการสื่อสารระบุตารางหลักสำหรับการเชื่อมต่อค่ะ ผู้รับเพิ่มเติม. ใน แหล่งที่มาของการแสดงออกและ ตัวรับการแสดงออกเราระบุรายละเอียดที่การสื่อสารจะเกิดขึ้น เราจะดูคอลัมน์ที่เหลือโดยละเอียดมากขึ้นเมื่อเราดูที่แท็บ ตัวเลือก. หากไม่มีการเชื่อมต่อเพิ่มเติมกับพารามิเตอร์ ขอแนะนำให้ทำการเชื่อมต่อในคำขอ ซึ่งจะช่วยให้รายงานเร็วขึ้น