ธุรกิจของฉันคือแฟรนไชส์ การให้คะแนน เรื่องราวความสำเร็จ ไอเดีย การทำงานและการศึกษา
ค้นหาไซต์

การเพิ่มและการเปลี่ยนแปลงองค์ประกอบของแบบฟอร์มที่ได้รับการจัดการโดยทางโปรแกรม การเพิ่มและการเปลี่ยนแปลงองค์ประกอบของแบบฟอร์มที่ได้รับการจัดการปัญหา 1c โดยทางโปรแกรมกับแบบฟอร์มที่ได้รับการจัดการ

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

แบบฟอร์มที่ได้รับการจัดการ 1C 8.2 เป็นอนาคตของ 1C แตกต่างจากแบบฟอร์ม 1C 8.2 ปกติตรงที่ระบบสร้างขึ้นโดยอัตโนมัติตามการตั้งค่าพิเศษ ("แบบฟอร์มปกติ" จะถูกวาดโดยโปรแกรมเมอร์ตามต้องการ)

ความแตกต่างในการพัฒนาแบบฟอร์มที่ได้รับการจัดการ 1C 8.2 จากแบบฟอร์มทั่วไปมีความสำคัญ ดังนั้นเราจึงรวมตัวกันในวันนี้เพื่อหารือเกี่ยวกับการสร้างและแก้ไขแบบฟอร์มที่ได้รับการจัดการ 1C 8.2 แยกกัน

แบบฟอร์มการจัดการ 1C 8.2

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

คุณไม่สามารถเปลี่ยนแบบฟอร์ม 1C 8.2 ได้ คุณไม่สามารถย้ายองค์ประกอบได้ คุณไม่สามารถดูคุณสมบัติของฟิลด์เหมือนเมื่อก่อนได้ - โดยดับเบิลคลิกที่ฟิลด์ในแบบฟอร์ม 1C 8.2

ตอนนี้พื้นฐานสำหรับการพัฒนาแบบฟอร์ม 1C 8.2 ไม่ได้ผูกฟิลด์เข้ากับพิกัดบนแบบฟอร์ม แต่ การตั้งค่าพิเศษ- ระบบจะสร้างแบบฟอร์มควบคุม 1C 8.2 โดยอัตโนมัติตามการตั้งค่าเหล่านี้

การตั้งค่าประกอบด้วยรายการองค์ประกอบแบบฟอร์ม 1C 8.2 ที่อยู่ในตัวแก้ไขที่มุมซ้ายบน องค์ประกอบของแบบฟอร์ม 1C 8.2 ประกอบด้วย:

  • รายละเอียด
  • คำสั่ง (แนวคิดใหม่ใน 1C 8.2 อาจมีลักษณะเหมือนปุ่มหรือรายการเมนู)
  • กลุ่ม (สำหรับการรวมรายละเอียดและคำสั่ง)

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

แบบฟอร์มการจัดการ 1C 8.2 ทำงานอย่างไร

ทำงานกับ แบบฟอร์มควบคุม 1C 8.2 นั้นแตกต่างกันสำหรับผู้ใช้ พวกเขามี ความเป็นไปได้มากขึ้นแต่เป็นเรื่องผิดปกติสำหรับผู้ที่ทำงานกับ 1C มาเป็นเวลานาน

ก่อนอื่นการจัดเรียงองค์ประกอบปกติในรูปแบบ 1C 8.2 นั้นแตกต่างกัน แถบคำสั่งจะอยู่ด้านบนเสมอ

ด้านซ้ายของแผงคำสั่งสามารถปรับแต่งได้ โดยปกติจะมีปุ่มมาตรฐานเช่นบันทึกและโพสต์

ทางด้านขวาของแผงคำสั่งคือเมนูมาตรฐานใหม่ของแบบฟอร์ม 1C All Actions เมนูนี้ช่วยให้คุณจัดการแบบฟอร์ม 1C 8.2 ตามที่คุณต้องการ เช่นเดียวกับที่รายงาน ACS การตั้งค่าช่วยให้คุณเปลี่ยนรูปลักษณ์ของรายงานได้อย่างมาก

