การโฆษณา

บ้าน - หน้าต่าง
รับส่วนที่เป็นตาราง 1 วินาที จะรับข้อมูลจากส่วนตารางของเอกสารได้อย่างไร? วิธีรับและข้ามแถวที่เลือกของส่วนที่เป็นตาราง

มีชิ้นส่วนแบบตารางสำหรับวัตถุจำนวนมากใน 1C:

  • ไดเรกทอรี
  • เอกสารประกอบ
  • รายงานและการประมวลผล
  • ผังบัญชี
  • แผนประเภทลักษณะเฉพาะ
  • แผนประเภทการคำนวณ
  • กระบวนการทางธุรกิจและงาน

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

มาดูเทคนิคบางอย่างในการทำงานกับส่วนต่างๆ แบบตารางกัน

วิธีเลี่ยงส่วนที่เป็นตาราง

หากต้องการสำรวจส่วนของตาราง คุณสามารถใช้การวนซ้ำได้ แต่ละ

สำหรับแต่ละแถวจากส่วนตารางของวงจร

รายงาน (แอตทริบิวต์ String. TabularPart);

เอ็นด์ไซเคิล ;

ในการวนซ้ำแต่ละครั้งในตัวแปร เส้นแถวถัดไปของส่วนตารางจะถูกส่งไป ค่าของรายละเอียดแถวสามารถรับได้จากนิพจน์ บรรทัด. AttributeName.

วิธีรับและข้ามแถวที่เลือกของส่วนที่เป็นตาราง

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

หากต้องการดูรายการบรรทัดที่เลือก ให้ใช้รหัสต่อไปนี้:

การวนซ้ำใช้เพื่อวนซ้ำผ่านบรรทัดที่เลือก แต่ละ:

SelectedRows = FormElements ชื่อเขตข้อมูลตาราง แถวที่เลือก;

สำหรับแต่ละแถวจากแถวที่เลือก วนซ้ำ

//เนื้อหาวนซ้ำ

เอ็นด์ไซเคิล ;

วิธีเลือกแถวของส่วนตาราง (เขตข้อมูลตาราง) โดยทางโปรแกรมและยกเลิกการเลือก

หากต้องการยกเลิกการเลือกแถวของช่องตารางโดยทางโปรแกรม:

องค์ประกอบของแบบฟอร์ม ชื่อเขตข้อมูลตาราง แถวที่เลือก ชัดเจน() ;

หากต้องการเลือกแถวทั้งหมดของเขตข้อมูลตารางโดยทางโปรแกรม:

สำหรับแต่ละ CurrentRow จาก TabularPart Loop
องค์ประกอบของแบบฟอร์ม ชื่อเขตข้อมูลตาราง เส้นที่เลือก เพิ่ม(แถวปัจจุบัน);
เอ็นด์ไซเคิล ;

วิธีเคลียร์ส่วนของโต๊ะ

ตารางส่วนหนึ่ง ชัดเจน() ;

วิธีรับแถวปัจจุบันของส่วนของตาราง

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

สำหรับรูปแบบปกติ โค้ดจะมีลักษณะดังนี้:

องค์ประกอบของแบบฟอร์ม ชื่อเขตข้อมูลตาราง ข้อมูลปัจจุบัน;

สำหรับแบบฟอร์มที่ได้รับการจัดการ:

องค์ประกอบ ชื่อเขตข้อมูลตาราง ข้อมูลปัจจุบัน;

วิธีเพิ่มแถวใหม่ในส่วนของตาราง

เพิ่มบรรทัดใหม่ต่อท้ายส่วนของตาราง:

NewRow = ส่วนของตาราง เพิ่ม() ;

เพิ่มบรรทัดใหม่ในส่วนใดก็ได้ของตาราง (บรรทัดถัดไปจะถูกเลื่อน):

NewRow = ส่วนของตาราง แทรก(ดัชนี)
//ดัชนี - จำนวนบรรทัดที่เพิ่ม การกำหนดหมายเลขบรรทัดเริ่มต้นจากศูนย์

