ส่วนของเว็บไซต์
ตัวเลือกของบรรณาธิการ:
- การใช้สไตล์ใน Excel วิธีสร้างสไตล์ใหม่ของคุณเอง
- เกิดข้อผิดพลาดอะไรระหว่างการติดตั้ง?
- สถานภาพทางสังคมของบุคคลในสังคม
- การตีความข้อผิดพลาดแบบเต็ม
- วิธีโทรหาผู้ให้บริการ Beeline "สด" โดยตรง: หมายเลขโทรศัพท์โทรฟรี
- โปรแกรมอ่าน PDF ที่จำเป็น
- Lineage II - Interlude: The Chaotic Throne จะไม่เริ่มต้นใช่ไหม
- การกู้คืนรหัสผ่าน Excel
- วิธีเพิ่มหน้าปัดนาฬิกาใหม่บนนาฬิกาอัจฉริยะ Android Wear
- แผนภาษีที่ทำกำไรได้มากที่สุดในชีวิต
การโฆษณา
1 วินาที 8.3 เลือกจากตารางค่า มีวิธีการใดบ้างและวิธีค้นหาค่าหลายค่าพร้อมกัน |
ตารางค่าเป็นวัตถุสากลเฉพาะที่ออกแบบมาเพื่อจัดเก็บข้อมูลในรูปแบบตาราง ความแตกต่างที่สำคัญระหว่างวัตถุตารางและแอปพลิเคชันคือการไม่มีการเชื่อมโยงกับตารางฐานข้อมูลทางกายภาพ ตารางค่ามีเฉพาะใน แรมซึ่งในด้านหนึ่งให้โอกาสที่ไม่เหมือนใคร และอีกด้านหนึ่งก็กำหนดข้อจำกัดบางประการ อย่างไรก็ตาม ความเป็นไปได้ของการโต้ตอบกับตารางนั้นเทียบได้กับการโต้ตอบกับออบเจ็กต์ที่มีอยู่จริงในฐานข้อมูล ในอดีตตารางค่าใน 1C มีวัตถุประสงค์สองประการคือเป็นอะนาล็อกเสมือน ตารางที่มีอยู่แต่ในขณะเดียวกัน ยังเป็นองค์ประกอบควบคุมอีกด้วย เมื่อย้ายไปยังแอปพลิเคชันที่มีการจัดการ ฟังก์ชันการทำงานส่วนใหญ่จึงเลิกใช้แล้ว แต่ยังคงเป็นองค์ประกอบ UI ในปัจจุบันได้ แต่มีข้อจำกัดที่สำคัญบางประการ โครงสร้างของตารางค่าที่เป็นวัตถุคุณสมบัติของตารางค่าถูกกำหนดโดยการรวมกันของสองคอลเลกชันที่กำหนดไว้ล่วงหน้า: คอลัมน์และแถว ตารางค่าคอลัมน์คอลัมน์ของตารางค่าเป็นคุณสมบัติที่กำหนด เป็นชุดของคอลัมน์ตารางที่กำหนดโครงสร้างของมัน คอลัมน์ต่างๆ สอดคล้องกับฟิลด์ของตารางทางกายภาพหรือคอลัมน์ที่คุ้นเคยจากอินเทอร์เฟซผู้ใช้ของส่วนแบบตารางหรือสมุดรายวันเอกสาร คอลัมน์สามารถมีชื่อภายใน ประเภทของค่า และชื่อเรื่องที่จะแสดงเมื่อทำงานกับตารางแบบโต้ตอบ เนื่องจากคอลัมน์เป็นคอลเลกชันของออบเจ็กต์ คุณจึงเพิ่ม ลบ และแก้ไขคอลัมน์ได้ แถวตารางค่าจากมุมมองของอินเทอร์เฟซซอฟต์แวร์ สตริงเป็นคอลเลกชันแยกต่างหากที่ฝังอยู่ในตารางค่า คล้ายคลึงกับเรกคอร์ดในตารางจริง นั่นคือ แถวที่ผู้ใช้คุ้นเคยในส่วนตารางหรือสมุดรายวันเอกสาร แต่ละแถวเป็นออบเจ็กต์ที่มีชุดคุณสมบัติที่มีชื่อ ซึ่งชื่อจะสอดคล้องกับชื่อของคอลัมน์ในตาราง ดังนั้นการโต้ตอบกับสตริงจึงคล้ายกับการโต้ตอบกับวัตถุอื่นมาก คุณสามารถอ่านและเขียนคุณสมบัติของมันได้ รวมถึงการใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้า “FillPropertyValues()” เนื่องจากแถวเป็นคอลเลกชันหลักของตารางค่า จึงมีการใช้เมธอด "Clear()" เพื่อลบแถวทั้งหมดของตาราง สร้างตารางค่ามีหลายวิธีในการรับตารางค่าที่พร้อมใช้งาน ลองดูบางส่วนของพวกเขา แต่ละตัวอย่างจะถูกจัดเตรียมไว้เป็นรายการรหัสพร้อมความคิดเห็น การสร้างตารางโดยใช้ตัวสร้างวิธีการหลักที่ช่วยให้คุณสามารถสร้างตารางที่นักพัฒนาต้องการได้นั้นน่าเสียดายที่ต้องใช้แรงงานมากที่สุดเนื่องจากต้องระบุคุณสมบัติตารางที่จำเป็นทั้งหมดด้วยตนเอง DemoTable = ตารางค่าใหม่;// ก่อนอื่นเริ่มต้นข้อกำหนดทางเทคนิค // ต่อไปเราจะกำหนดพารามิเตอร์ที่จำเป็นสำหรับคอลัมน์ใหม่และเพิ่มลงในคอลเลกชัน // การสร้างคอลัมน์ "ระบบการตั้งชื่อ" ชื่อ = "ระบบการตั้งชื่อ";ValueType = TypeDescription ใหม่ ("DirectoryLink.Nomenclature"); Title = "ระบบการตั้งชื่อ (ผลิตภัณฑ์)"; DemoTable.Columns.Add(ชื่อ, ValueType, ส่วนหัว); // ตัวเลือกที่มีการคัดลอกบรรทัดทั้งหมดจากมาตรฐานข้อกำหนดทางเทคนิค แต่คงไว้เพียงสองคอลัมน์ที่ระบุของมาตรฐาน = "ระบบการตั้งชื่อ, ปริมาณ"; DemoTable = TableEtalon.Copy(, ColumnsEtalon);// ตัวเลือกที่มีการคัดลอกแถวที่เลือกไว้ล่วงหน้าจากมาตรฐานข้อกำหนดทางเทคนิค ในขณะที่รักษาสองคอลัมน์ที่ระบุของ Standard = SelectIntoArrayแถวที่เราต้องการจากตารางของ Standard();ColumnsStandard = "ระบบการตั้งชื่อ, ปริมาณ";DemoTable = TableEtalon.Copy (RowsEtalon, ColumnsEtalon); // ตัวเลือกสำหรับการคัดลอกแถวจากมาตรฐานข้อกำหนดทางเทคนิคโดยใช้ตัวกรองที่ระบุ โดยรักษาหนึ่งคอลัมน์ "ระบบการตั้งชื่อ" // แถวทั้งหมดที่มีค่าในคอลัมน์ปริมาณเท่ากับ 0 จะถูกเลือก เฉพาะคอลัมน์ระบบการตั้งชื่อ การเลือกแถว = โครงสร้างใหม่ ("ปริมาณ" จะปรากฏในตารางผลลัพธ์ 0);ColumnsStandard = "ระบบการตั้งชื่อ";ในบทความสั้นๆ นี้ เรามาดูคุณสมบัติพื้นฐานและเทคนิคการปฏิบัติสำหรับการสร้างตารางค่าที่เพียงพอต่อการทำความเข้าใจและเริ่มใช้งาน วัตถุตารางค่านั้นมีหลายแง่มุมมาก คำอธิบายโดยละเอียดความสามารถของมันต้องมีการเขียนบทความแยกต่างหากเกี่ยวกับเทคนิคและวิธีการทำงาน นี่เป็นข้อเท็จจริงเล็กน้อยที่จะเริ่มต้นด้วย - ตัวอย่างง่ายๆการทำงานกับตารางค่า: 1. สร้างตารางค่า ValueTable = ตารางค่าใหม่; 2. สร้างคอลัมน์สำหรับตารางค่า: ValueTable.Columns.Add("ชื่อ"); 3. เพิ่มแถวใหม่โดยใช้ชื่อคอลัมน์:
4. วิธีค้นหาค่าในตารางค่า: จำเป็นต้องค้นหาแถวของตารางที่มีค่าที่ต้องการ FoundRow = ValueTable.Find(SearchValue); 5. ค้นหาการเกิดขึ้นครั้งแรกในบางคอลัมน์ของตารางค่า FoundRow = ValueTable.Find(SearchValue, "ซัพพลายเออร์, ผู้ซื้อ"); 6. หากคุณต้องการค้นหาเหตุการณ์ทั้งหมดในตารางค่า: เราใช้โครงสร้างการค้นหา SearchStructure = โครงสร้าง ("พนักงาน", SearchValue); มาสร้างโครงสร้างการค้นหากัน โดยแต่ละองค์ประกอบจะมีชื่อของคอลัมน์เป็นคีย์และค่าที่ต้องการในคอลัมน์นี้เป็นค่า เราส่งโครงสร้างการค้นหาเป็นพารามิเตอร์ไปยังเมธอด FindLines() เป็นผลให้เราได้แถวของตาราง หากคุณเพิ่มการค้นหาค่าที่ต้องการลงในโครงสร้างการค้นหา เช่น ในคอลัมน์ Responsible ดังนั้นจากการใช้เมธอด FindRows() เราจะได้แถวทั้งหมดที่ทั้งพนักงานและผู้รับผิดชอบมีค่าเท่ากับ ค่าที่ค้นหา 7. วิธีวนซ้ำตารางค่าตามลำดับแบบสุ่ม สำหรับแต่ละแถวปัจจุบันจาก Table of Values Loop สิ่งเดียวกันโดยใช้ดัชนี: SeniorIndex = ValueTable.Quantity() - 1; 8. การลบแถวตารางค่าที่มีอยู่ ValueTable.Delete(แถวที่ต้องการลบ); โดยดัชนี ตารางค่าลบ(0); 9. การลบคอลัมน์ที่มีอยู่ในตารางค่า ValueTable.Columns.Delete(ColumnToDelete); โดยดัชนี ValueTable.Columns.Delete(0); มีความจำเป็นต้องคำนึงว่าการลบแถว (หรือคอลัมน์) "จากตรงกลาง" ของตารางค่าจะทำให้ดัชนีของแถวที่อยู่ "หลัง" ที่ถูกลบลดลงหนึ่งดัชนี 10. จะเติมตารางค่าได้อย่างไรถ้าชื่อคอลัมน์อยู่ในตัวแปร? NewRow = ตารางค่าเพิ่ม(); 11. จะเติมค่าที่ต้องการให้เต็มคอลัมน์ของตารางค่าได้อย่างไร? คอลัมน์ค่าสถานะการบัญชีการบัญชีในตารางค่าตารางค่าจะต้องกรอกด้วยค่าเท็จ ตารางค่า กรอกค่า (False, "Fiscal Accounting Flag"); เราใช้เมธอด FillValues() สำหรับตารางค่า พารามิเตอร์แรกคือค่าที่จะกรอก พารามิเตอร์ที่สองคือชื่อของคอลัมน์ที่จะเติม 12. ฉันจะกรอกตารางค่า “Receiver Table” ด้วยข้อมูลจากตารางค่า “SourceTable” ได้อย่างไร? หากยังไม่มีตารางผู้รับในขณะที่ดำเนินการหรือไม่จำเป็นต้องบันทึกคอลัมน์ก่อนหน้า คุณสามารถสร้างเป็น สำเนาฉบับเต็มต้นฉบับ ตารางผู้รับ = Source table.Copy(); ตัวเลือกที่สอง: มีตาราง ReceiverTable อยู่ และน่าเสียดายที่ต้องสูญเสียคอลัมน์และข้อจำกัดเกี่ยวกับประเภทข้อมูลของคอลัมน์ แต่คุณต้องกรอกข้อมูลสำหรับคอลัมน์ที่มีชื่อตรงกับชื่อของตารางต้นฉบับ การถ่ายโอนข้อมูลบางส่วนสำหรับคอลัมน์ที่มีชื่อตรงกัน: สำหรับแต่ละแถวของ SourceTable จากวงจร SourceTable สำหรับแต่ละแถวของตารางต้นฉบับ แถวใหม่จะถูกเพิ่มลงในตารางที่ได้รับ และค่าต่างๆ จะถูกกรอกลงในคอลัมน์ของตารางใหม่ที่มีชื่อตรงกับชื่อของคอลัมน์ในตารางต้นฉบับ หากตารางไม่มีคอลัมน์ที่มีชื่อเหมือนกัน ตารางปลายทางจะมีแถวที่มีค่าว่างมากเท่ากับแถวในตารางต้นฉบับ การคัดลอกข้อมูลแบบเต็มสำหรับคอลัมน์ที่มีชื่อตรงกัน คอลัมน์เดียวกัน = อาร์เรย์ใหม่ (); สำหรับแต่ละคอลัมน์จาก SourceTable.Columns Cycle ถ้า MatchingColumn<>ไม่ได้กำหนดแล้ว // รับคุณสมบัติคอลัมน์ // แทนที่คอลัมน์ในตารางปลายทาง TableReceiver.Columns.Delete (ดัชนี); // เพิ่มชื่อถัดไปของคอลัมน์ที่ตรงกันลงในอาร์เรย์ สิ้นสุดถ้า; สิ้นสุดรอบ; // วนไปตามแถวของตารางต้นฉบับ // เพิ่ม บรรทัดใหม่ไปที่โต๊ะรับ // กรอกค่าในเซลล์ที่ตรงกัน สิ้นสุดรอบ; สิ้นสุดรอบ; เราจะต้องแทนที่คอลัมน์ในตารางปลายทางด้วยคอลัมน์ใหม่ซึ่งคุณสมบัติจะสอดคล้องกับคอลัมน์ของตารางต้นฉบับโดยสมบูรณ์ ดังนั้น หากพบคอลัมน์ที่มีชื่อเดียวกันในตารางผู้รับ เราจะรวบรวมคุณสมบัติทั้งหมดสำหรับคอลัมน์ใหม่ในตัวแปร จากนั้นให้ลบอันเก่าและสร้างคอลัมน์ใหม่ จากนั้นเราก็วนซ้ำแถวต่างๆ ของตารางต้นฉบับ ในลูป เราจะเพิ่มแถวใหม่ให้กับตารางการรับ และเปิดลูปเหนือชื่อคอลัมน์ในอาร์เรย์ของคอลัมน์ที่ตรงกัน ภายในลูปที่ซ้อนกันนี้ เราจะเติมเซลล์ของตารางปลายทางด้วยข้อมูลของเซลล์ของตารางต้นทาง 13. จะเพิ่มคอลัมน์ลงในตารางค่า “ValueTable” โดยมีข้อ จำกัด ประเภทได้อย่างไร? เมื่อเพิ่มคอลัมน์ คุณสามารถระบุชื่อคอลัมน์และปล่อยให้พารามิเตอร์ที่สองของเมธอด Add() ไม่ถูกแตะต้อง ในกรณีนี้ ชนิดข้อมูลคอลัมน์เป็นแบบกำหนด การเพิ่มคอลัมน์โดยไม่ระบุชนิดข้อมูล // เพิ่มคอลัมน์โดยไม่มีข้อจำกัดเกี่ยวกับประเภท คุณสามารถกรอกค่าของพารามิเตอร์ตัวที่สองได้ ที่นั่นคุณต้องส่งคำอธิบายประเภทที่อนุญาตสำหรับคอลัมน์ คำอธิบายสามารถรับได้โดยใช้ตัวสร้างโดยส่งชื่อสตริงของประเภทเป็นพารามิเตอร์ (หากมีหลายประเภทคั่นด้วยเครื่องหมายจุลภาค) หรืออาร์เรย์ของประเภทที่ถูกต้อง การเพิ่มคอลัมน์ที่ระบุประเภทข้อมูล // ข้อจำกัดเกี่ยวกับประเภทข้อมูลคอลัมน์: หากประเภทที่อนุญาตสำหรับการกรอกข้อมูลคอลัมน์คือสตริง คุณสามารถจำกัดความลึกบิต (ความยาว) ได้ โดยระบุการใช้ตัวแปรหรือความยาวคงที่ ทั้งหมดนี้ทำได้โดยการสร้างออบเจ็กต์โดยใช้ตัวสร้าง String Qualifiers ถัดไป ออบเจ็กต์นี้จะถูกใช้เป็นหนึ่งในพารามิเตอร์ของตัวสร้าง TypeDescription การใช้ตัวระบุเพื่อระบุชนิดข้อมูลของคอลัมน์ตารางค่า // จัดเตรียมและกำหนดข้อจำกัดสำหรับข้อมูลประเภท String การดำเนินการที่คล้ายกันนี้สามารถทำได้โดยคำนึงถึงตัวระบุหมายเลขและวันที่ โปรดทราบ: คำอธิบายประเภทสามารถสร้างขึ้นโดยตัวสร้าง "ตั้งแต่เริ่มต้น" หรือคำอธิบายประเภทที่มีอยู่สามารถใช้เป็นพื้นฐานได้ การใช้การประกาศประเภทที่มีอยู่เพื่อระบุประเภทข้อมูลของคอลัมน์ตารางค่า // ส่วนขยายของคำอธิบายประเภทที่ใช้ก่อนหน้านี้ ValueTable.Columns.Add("หมายเหตุ", ExtendedAcceptableTypes); ค้นหาในตารางค่า 1Cมีวิธีการใดบ้างและวิธีค้นหาค่าหลายค่าพร้อมกันมีสองวิธีพิเศษในการค้นหาตารางค่า: 1. ค้นหาTVHorizon = Directories.Nomenclature.FindByName("TVHorizon");FoundString = TZNomenclature.Find (TVHorizon); //เรายังสามารถระบุได้ว่าคอลัมน์ใดที่จะค้นหาเพื่อเพิ่มความเร็วในการค้นหา FoundString = TZNomenclature.Find (TVHorizon, "ระบบการตั้งชื่อ"); เมธอดนี้จะส่งคืนแถวแรกที่พบกับค่าที่ต้องการ หรือส่งกลับ Undefined หากไม่พบ ดังนั้นจึงสะดวกในการใช้ค้นหาค่าที่ไม่ซ้ำเนื่องจาก มิฉะนั้น เมื่อพบค่าแล้ว คุณจะต้องลบค่านั้นออกจากตารางเพื่อค้นหาค่าถัดไป เพื่อหลีกเลี่ยงความยุ่งยากนี้ จึงมีวิธีการต่อไปนี้ที่ช่วยให้คุณสามารถค้นหาอาร์เรย์ของสตริงที่ตรงกันได้: 2. ค้นหาสตริงโครงสร้างการเลือกแทรก ("ระบบการตั้งชื่อ", TVHorizon); // ก่อนอื่นให้ระบุคอลัมน์ที่จะดู จากนั้นจึงระบุสิ่งที่ต้องค้นหา เมธอดนี้จะส่งคืนอาร์เรย์เสมอ แต่สามารถเว้นว่างไว้ได้หากไม่พบสิ่งใดเลย และวิธีนี้เช่นเดียวกับวิธีก่อนหน้าจะส่งคืนแถวของตารางค่าเองและไม่ใช่ค่าในอาร์เรย์ที่แยกจากกัน ดังนั้นโดยการเปลี่ยนค่าในสตริงอาร์เรย์หรือเช่นเดียวกับวิธีก่อนหน้าสำหรับสตริงที่พบ คุณจะเปลี่ยนค่าในตารางค่าที่ประมวลผล ข้อดีอีกประการหนึ่งของวิธีนี้คือสามารถค้นหาผ่านหลายคอลัมน์ของตารางค่าได้พร้อมกัน: SelectionStructure = โครงสร้างใหม่; โครงสร้างการเลือกแทรก("ระบบการตั้งชื่อ", TVHorizon); โครงสร้างการเลือก.Insert("ปริมาณ", 10); FoundArray of Rows = TZNomenclature.FindLines (SelectionStructure); อย่างที่คุณเห็นข้อเสียอย่างเดียวคือคุณไม่สามารถใช้การเปรียบเทียบประเภทอื่นนอกเหนือจาก "เท่ากับ" ในการบัญชีเงินและสินค้ามีการใช้ตารางต่าง ๆ กันอย่างแพร่หลายในธุรกิจ เอกสารเกือบทุกฉบับจะเป็นตาราง ตารางหนึ่งแสดงรายการสินค้าที่จะจัดส่งจากคลังสินค้า ตารางอื่นแสดงภาระผูกพันในการชำระค่าสินค้าเหล่านี้ ดังนั้นใน 1C การทำงานกับตารางจึงถือเป็นจุดเด่น ตารางใน 1C เรียกอีกอย่างว่า "ส่วนตาราง" ไดเร็กทอรี เอกสาร และอื่นๆ มีสิ่งเหล่านี้ คิวรีซึ่งเป็นผลมาจากการดำเนินการจะส่งคืนตารางที่สามารถเข้าถึงได้ในสองวิธีที่แตกต่างกัน การเลือกครั้งแรก - เร็วกว่า - การรับแถวจากนั้นสามารถทำได้ตามลำดับเท่านั้น อย่างที่สองคือการอัปโหลดผลลัพธ์แบบสอบถามลงในตารางค่าแล้วเข้าถึงโดยสุ่ม //ตัวเลือก 1 – เข้าถึงผลลัพธ์การสืบค้นตามลำดับ //ตัวเลือก 2 – การอัปโหลดไปยังตารางค่า คุณลักษณะที่สำคัญคือในตารางที่ได้รับจากผลลัพธ์แบบสอบถาม คอลัมน์ทั้งหมดจะถูกพิมพ์อย่างเคร่งครัด ซึ่งหมายความว่าโดยการร้องขอฟิลด์ Name จากไดเร็กทอรี Nomenclature คุณจะได้รับคอลัมน์ประเภท String ที่มีความยาวที่อนุญาตได้ไม่เกิน N ตัวอักษร ตารางบนแบบฟอร์ม (ไคลเอ็นต์แบบหนา) ผู้ใช้ทำงานกับตารางเมื่อวางบนแบบฟอร์ม เราได้พูดคุยถึงหลักการพื้นฐานของการทำงานกับแบบฟอร์มในบทเรียนและในบทเรียนต่อไป เรามาวางตารางบนแบบฟอร์มกันดีกว่า เมื่อต้องการทำเช่นนี้ คุณสามารถลากตารางจากแผงควบคุมได้ ในทำนองเดียวกัน คุณสามารถเลือกการควบคุมแบบฟอร์ม/การแทรกจากเมนูได้ ข้อมูลสามารถเก็บไว้ในการกำหนดค่าได้ - จากนั้นคุณจะต้องเลือกส่วนตารางที่มีอยู่ (เพิ่มไว้ก่อนหน้านี้) ของออบเจ็กต์การกำหนดค่าซึ่งมีแบบฟอร์มที่คุณกำลังแก้ไข คลิกปุ่ม "..." ในคุณสมบัติข้อมูล หากต้องการดูรายการ ส่วนที่เป็นตารางคุณต้องขยายสาขา Object เมื่อคุณเลือกส่วนที่เป็นตาราง 1C จะเพิ่มคอลัมน์ลงในตารางในแบบฟอร์ม แถวที่ผู้ใช้ป้อนลงในตารางดังกล่าวจะถูกบันทึกโดยอัตโนมัติพร้อมกับหนังสือ/เอกสารอ้างอิง ในคุณสมบัติ Data เดียวกัน คุณสามารถป้อนชื่อที่กำหนดเองและเลือกประเภทตารางค่าได้ ซึ่งหมายความว่ามีการเลือกตารางค่าโดยพลการ จะไม่เพิ่มคอลัมน์โดยอัตโนมัติและจะไม่บันทึกโดยอัตโนมัติ แต่คุณสามารถทำสิ่งใดก็ได้ที่คุณต้องการ เมื่อคลิกขวาที่ตาราง คุณจะสามารถเพิ่มคอลัมน์ได้ ในคุณสมบัติของคอลัมน์คุณสามารถระบุชื่อของมัน (สำหรับการอ้างอิงในรหัส 1C), ส่วนหัวของคอลัมน์ในแบบฟอร์ม, การเชื่อมต่อกับแอตทริบิวต์ของส่วนที่เป็นตาราง (ส่วนหลัง - หากไม่ใช่ตารางที่กำหนดเองจะถูกเลือก แต่ ส่วนที่เป็นตาราง) ในคุณสมบัติของตารางบนแบบฟอร์ม คุณสามารถระบุว่าผู้ใช้สามารถเพิ่ม/ลบแถวได้หรือไม่ แบบฟอร์มขั้นสูงเพิ่มเติมคือช่องทำเครื่องหมายดูอย่างเดียว คุณสมบัติเหล่านี้สะดวกในการใช้สำหรับการจัดระเบียบตารางที่มีไว้เพื่อแสดงข้อมูล แต่ไม่แก้ไข ในการจัดการตาราง คุณต้องแสดงแผงคำสั่งในแบบฟอร์ม เลือกรายการเมนู แบบฟอร์ม/แทรกการควบคุม/แถบคำสั่ง ในคุณสมบัติของแถบคำสั่ง ให้เลือกกล่องกาเครื่องหมายป้อนอัตโนมัติเพื่อให้ปุ่มบนแผงปรากฏขึ้นโดยอัตโนมัติ ตารางบนฟอร์ม (ไคลเอ็นต์แบบบาง/ที่มีการจัดการ) บนฟอร์มที่ได้รับการจัดการ การกระทำที่ระบุดูแตกต่างออกไปเล็กน้อย หากคุณต้องการวางส่วนที่เป็นตารางบนแบบฟอร์ม ให้ขยายสาขา Object แล้วลากส่วนหนึ่งที่เป็นตารางไปทางซ้าย นั่นคือทั้งหมด! หากคุณต้องการวางตารางค่า ให้เพิ่มแอตทริบิวต์ของฟอร์มใหม่และระบุประเภท – ตารางค่าในคุณสมบัติ หากต้องการเพิ่มคอลัมน์ ให้ใช้เมนูคลิกขวาบนแอตทริบิวต์แบบฟอร์มนี้ เลือกเพิ่มคอลัมน์แอตทริบิวต์ จากนั้นลากตารางไปทางซ้ายด้วย เพื่อให้ตารางมีแถบคำสั่ง ในคุณสมบัติของตาราง ให้เลือกค่าในส่วน การใช้งาน – ตำแหน่งแถบคำสั่ง การอัพโหลดตารางไปยัง Excel ตาราง 1C ใดๆ ที่อยู่บนแบบฟอร์มสามารถพิมพ์หรืออัปโหลดไปยัง Excel ได้ โดยคลิกขวาที่พื้นที่ว่างในตารางแล้วเลือกรายการ ในไคลเอนต์ที่ได้รับการจัดการ (ธิน) การดำเนินการที่คล้ายกันสามารถทำได้โดยใช้รายการเมนู การกระทำทั้งหมด/แสดงรายการ สวัสดีผู้อ่าน infostart ทุกท่าน บทความนี้จะเน้นที่การสร้างตารางค่าที่กำหนดเองบนแบบฟอร์ม แอปพลิเคชันที่ได้รับการจัดการ โดยทางโปรแกรม. คุณสมบัติของงาน ใครเคยลงโปรแกรมไว้บ้าง. การสมัครปกติฉันมักจะต้องเผชิญกับงานในการรับตารางค่าตามอำเภอใจในแบบฟอร์ม ตารางค่าที่กำหนดเองคือตารางที่ไม่ทราบจำนวนและประเภทของคอลัมน์ล่วงหน้า นั่นคืออาจมี 3 คอลัมน์หรืออาจเป็น 6 หรืออาจเป็น 8 ในแอปพลิเคชันปกติทุกอย่างนั้นง่าย: คุณสามารถวางองค์ประกอบ "ตารางค่า" ลงในแบบฟอร์มการประมวลผลแล้วโอนตารางค่าที่สร้างขึ้น กับองค์ประกอบนี้โดยทางโปรแกรม จากนั้นใช้คำสั่งง่ายๆ ดังนี้ องค์ประกอบแบบฟอร์ม TableField.CreateColumns(); รับ โต๊ะสำเร็จรูปค่าต่างๆ ในแบบฟอร์ม ดูเหมือนว่ามันจะง่ายกว่านี้ ทั้งหมดนี้อยู่ในแอปพลิเคชันปกติ ในแอปพลิเคชันที่ได้รับการจัดการ ทุกอย่างมีการเปลี่ยนแปลง การสร้างตารางที่กำหนดเองไม่ใช่เรื่องง่าย ตอนนี้คุณต้องกำหนดพารามิเตอร์ตารางค่าในแบบฟอร์มอย่างเข้มงวดหรือสร้างมันขึ้นมาโดยทางโปรแกรม (อธิบายอันที่จริงนี่คือสาระสำคัญของแอปพลิเคชันที่ได้รับการจัดการเอง) นี่คือสิ่งที่เราจะพยายามทำ: ซอฟต์แวร์สร้างตารางค่าที่กำหนดเองบนแบบฟอร์มที่ได้รับการจัดการ การแก้ปัญหา สิ่งแรกที่เราต้องทำคือกำหนดว่าตารางจะปรากฏบนแบบฟอร์มอย่างไร สิ่งสำคัญคือคุณไม่จำเป็นต้องสร้างองค์ประกอบแบบฟอร์มใดๆ ในการประมวลผล เราจะสร้างมันขึ้นมาโดยทางโปรแกรมเหมือนกับทั้งตาราง นั่นคือตารางจะถูกอธิบายและสร้างในขณะที่เปิดแบบฟอร์มหรือใช้ปุ่ม - ขึ้นอยู่กับว่าใครต้องการ การสร้างตารางในแบบฟอร์มเกิดขึ้นผ่านคำอธิบายของตารางค่าเป็นแอตทริบิวต์: TK.Columns.Add("ด้วย", DescriptionTypesTime);TK.Columns.Add("ก่อน", DescriptionTypesTime); TK.Columns.Add("ชื่อ"); TK.Columns.Add("Note"); // ชื่อเต็มและหมายเหตุ - แถว ต่อไปเราจะกรอกตารางโปรแกรม TK ของเราด้วยข้อมูลที่จำเป็น เราได้รับตาราง TK ที่มีค่าที่จำเป็นและพร้อมที่จะถ่ายโอนไปยังแอตทริบิวต์แบบฟอร์มที่สร้างขึ้น สำหรับแต่ละคอลัมน์จากรอบคอลัมน์ TK อาร์เรย์ของแอตทริบิวต์เพิ่ม (แอตทริบิวต์แบบฟอร์มใหม่ (Column.Name, Column.ValueType, "ScheduleTable")); สิ้นสุดรอบ; รายละเอียดการเปลี่ยนแปลง (รายละเอียดอาร์เรย์); SelectionFieldsTable = Elements.Add("TZN", ประเภท ("FormTable"));สำหรับแต่ละคอลัมน์จากรอบคอลัมน์ TK NewElement = Elements.Add(Column.Name, Type("FormField"), SelectionFieldTable); NewElement.View = FormFieldView.InputField; NewElement.DataPath = "ตารางกำหนดการ" + คอลัมน์ชื่อ; NewElement.Width = 10; ตาราง SelectionFields.SetAction("Selection", "TZNSelection"); ในการประมวลผลเหตุการณ์นี้ มีการกำหนดขั้นตอนแยกต่างหากในรูปแบบของขั้นตอน: &บนไคลเอนต์ ขั้นตอน TKNSelection (TK, SelectedRow, Field, StandardProcessing) //ตัวจัดการคำสั่ง EndProcedure โปรดทราบว่าตัวจัดการตารางจะเริ่มทำงานบนไคลเอนต์ ดังนั้น ต้องมีคำสั่งตัวชี้คอมไพเลอร์ &บนไคลเอนต์ สิ่งสุดท้ายที่ฉันต้องการเพิ่มคือหลังจากขั้นตอนเหล่านี้ทั้งหมด อย่าลืมส่งตารางที่เสร็จแล้วไปยังแอตทริบิวต์ของฟอร์ม: ValueFormAttributes(ToR, "ScheduleTable"); นี่คือสิ่งที่เราได้รับ:และนี่คือการจัดการกิจกรรม "การคัดเลือก": |
ใหม่
- เกิดข้อผิดพลาดอะไรระหว่างการติดตั้ง?
- สถานภาพทางสังคมของบุคคลในสังคม
- การตีความข้อผิดพลาดแบบเต็ม
- วิธีโทรหาผู้ให้บริการ Beeline "สด" โดยตรง: หมายเลขโทรศัพท์โทรฟรี
- โปรแกรมอ่าน PDF ที่จำเป็น
- Lineage II - Interlude: The Chaotic Throne จะไม่เริ่มต้นใช่ไหม
- การกู้คืนรหัสผ่าน Excel
- วิธีเพิ่มหน้าปัดนาฬิกาใหม่บนนาฬิกาอัจฉริยะ Android Wear
- แผนภาษีที่ทำกำไรได้มากที่สุดในชีวิต
- ฉันหวังว่าบทความนี้จะช่วยโปรแกรมเมอร์ 1C ที่กำลังเริ่มสร้างตารางในแบบฟอร์มโดยทางโปรแกรม