รายการเมนูโดยพลการ 1C การกระทำทั้งหมด

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

รายการ ปรับแต่งรายการเมนู 1C การกระทำทั้งหมด

หากมีรายการในรูปแบบ 1C 8.2 เมนูจะมีคำสั่ง Configure list และ Display list
หากคุณคุ้นเคยกับคำสั่ง Output list อยู่แล้ว - ช่วยให้คุณสามารถบันทึกรายการใด ๆ ใน 1C ใน Excel / พิมพ์ออกมาได้แสดงว่าคำสั่งที่สองเป็นคำสั่งใหม่

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

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

รายการ เปลี่ยนรูปร่างเมนู 1C การกระทำทั้งหมด

รายการแบบฟอร์มการเปลี่ยนแปลงช่วยให้คุณสามารถเปลี่ยนแปลงได้ไม่เพียง แต่รายการในแบบฟอร์ม 1C 8.2 แต่ยังรวมถึงแบบฟอร์ม 1C 8.2 ด้วย

ผู้ใช้สามารถเปิดหรือปิดการมองเห็นฟิลด์ในรูปแบบ 1C 8.2 ความกว้างและความสูง การเปิดใช้งานฟิลด์เริ่มต้นเมื่อเปิด ฯลฯ ได้อย่างอิสระ

การใช้แบบฟอร์มที่ได้รับการจัดการ 1C 8.2 และแบบฟอร์มปกติ 1C

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

ในการดำเนินการนี้ คุณต้องป้อนคุณสมบัติการกำหนดค่า (องค์ประกอบด้านบนสุดในหน้าต่างการกำหนดค่า)

ในคุณสมบัติการกำหนดค่าใน 1C 8.2 มีช่องทำเครื่องหมายใหม่สองช่องปรากฏขึ้นซึ่งอนุญาตให้คุณเปิดใช้งานการใช้แบบฟอร์ม 1C ที่ไม่ได้มาตรฐาน

การสร้างแบบฟอร์มที่ได้รับการจัดการ 8.2

ส่วนที่เพิ่มเข้าไป แบบฟอร์มใหม่ 1C 8.2 ผลิตในลักษณะเดียวกับเมื่อก่อน - โดยใช้ปุ่ม Ins บนแป้นพิมพ์หรือปุ่มเพิ่ม หากต้องการป้อนข้อมูลที่มีอยู่ให้ดับเบิลคลิกด้วยเมาส์

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

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

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

เครื่องมือแก้ไขแบบฟอร์มประกอบด้วยสามส่วน

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

คุณสามารถลากรายละเอียดที่มีอยู่ไปทางซ้าย และจะกลายเป็นองค์ประกอบของแบบฟอร์ม (ฟิลด์ในแบบฟอร์ม)

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

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

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

กลุ่มสามารถเป็นแผงคำสั่งได้ (เคอร์เซอร์ต้องอยู่บนบรรทัดแบบฟอร์ม) จากนั้นคุณลากคำสั่งลงไปและคำสั่งเหล่านั้นจะกลายเป็นปุ่ม

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

กลุ่มสามารถเป็นแผง (เพจ) กลุ่มที่เพิ่มไว้ด้านบนคือแผง และกลุ่มที่ซ้อนกันประเภทนี้คือเพจ ฟิลด์ถูกลากไปยังเพจแล้ว

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

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

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

ตัวจัดการเหตุการณ์ (ตอบสนองต่อการกระทำของผู้ใช้) ขณะนี้แบ่งออกเป็นสองประเภท เก่า – เหมือนเมื่อก่อน มีการระบุไว้ในคุณสมบัติของแบบฟอร์มและฟิลด์ (เช่น OnChange และ OnOpening the form) คำสั่งใหม่ได้กลายเป็นคำสั่งและใช้สำหรับรายการเมนูและปุ่มต่างๆ

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

แอปพลิเคชัน 1C ปกติ (แบบฟอร์มปกติ อินเทอร์เฟซปกติ เวอร์ชัน 1C 8.2)

