การถอดรหัส 1c ของอาร์เรย์เซลล์เอกสารสเปรดชีต
ในบทนี้เราจะได้เรียนรู้วิธีสร้างเค้าโครงตารางใน 1C ซึ่งสามารถนำมาใช้ในภายหลังกับ .
ตัวอย่างเช่น ฉันสร้างเค้าโครงสำหรับ .
ฉันเข้าสู่แบบฟอร์มการประมวลผลและไปที่แท็บ "เลย์เอาต์":
บรรณาธิการได้เปิดแล้ว เอกสารสเปรดชีต:
ในหลาย ๆ ด้าน การทำงานกับบรรณาธิการก็คล้ายกับการทำงานใน โปรแกรมเอ็กเซลแต่มีคุณสมบัติบางอย่างที่ฉันอยากจะเน้น
ฉันหมายถึงอะไรตามพื้นที่? โดยทั่วไปแล้ว สิ่งเหล่านี้มีหลายบรรทัดและหลายเซลล์ ซึ่งเป็นส่วนหนึ่งของเอกสารสเปรดชีตที่เราใช้เลือกได้ ปุ่มซ้ายหนู
นี่คือพื้นที่ที่ไฮไลต์สองบรรทัด:
และนี่คือพื้นที่ที่เลือก 2 คอลัมน์:
ตอนนี้เราจะเลือกพื้นที่ที่จุดตัดของสองแถวแรกและสองคอลัมน์แรก:
ดังนั้นนี่คือ หากเราสามารถเลือกพื้นที่ที่ต้องการได้แล้วโดยการคลิกเข้าไป คลิกขวาและโดยการเลือกรายการ "คุณสมบัติ" เราสามารถกำหนดชื่อที่เราจะเข้าถึงได้จากโค้ดของเรา โดยสร้างแบบฟอร์มที่พิมพ์ออกมา:
นี่เป็นทักษะพื้นฐานที่เราต้องเชี่ยวชาญจึงจะสามารถสร้างเค้าโครงตารางได้
วิธีดูชื่อที่ได้รับมอบหมายแล้ว
เรามาดูกันว่าชื่อใดบ้างที่ได้รับการกำหนดให้กับพื้นที่ในเค้าโครงแล้ว?
หากต้องการทำสิ่งนี้ ให้เลือกจากเมนูตัวกำหนดค่า:
นี่คือพื้นที่ "หัวหน้า" ที่เรากำหนดใหม่:
และหากตอนนี้เราเลือกมันในกล่องโต้ตอบแล้วคลิก "เลือก" ระบบจะเลือกอันที่เกี่ยวข้องในตัวแก้ไข พื้นที่เซลล์:
วิธีการตั้งค่าพารามิเตอร์ขอบเขต
บ่อยครั้ง เมื่อสร้างพื้นที่พิมพ์ คุณต้องทำมากกว่าแค่เอาพื้นที่ออกจากเค้าโครง คุณต้องกรอกพารามิเตอร์บางอย่างลงในเซลล์บางเซลล์ด้วย
เราตั้งค่าพารามิเตอร์เหล่านี้สำหรับพื้นที่และค่าที่ระบุจะตกอยู่ในเซลล์ที่ต้องการโดยอัตโนมัติ
ในการทำเช่นนี้ในคุณสมบัติของเซลล์ที่เราต้องการ (โดยที่จะแสดงค่าพารามิเตอร์)...
เราระบุค่า "พารามิเตอร์" ในช่อง "การกรอก" และในช่อง "พารามิเตอร์" เราจะเขียนชื่อที่เราจะเข้าถึงพารามิเตอร์นี้จากโค้ด:
หากคุณไม่ได้ระบุ "พารามิเตอร์" ในการเติม แต่เป็น "เทมเพลต" คุณสามารถระบุข้อความ (เทมเพลต) ในเซลล์ได้โดยใช้ชื่อพารามิเตอร์ในวงเล็บเหลี่ยม:
ในกรณีนี้ ชื่อพารามิเตอร์ (และตำแหน่งในเทมเพลต) จะแสดงอยู่ในวงเล็บเหลี่ยม
วิธีการตั้งค่าพารามิเตอร์การถอดรหัส?
ชื่อของพารามิเตอร์การถอดรหัสถูกตั้งค่าในคุณสมบัติเซลล์เดียวกัน:
ต่อมา จากโค้ด เราจะกำหนดค่าพารามิเตอร์นี้ (ชื่อ "การถอดรหัสระบบการตั้งชื่อ") ให้เป็นค่าที่ต้องการ (ลิงก์ไปยังองค์ประกอบระบบการตั้งชื่อ)
และเมื่อผู้ใช้ดับเบิลคลิกบนเซลล์นี้ ค่าที่กำหนดให้กับพารามิเตอร์การถอดรหัสจะเปิดขึ้น (ในกรณีนี้ แบบฟอร์มรายการรายการจะเปิดขึ้น)
คำแนะนำเพิ่มเติม
เราได้ครอบคลุมพื้นฐานที่จำเป็นแล้ว ตอนนี้ตรวจสอบอย่างรอบคอบ
ดาวน์โหลดฐานข้อมูลนี้ด้วย ในนั้นคือการประมวลผล "ProcessingForTesting"
เค้าโครงมีตัวเลือกแบบตาราง สำรวจพวกมันให้ละเอียดที่สุดเท่าที่จะเป็นไปได้โดยอาศัยเทคนิคที่เราพูดถึงข้างต้น
คำถาม: โปรดบอกวิธีดำเนินการดังต่อไปนี้
ฉันมีผลการค้นหาแสดงในเอกสารสเปรดชีต และมีการถอดเสียงสำหรับเซลล์
ฉันต้องการว่าเมื่อคุณคลิกสองครั้งที่เซลล์ กระบวนการจะดำเนินการ เช่น เปิดรายงานเกี่ยวกับการถอดรหัสเซลล์
คำตอบ: การถอดรหัสเป็นแบบมาตรฐานและไม่ได้มาตรฐาน
ฉัน) มาตรฐาน:
สามารถใช้ได้ทั้งโดยตรงในเอกสารสเปรดชีตและในวัตถุ TabularDocumentField (เช่นเอกสารสเปรดชีตที่วางไม่ได้อยู่ในหน้าต่างแยกต่างหาก แต่อยู่ในแบบฟอร์มโดยตรง)
เพื่อให้การถอดรหัสทำงานได้ต้องปฏิบัติตามเงื่อนไข 3 ข้อ:
1) สำหรับเซลล์ของเอกสารสเปรดชีตที่เราต้องการเรียกใช้ Transcript จะต้องตั้งค่าคุณสมบัติ Transcript parameter ตัวอย่างเช่น เราต้องการดับเบิลคลิกบนเซลล์ที่มีชื่อคู่สัญญาเพื่อเปิดแบบฟอร์มขององค์ประกอบไดเรกทอรีคู่สัญญา เพื่อให้เราสามารถชี้แจงข้อมูลบางอย่างที่ไม่แสดงในรายงานได้ ตั้งค่าคุณสมบัติพารามิเตอร์การถอดรหัสเป็นค่าบางค่า เช่น Counterparty Decryption
2) ในกระบวนการส่งออกพื้นที่เค้าโครงไปยังเอกสารสเปรดชีตผลลัพธ์ คุณต้องกำหนดค่าให้กับพารามิเตอร์ถอดรหัส ประเภทที่ถูกต้อง, ตัวอย่างเช่น:
รหัส 1C v 8.x TabDoc = TabularDocument ใหม่;
การเลือก = Directories.Accounts.Select();
// .................................................
Area.Parameters.Account Decryption = Selection.Link;
TabDoc.Output (พื้นที่);
สิ้นสุดรอบ;
3) ต้องแน่ใจว่าห้ามแก้ไขเซลล์ด้วยการถอดเสียงเช่น จำเป็นต้องระบุ
TabDoc.ViewOnly = จริง;
มิฉะนั้น แม้ว่าเคอร์เซอร์จะดูมีแนวโน้ม แต่เมื่อคุณวางเมาส์เหนือเซลล์ คุณสามารถคลิกเซลล์นั้นได้มากเท่าที่คุณต้องการ แต่จะไม่มีอะไรเกิดขึ้น
II) ที่ไม่ได้มาตรฐาน:
โดยการดับเบิลคลิกบนเซลล์ที่มีการถอดเสียง คุณสามารถเรียกขั้นตอนของคุณได้ หากต้องการดำเนินการนี้ ต้องปฏิบัติตามเงื่อนไขหลายประการ:
1) จะต้องดำเนินการส่งออกเอกสารสเปรดชีตไปยังวัตถุ TabularDocumentField
2) ต้องกำหนดค่าของพารามิเตอร์การถอดรหัสคุณสมบัติเซลล์ เช่น การถอดรหัสบัญชี
3) พารามิเตอร์การถอดรหัส การถอดรหัสคู่สัญญาถูกกำหนดให้กับรายการค่าหรือบ่อยครั้งกว่านั้นคือโครงสร้างซึ่งกรอกด้วยค่าที่ต้องการเมื่อสร้างเอกสารสเปรดชีต โดยเฉพาะอย่างยิ่งสามารถส่งชื่อของรายงานการกำหนดค่ามาตรฐานและพารามิเตอร์ที่ต้องระบุในแบบฟอร์มรายงาน เช่น ช่วงวันที่ หมายเลขบัญชี ฯลฯ ได้ แล้วรายงานนี้เรียกว่าเป็นขั้นตอน
4) สำหรับวัตถุ TabularDocumentField คุณสมบัติ ViewOnly จะต้องตั้งค่าเป็น True
5) รหัสขั้นตอนผู้ใช้จะอยู่ในขั้นตอน
รหัส 1C v 8.x ฟิลด์เอกสารแบบตาราง 1 การประมวลผลการถอดรหัส (องค์ประกอบ การถอดรหัส การประมวลผลมาตรฐาน)
// บรรทัดแรกควรเป็นดังนี้:
การประมวลผลมาตรฐาน = เท็จ;
ฉันจะยกตัวอย่างเล็กๆ น้อยๆ ที่เปิดไดเร็กทอรีรองสำหรับคู่สัญญาที่ "คลิก"
รหัส 1C v 8.x ขั้นตอน ButtonGeneratePress (ปุ่ม)
คู่สัญญา = ไดเรกทอรี
การเลือก = บัญชีเลือก ();
Tab = FormElements.TabularDocumentField1;
เค้าโครง = GetLayout("เค้าโครง");
ในขณะที่ Select.Next() วนซ้ำ
ถ้า Sample.ThisGroup = False แล้ว
Area = Layout.GetArea("สตริง");
Area.Parameters.Account = Selection.Name;
.................................................................................................
StructureDecryption = โครงสร้างใหม่;
โครงสร้างการถอดรหัส.Insert("บัญชี",Selection.Link);
โครงสร้างการถอดรหัสInsert(".......",.........);
.........................................................................
Area.Parameters.Account Decryption = โครงสร้างการถอดรหัส;
องค์ประกอบของแบบฟอร์ม TabularDocumentField1.Output (พื้นที่);
มิฉะนั้น
ดำเนินการต่อ;
สิ้นสุดถ้า;
สิ้นสุดรอบ;
องค์ประกอบของฟอร์มTabularDocumentField1.ViewOnly = True;
สิ้นสุดขั้นตอน
ขั้นตอน TabularDocumentField1DecryptionProcessing (องค์ประกอบ การถอดรหัส การประมวลผลมาตรฐาน)
การประมวลผลมาตรฐาน = เท็จ;
ข้อตกลง = Directories.Agreements.GetListForm();
Agreements.ParameterSelectionByOwner = Explanation.Counterparty;
ข้อตกลงเปิด();
สิ้นสุดขั้นตอน