สายใหม่. อุปกรณ์ประกอบฉาก1 = "มูลค่า" ;

วิธีกรอกรายละเอียดของแถวตารางโดยทางโปรแกรม

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

ขั้นตอนที่สร้างโดยตัวจัดการมีพารามิเตอร์สามตัว:

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

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

ขั้นตอน TabularPartAtStartEditing (องค์ประกอบ, NewRow, คัดลอก)

//หากผู้ใช้แก้ไขบรรทัดที่มีอยู่ เราจะไม่ทำอะไรเลย
ถ้าไม่ใช่ NewRow แล้ว
กลับ;
สิ้นสุดถ้า ;

//หากเป็นบรรทัดใหม่ ให้ตั้งค่าบัญชีการบัญชี
TechString = รายการ ข้อมูลปัจจุบัน; // รับแถวปัจจุบันของส่วนตาราง
เทคสตริง การบัญชี = ผังบัญชี พึ่งตนเอง. จำเป็นบัญชี;
สิ้นสุดขั้นตอน

หน้าแรก สำหรับนักพัฒนามือใหม่ การเรียนรู้การเขียนโปรแกรม

จะรับข้อมูลจากส่วนตารางของเอกสารได้อย่างไร?

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

เมื่อต้องการทำเช่นนี้ คุณสามารถใช้คำขอกับข้อความต่อไปนี้:

เลือกการขายสินค้าและบริการต่างๆ สินค้า ศัพท์ AS ศัพท์จากเอกสาร การขายสินค้าและบริการ สินค้า AS การขายสินค้าและบริการ

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

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

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

เลือกการขายสินค้าและบริการต่างๆ สินค้า ระบบการตั้งชื่อ AS ระบบการตั้งชื่อจากเอกสาร การขายสินค้าและบริการ สินค้า วิธีการ ขายสินค้าและบริการ สินค้า ที่ ขายสินค้าและบริการ ลิงค์ = &ลิงค์

ในการบัญชีเงินและสินค้ามีการใช้ตารางต่าง ๆ กันอย่างแพร่หลายในธุรกิจ เอกสารเกือบทุกฉบับจะเป็นตาราง

ตารางหนึ่งแสดงรายการสินค้าที่จะจัดส่งจากคลังสินค้า ตารางอื่นแสดงภาระผูกพันในการชำระค่าสินค้าเหล่านี้

ดังนั้นใน 1C การทำงานกับตารางจึงถือเป็นจุดเด่น

ตารางใน 1C เรียกอีกอย่างว่า "ส่วนตาราง" ไดเร็กทอรี เอกสาร และอื่นๆ มีสิ่งเหล่านี้

เมื่อดำเนินการแบบสอบถาม จะส่งกลับตารางที่สามารถเข้าถึงได้ในสองวิธีที่แตกต่างกัน

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

//ตัวเลือก 1 – เข้าถึงผลลัพธ์การสืบค้นตามลำดับ

//ไปเอาโต๊ะมา
เลือก = Query.Run().Select();
// เราดูทุกบรรทัดของผลลัพธ์การสืบค้นตามลำดับ
ในขณะที่ Select.Next() วนซ้ำ
รายงาน(ชื่อที่เลือก);
สิ้นสุดรอบ;

//ตัวเลือก 2 – การอัปโหลดไปยังตารางค่า
คำขอ = คำขอใหม่ ("เลือกชื่อจาก Directory.Nomenclature");
//ไปเอาโต๊ะมา
ตาราง = Query.Run().Unload()
//นอกจากนี้ เรายังวนซ้ำทุกบรรทัดได้ด้วย
สำหรับแต่ละแถวจากรอบตาราง
รายงาน (String.Name);
สิ้นสุดรอบ;
//หรือเข้าถึงสตริงโดยพลการ
Row = Table.Find("พลั่ว", "ชื่อ");

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

ตารางบนแบบฟอร์ม (ไคลเอ็นต์แบบหนา)