ใน 1C 8.2 สามารถทำงานได้เท่านั้น ด้วยแบบฟอร์มปกติในโหมดแอปพลิเคชันปกติ- ภาพด้านล่างแสดงฐานใน "โหมดการทำงาน" การสมัครปกติ 1C" (แบบฟอร์มปกติ)

แอปพลิเคชัน 1C ที่ได้รับการจัดการ (แบบฟอร์มที่ได้รับการจัดการ, อินเทอร์เฟซที่ได้รับการจัดการ, เวอร์ชัน 1C 8.3)

บนแพลตฟอร์ม 1C 8.3 เราสามารถทำงานกับทั้งรูปแบบปกติ (ในโหมดความเข้ากันได้) และรูปแบบที่ได้รับการจัดการ นอกจากนี้ แบบฟอร์มที่ได้รับการจัดการมีการแสดงผลสองประเภท คือแบบมาตรฐานและแบบแท็กซี่- ตัวอย่างของการกำหนดค่า 1C 8.3 พร้อมแบบฟอร์มการจัดการมาตรฐานแสดงอยู่ด้านล่าง และหลังจากนั้นอินเทอร์เฟซ "แท็กซี่" จะปรากฏขึ้น

อะไรคือความแตกต่างระหว่างแอปพลิเคชัน 1C ปกติและที่ได้รับการจัดการ?

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

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

อาจต้องมีการแก้ไขซอฟต์แวร์ของแบบฟอร์มในหลายกรณี:

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

ในแบบฟอร์มที่มีการจัดการ คุณสามารถเพิ่ม เปลี่ยนแปลง และลบโดยทางโปรแกรม:

  • รายละเอียด;
  • ทีมท้องถิ่น
  • องค์ประกอบ

การดำเนินการทั้งหมดนี้ทำได้บนเซิร์ฟเวอร์เท่านั้น

การปรับรูปร่างแบบเป็นโปรแกรมมีข้อจำกัด:

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

คำสั่งเปลี่ยนรูปแบบ

เพื่อจัดการองค์ประกอบของคำสั่งสำหรับวัตถุ แบบฟอร์มที่ได้รับการจัดการมีของสะสม ทีม

    เพิ่ม (< ИмяКоманды >)

    ปริมาณ ()

    หา (< ИмяКоманды >)

    ลบ (< Команда >)

คอลเลกชัน Teams พร้อมใช้งานทั้งบนไคลเอ็นต์และเซิร์ฟเวอร์ คุณสามารถเปลี่ยนคอลเลกชัน (วิธี Add() และ Delete()) ได้บนเซิร์ฟเวอร์เท่านั้น คุณสามารถค้นหาและรับจำนวนองค์ประกอบ (วิธี Find () และ Count ()) ทั้งบนไคลเอนต์และบนเซิร์ฟเวอร์

มาสร้างตัวอย่างการทำงานกับคำสั่งแบบฟอร์มกัน ทีมใหม่ประวัติการเปลี่ยนแปลงด้วยชื่อ “ประวัติการเปลี่ยนแปลง...” ซึ่งจะเรียกตัวจัดการ ประวัติการแสดงผล- การสร้างเกิดขึ้นเมื่อเปิดแบบฟอร์ม

&บนเซิร์ฟเวอร์
ขั้นตอน WhenCreatingOnServer (ความล้มเหลว, การประมวลผลมาตรฐาน)
ทีม = ทีม เพิ่ม( "ประวัติศาสตร์การเปลี่ยนแปลง");
ทีม - การกระทำ = ;
ทีม - ชื่อเรื่อง = "ประวัติศาสตร์การเปลี่ยนแปลง...";
สิ้นสุดขั้นตอน
&บนไคลเอนต์
ขั้นตอน Connectable_DisplayHistory (Command)
// การดำเนินการคำสั่ง
สิ้นสุดขั้นตอน

ตัวจัดการคำสั่งจะต้องอยู่ในแบบฟอร์มและมีคำสั่งการคอมไพล์ &OnClient

การเปลี่ยนแปลงรายละเอียดแบบฟอร์ม

การอ่านองค์ประกอบของรายละเอียดแบบฟอร์มจะดำเนินการโดยฟังก์ชัน รับรายละเอียด(< Путь >) ส่งคืนอาร์เรย์ประเภท FormAttributes พารามิเตอร์ฟังก์ชันระบุเส้นทางไปยังแอตทริบิวต์พาเรนต์ (เป็นสตริง) หากละเว้นพารามิเตอร์หรือระบุสตริงว่าง รายละเอียดระดับบนสุดจะถูกส่งกลับ

การเปลี่ยนแปลงรายละเอียดทำได้โดยใช้วิธีการ รายละเอียดการเปลี่ยนแปลง(<รายละเอียดเพิ่มเติม>, <รายละเอียดที่ถอดออกได้>) วัตถุ แบบฟอร์มที่ได้รับการจัดการ- ไปที่พารามิเตอร์ รายละเอียดเพิ่มเติมและ รายละเอียดที่ถอดออกได้อาร์เรย์ที่มีองค์ประกอบของประเภทแอตทริบิวต์แบบฟอร์มจะถูกส่งไป

ความสนใจ!

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

มาสร้างแอตทริบิวต์แบบฟอร์มใหม่ด้วยชื่อผู้ซื้อ:


AddedDetails = อาร์เรย์ใหม่;
รายละเอียดที่เพิ่มเข้ามา เพิ่ม (คุณสมบัติแบบฟอร์มใหม่(“ผู้ซื้อ”, คำอธิบายประเภทใหม่ (“DirectoryLink. Counterparties”), “ลูกค้า”));

// การเปลี่ยนแปลงองค์ประกอบของรายละเอียด
);

การเปลี่ยนองค์ประกอบแบบฟอร์ม