ผู้ใช้ทำงานกับตารางเมื่อวางบนแบบฟอร์ม

เราได้พูดคุยถึงหลักการพื้นฐานของการทำงานกับแบบฟอร์มในบทเรียนและในบทเรียนต่อไป

เรามาวางตารางบนแบบฟอร์มกันดีกว่า เมื่อต้องการทำเช่นนี้ คุณสามารถลากตารางจากแผงควบคุมได้ ในทำนองเดียวกัน คุณสามารถเลือกการควบคุมแบบฟอร์ม/การแทรกจากเมนูได้

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

คลิกปุ่ม "..." ในคุณสมบัติข้อมูล หากต้องการดูรายการส่วนต่างๆ แบบตาราง คุณต้องขยายสาขา Object

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

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

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

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

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

ในการจัดการตาราง คุณต้องแสดงแผงคำสั่งในแบบฟอร์ม เลือกรายการเมนู แบบฟอร์ม/แทรกการควบคุม/แถบคำสั่ง

ในคุณสมบัติของแถบคำสั่ง ให้เลือกกล่องกาเครื่องหมายป้อนอัตโนมัติเพื่อให้ปุ่มบนแผงปรากฏขึ้นโดยอัตโนมัติ

ตารางบนฟอร์ม (ไคลเอ็นต์แบบบาง/ที่มีการจัดการ)

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

หากคุณต้องการวางตารางค่า ให้เพิ่มแอตทริบิวต์ของฟอร์มใหม่และระบุประเภท – ตารางค่าในคุณสมบัติ

หากต้องการเพิ่มคอลัมน์ ให้ใช้เมนูคลิกขวาบนแอตทริบิวต์แบบฟอร์มนี้ เลือกเพิ่มคอลัมน์แอตทริบิวต์

จากนั้นลากตารางไปทางซ้ายด้วย

เพื่อให้ตารางมีแถบคำสั่ง ในคุณสมบัติของตาราง ให้เลือกค่าในส่วน การใช้งาน – ตำแหน่งแถบคำสั่ง

การอัพโหลดตารางไปยัง Excel

ตาราง 1C ใดๆ ที่อยู่บนแบบฟอร์มสามารถพิมพ์หรืออัปโหลดไปยัง Excel ได้

โดยคลิกขวาที่พื้นที่ว่างในตารางแล้วเลือกรายการ

ในไคลเอนต์ที่ได้รับการจัดการ (ธิน) การดำเนินการที่คล้ายกันสามารถทำได้โดยใช้รายการเมนู การกระทำทั้งหมด/แสดงรายการ



 


อ่าน:



ข้อเท็จจริงที่น่าสนใจเกี่ยวกับคอมพิวเตอร์

ข้อเท็จจริงที่น่าสนใจเกี่ยวกับคอมพิวเตอร์

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

ฉากหลังเครดิตของ Pirates of the Caribbean: Dead Men Tell No Tales การสิ้นสุด Dead Men Tell No Tales

ฉากหลังเครดิตของ Pirates of the Caribbean: Dead Men Tell No Tales การสิ้นสุด Dead Men Tell No Tales

เบื่อกับการพลาดการฉายภาพยนตร์รอบปฐมทัศน์เนื่องจากชีวิตที่เร่งรีบใช่ไหม? เบื่อกับช่องทีวีที่ฉายหนังคุ้มในความไม่สะดวก...

สื่อแบบดั้งเดิม

สื่อแบบดั้งเดิม

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

กฎหมายของรัฐบาลกลาง“ เกี่ยวกับข้อมูลกฎหมายของรัฐบาลกลางข้อ 27

กฎหมายของรัฐบาลกลาง“ เกี่ยวกับข้อมูลกฎหมายของรัฐบาลกลางข้อ 27

กฎหมายของรัฐบาลกลางนี้ใช้แนวคิดพื้นฐานดังต่อไปนี้: 1) ข้อมูล - ข้อมูล (ข้อความข้อมูล) โดยไม่คำนึงถึงรูปแบบ...

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