เพื่อควบคุมองค์ประกอบขององค์ประกอบของวัตถุ แบบฟอร์มที่ได้รับการจัดการมีของสะสม องค์ประกอบ- การรวบรวมมีหลายวิธี:

    แทรก (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    เพิ่ม (< Имя>, < ТипЭлемента>, < Родитель >)

    ปริมาณ ()

    หา (< Имя >)

    เคลื่อนไหว(< Элемент>, < Родитель>, < МестоРасположения >)

    ลบ (< Элемент >)

คอลเลกชันรายการสามารถใช้ได้ทั้งบนไคลเอนต์และเซิร์ฟเวอร์ แก้ไขคอลเลกชัน (แทรกวิธีการ () , เพิ่ม () , ย้าย () และ ลบ () ) มีเฉพาะบนเซิร์ฟเวอร์เท่านั้น คุณสามารถค้นหาและรับจำนวนองค์ประกอบ (วิธี Find () และ Count ()) ทั้งบนไคลเอนต์และบนเซิร์ฟเวอร์ องค์ประกอบคอลเลกชันอาจเป็น:

  • กลุ่มแบบฟอร์ม;
  • ตารางฟอร์ม;
  • ฟอร์มฟิลด์;
  • ปุ่มแบบฟอร์ม

คุณสามารถกำหนดตัวจัดการเหตุการณ์ให้กับองค์ประกอบแบบฟอร์มโดยทางโปรแกรมได้ วิธีการนี้มีวัตถุประสงค์เพื่อวัตถุประสงค์เหล่านี้ เซ็ตแอคชั่น(< ИмяСобытия>, < Действие >) .

มาดูตัวอย่างทั่วไปบางส่วนของการทำงานกับคำสั่ง รายละเอียด และองค์ประกอบของฟอร์ม

การเพิ่มคำสั่งและปุ่มที่เกี่ยวข้อง:

// สร้างคำสั่ง
ทีม = ทีม เพิ่ม( "ประวัติศาสตร์การเปลี่ยนแปลง");
ทีม - การกระทำ = "ปลั๊กอิน_ประวัติการแสดงผล"; // แบบฟอร์มจะต้องมีขั้นตอนที่มีชื่อที่ระบุ
ทีม - หัวเรื่อง = "ประวัติศาสตร์การเปลี่ยนแปลง...";
// สร้างปุ่มและเชื่อมโยงกับคำสั่ง
องค์ประกอบ = รายการ เพิ่ม( "ประวัติศาสตร์การเปลี่ยนแปลง", พิมพ์("ปุ่มแบบฟอร์ม" ));
Element.CommandName = "ประวัติศาสตร์การเปลี่ยนแปลง";

การเพิ่มแอตทริบิวต์และช่องป้อนข้อมูลที่เกี่ยวข้อง:

// คำอธิบายรายละเอียดเพิ่มเติม
AddedDetails = อาร์เรย์ใหม่;
รายละเอียดที่เพิ่มเข้ามา เพิ่ม(อุปกรณ์ประกอบฉากแบบฟอร์มใหม่ (“ผู้ซื้อ” คำอธิบายประเภทใหม่ ( “DirectoryLink. คู่สัญญา”), "ลูกค้า" ));
// การเปลี่ยนองค์ประกอบของรายละเอียด
ChangeDetails (รายละเอียดเพิ่มเติม);
// การสร้างช่องป้อนข้อมูลและการเชื่อมต่อกับคุณลักษณะ
องค์ประกอบ = รายการ เพิ่ม("ผู้ซื้อ" , ประเภท("FormField" ));
องค์ประกอบ - มุมมอง = FormFieldView ช่องป้อนข้อมูล;
องค์ประกอบ - เส้นทางสู่ข้อมูล= "ผู้ซื้อ" ;

การกำหนดตัวจัดการเหตุการณ์ให้กับองค์ประกอบแบบฟอร์ม:

รายการลูกค้า. เซ็ตแอคชั่น(“เมื่อมีการเปลี่ยนแปลง”, "เชื่อมต่อ_ผู้ซื้อเมื่อเปลี่ยนแปลง");

&บนไคลเอนต์
ขั้นตอน Connected_BuyerOnChange(องค์ประกอบ)
// การกระทำของเหตุการณ์
สิ้นสุดขั้นตอน

ความสนใจ!

ขั้นตอนที่ถูกกำหนดให้เป็นตัวจัดการเหตุการณ์จากรหัสโดยใช้วิธีการ เซ็ตแอคชั่น()ขอแนะนำให้ตั้งค่าคำนำหน้า Connectable_

ความสนใจ!

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

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

ภารกิจหลักของนักพัฒนารูปแบบใด ๆ (แบบจัดการหรือแบบปกติ) คือการให้กลไกที่สะดวกแก่ผู้ใช้ในการโต้ตอบกับโปรแกรม

แพลตฟอร์ม 1C มีความสามารถในการสร้างวัตถุในรูปแบบใด ๆ แต่โดยปกติแล้วเมื่อพัฒนาโซลูชันแอปพลิเคชันโปรแกรมเมอร์จะกำหนดค่าแบบฟอร์มด้วยตนเอง

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

หนังสือ "พื้นฐานของการพัฒนาใน 1C: Taxi" เหมาะสำหรับผู้ที่เริ่มเขียนโปรแกรมแล้วและกำลังประสบปัญหาบางอย่างกับหัวข้อนี้และสำหรับผู้ที่เขียนโปรแกรมมาเป็นเวลานาน แต่ไม่เคยทำงานกับแบบฟอร์มที่ได้รับการจัดการ 1C

  1. ไม่มีเงื่อนไขทางเทคนิคที่ซับซ้อน
  2. เนื้อหาเชิงปฏิบัติมากกว่า 600 หน้า
  3. แต่ละตัวอย่างจะมาพร้อมกับภาพวาด (ภาพหน้าจอ)

รหัสโปรโมชั่นเพื่อรับส่วนลด 15% - 48PVXHeYu

บางครั้งดูเหมือนว่าการเรียนรู้ภาษาการเขียนโปรแกรมใน 1C นั้นยากและยากลำบาก ที่จริงแล้วการเขียนโปรแกรมใน 1C นั้นง่ายมาก หนังสือของฉันจะช่วยให้คุณเชี่ยวชาญการเขียนโปรแกรมใน 1C ได้อย่างรวดเร็วและง่ายดาย: และ "พื้นฐานของการพัฒนาใน 1C: Taxi"

เรียนรู้การเขียนโปรแกรมใน 1C ด้วยความช่วยเหลือของหนังสือของฉัน “การเขียนโปรแกรมใน 1C ใน 11 ขั้นตอน”

  1. ไม่มีเงื่อนไขทางเทคนิคที่ซับซ้อน
  2. เนื้อหาที่เป็นประโยชน์มากกว่า 700 หน้า
  3. แต่ละงานจะมาพร้อมกับภาพวาด (ภาพหน้าจอ)
  4. รวมปัญหาการบ้าน
  5. หนังสือเล่มนี้เขียนด้วยความชัดเจนและ ในภาษาง่ายๆ- สำหรับผู้เริ่มต้น
  6. หนังสือถูกส่งไปที่ อีเมลในรูปแบบ PDF สามารถเปิดบนอุปกรณ์ใดก็ได้!


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

คุณสามารถชำระเงินด้วยตนเอง:

Yandex.Money - 410012882996301
เว็บเงิน - R955262494655

เข้าร่วมกลุ่มของฉัน

Klyuev V.V.

http://prof1c.kklab.ru

การทำงานกับสวิตช์

โปรดคำนึงถึงผู้ใช้บริการเว็บไซต์ทุกคน - ฉันโพสต์เนื้อหาในส่วนผู้เริ่มต้น!!!

8.2 แบบฟอร์มที่ได้รับการจัดการ

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

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

เรามาสร้างไดเร็กทอรีใหม่และเพิ่มแอตทริบิวต์ "Property1" เป็นประเภท "Boolean"

ตอนนี้ไปที่แท็บแบบฟอร์มและเพิ่มแบบฟอร์มใหม่

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

แล้วเราทำอะไรผิดล่ะ?
ลองดูคุณสมบัติของอุปกรณ์ประกอบฉากเพื่อดูว่ามีการสลับไปยังประเภทของการควบคุมหรือไม่
และเราเห็นว่าสนาม Switch ไม่อยู่ที่นี่! (เราผิดพลาดตรงไหน?

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

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

ตอนนี้ดูฟอร์มสิ่งที่เราเห็น:

เราเห็น - ค่าเริ่มต้น 3 ค่า, สวิตช์ 3 ตัว แต่เราต้องการสองค่า ไปที่คุณสมบัติของแอตทริบิวต์อีกครั้งแล้วดูคุณสมบัติ "จำนวนคอลัมน์" ที่นั่น

สำหรับ 2 - ตั้งค่าจำนวนคอลัมน์ - 2

นี่อาจจะหยุดโปรแกรมเมอร์ที่เหนื่อยล้าได้นิดหน่อย)) แต่ตอนนี้ทั้งเขาและเรารู้แล้ว!

8.2 แบบฟอร์มปกติ

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

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

นี่คือลักษณะที่เราต้องเพิ่มสวิตช์เพิ่มเติม


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

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

เพิ่มองค์ประกอบการควบคุมใหม่ - สวิตช์ เพิ่ม Switch2 ในตารางพร้อมหมายเลขและคำอธิบายของสวิตช์ ตั้งค่า Switch1 ก่อนในกลุ่มแล้วกดตกลง วางตัวควบคุมที่สร้างขึ้นบนแบบฟอร์ม เราอัปเดตการกำหนดค่าฐานข้อมูล (F7) และเรียกใช้เพื่อการดีบัก

เมื่อดำเนินการ (เมื่อสร้างเอกสารใหม่ในโหมด 1C:Enterprise) เราจะเห็นว่าไม่ว่าเราจะพยายามคลิกที่ Switch2 มากแค่ไหนก็ไม่มีอะไรเกิดขึ้น องค์ประกอบต่างๆ ไม่ทำงานเท่าที่ควร มีเคล็ดลับอย่างหนึ่งที่นี่
กลับไปที่ตัวกำหนดค่า เลือกรายการเมนู แบบฟอร์ม -> ตั้งค่าลำดับการแวะ... (สิ่งสำคัญคือต้องเปิดแบบฟอร์มบนหน้าจอ)


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

ตกลง. อัปเดตการกำหนดค่าแล้วลองเรียกใช้
ยอดเยี่ยม. ทุกอย่างทำงานได้

นอกจากนี้ - วิดีโอ (ไม่มีเสียง ดังนั้นทุกอย่างชัดเจน)