วิธีกำหนดช่วงเวลาในสคีมาองค์ประกอบข้อมูล เราสร้างรายงานตามความถี่ที่ระบุในระบบจัดเก็บข้อมูล
เมื่อสร้างรายงานบนระบบควบคุมการเข้าออก มักจะจำเป็นต้องแสดงการเลือกช่วงเวลาในแบบฟอร์มรายงาน เพื่อที่คุณจะได้ไม่ต้องป้อนวันที่ด้วยตนเอง แต่เลือกจากรายการช่วงเวลามาตรฐาน เช่น “ปี” , “เดือน”, “สัปดาห์” ฯลฯ สำหรับพารามิเตอร์ประเภทวันที่ คุณสามารถระบุได้เฉพาะ "ต้นปี เดือน ฯลฯ" เท่านั้น แต่ไม่ได้ระบุ "สิ้นสุด"
สิ่งสำคัญคือสำหรับประเภทข้อมูลจะมีเฉพาะประเภท "วันที่เริ่มต้นมาตรฐาน" เท่านั้น แต่ฉันก็ต้องการ "วันที่สิ้นสุดมาตรฐาน" ด้วย
มีวิธีแก้ไขสิ่งนี้
- เรามาสร้างพารามิเตอร์ใหม่กันดีกว่า เรียกว่า “Period”
- ตั้งค่าพารามิเตอร์นี้เป็นประเภท “ช่วงเวลามาตรฐาน”
- ในฟิลด์ "นิพจน์" ของพารามิเตอร์ "เริ่มต้นของช่วงเวลา" และ "สิ้นสุดระยะเวลา" ซึ่งใช้ในการร้องขอ ให้ตั้งค่านิพจน์ " &Period.StartDate" และ " &ระยะเวลาวันที่สิ้นสุด” ตามลำดับ
แต่มีความละเอียดอ่อนเล็กน้อย หากเราใช้ตารางเสมือนในการสืบค้น รายงานส่วนใหญ่จะหยุดทำงานและข้อความแสดงข้อผิดพลาดเช่น "ข้อผิดพลาดในการประมวลผลมุมมอง ประเภทไม่ตรงกัน หมายเลขพารามิเตอร์..." จะปรากฏขึ้น
เพื่อหลีกเลี่ยงปัญหานี้ คุณต้องลบพารามิเตอร์ตารางเสมือนทั้งหมด
และเพิ่มลงในตารางบนแท็บ "องค์ประกอบข้อมูล"
เพื่อให้พารามิเตอร์แสดงในการตั้งค่ารายงานด่วน ให้เปิดใช้งานแฟล็กที่เกี่ยวข้องสำหรับพารามิเตอร์รายงาน
ตอนนี้การเลือกช่วงเวลาในแบบฟอร์มรายงานจะเป็นดังนี้
บทความนี้กล่าวถึงคุณสมบัติบางประการของการตั้งค่าช่วงเวลาเมื่อใช้ Data Composition System (DCS) ปัญหาที่เกิดขึ้นเนื่องจากความแตกต่างในแนวคิดเรื่องช่วงเวลาระหว่างผู้ใช้ทั่วไปและระบบ 1C และยังแนะนำวิธีแก้ปัญหาอีกด้วย .
รายงานส่วนใหญ่ที่พัฒนาโดยใช้ Data Composition System (DCS) กำหนดให้ผู้ใช้ป้อนระยะเวลาที่จะสร้างรายงาน ตามกฎแล้ว ใน ACS รายการงวดจะถูกจัดระเบียบผ่านพารามิเตอร์ โดยใช้โครงสร้างต่อไปนี้ โปรดดู รูปที่ 1วิธีการเข้าสู่ช่วงเวลานี้ถือเป็น "คลาสสิก" โดยมีอธิบายไว้ในบทความเกี่ยวกับ ITS และวรรณกรรมอื่น ๆ ที่อุทิศให้กับการพัฒนาใน 1C ดังนั้นเรามาดูเป็นพื้นฐานกันดีกว่า ลองพิจารณาเป็นตัวอย่างคำของ่ายๆ ที่ได้รับเอกสารทั้งหมด การขายสินค้าและบริการในช่วงเวลาที่กำหนด ดู รูปที่ 2เมื่อใช้รายงานนี้ ผู้ใช้จะกำหนดช่วงเวลาผ่านพารามิเตอร์ โปรดดู รูปที่ 3ดูเหมือนว่าทุกอย่างจะถูกต้อง... แต่มีปัญหาเล็กน้อย:
ประเด็นก็คือผู้ใช้ส่วนใหญ่ "เข้าใจ" ระยะเวลาที่แตกต่างจาก 1C "เข้าใจ" ตัวอย่าง:
1). ลองพิจารณาดู รูปที่ 3
จากมุมมองของผู้ใช้ ไม่ได้ระบุระยะเวลา กล่าวคือ ไม่จำกัด กล่าวคือ ควรรวมเอกสารทั้งหมดที่ไม่มีการจำกัดวันที่ไว้ในรายงาน
“ จากมุมมอง” ของระบบ 1C มีการตั้งค่าช่วงเวลาพารามิเตอร์และ ... ขอบเขตทั้งสองเท่ากับ 01.01.0001 และเฉพาะเอกสารที่มีวันที่ว่างเท่านั้นที่จะรวมอยู่ในรายงานซึ่งในทางปฏิบัติหมายถึง จะไม่รวมเอกสารฉบับเดียว
2). ลองพิจารณาดู รูปที่ 4
จากมุมมองของผู้ใช้ รายงานควรรวมเอกสารทั้งหมดโดยเริ่มตั้งแต่วันที่ 28/01/2010
“จากมุมมอง” ของ 1C ช่วงเวลาที่ 28/01/2553 – 01/01/0001 จะทำให้เกิดข้อยกเว้น
แน่นอนคุณสามารถลองอธิบายให้ผู้ใช้ฟังว่าทำไมรายงานไม่แสดงเอกสารที่เขาคาดว่าจะเห็นและวิธีการนำเสนอช่วงเวลาจาก "มุมมอง" ของ 1C แต่นี่เป็นงานที่ไม่เห็นคุณค่าและมัน ก็ผิดเช่นกัน ก่อนอื่นโปรแกรมที่ดีควรเป็นมิตรกับผู้ใช้เนื่องจากมีโปรแกรมอยู่สำหรับผู้ใช้และไม่ใช่ในทางกลับกัน ดังนั้นคุณจะต้อง "สอน" 1C เพื่อทำความเข้าใจช่วงเวลาที่ผู้ใช้เข้าใจ กล่าวคือ:
1). ไม่ได้ระบุวันเริ่มต้นงวดและวันสิ้นสุดงวด -> เอกสารทั้งหมด
2). ระบุเฉพาะจุดเริ่มต้นของรอบระยะเวลา -> เอกสารทั้งหมดที่เริ่มต้นจากจุดเริ่มต้นของรอบระยะเวลา
3). นอกจากนี้ เราจะตรวจสอบว่าจุดสิ้นสุดของงวด >= จุดเริ่มต้นของงวด และหากไม่เป็นความจริง เราจะถือว่าไม่ได้ระบุจุดสิ้นสุดของงวด กล่าวคือ 2).
จากข้อมูลข้างต้น นิพจน์สำหรับพารามิเตอร์วันที่สิ้นสุดจะมีลักษณะดังนี้:
เลือกเมื่อ &Period.EndDate=DATETIME(1,1,1) จากนั้น DATETIME(3999,12,31,23,59,59) มิฉะนั้น เลือกเมื่อ &Period.EndDate<&Период.ДатаНачала ТОГДА ДАТАВРЕМЯ(3999,12,31,23,59,59) ИНАЧЕ &Период.ДатаОкончания КОНЕЦ КОНЕЦ
รูปแบบสุดท้ายของการออกแบบการเลือกช่วงเวลาของเราจะแสดงอยู่ใน รูปที่ 5
คุณสมบัติบางประการของการตั้งค่าระยะเวลาในระบบควบคุมการเข้าออก
รายงานส่วนใหญ่ที่พัฒนาโดยใช้ Data Composition System (DCS) กำหนดให้ผู้ใช้ป้อนระยะเวลาที่จะสร้างรายงาน
ตามกฎแล้วใน ACS การป้อนช่วงเวลาจะถูกจัดระเบียบผ่านพารามิเตอร์โดยใช้โครงสร้างต่อไปนี้ดูวิธีการป้อนช่วงเวลานี้ถือเป็น "คลาสสิก" โดยมีอธิบายไว้ในบทความเกี่ยวกับ ITS และวรรณกรรมอื่น ๆ ที่อุทิศให้กับการพัฒนาใน 1C ดังนั้น เอามาเป็นพื้นฐานกัน ลองพิจารณาเป็นตัวอย่างคำของ่ายๆ ที่ได้รับเอกสารทั้งหมด การขายสินค้าและบริการในช่วงเวลาที่กำหนด ดู
เมื่อใช้รายงานนี้ผู้ใช้จะกำหนดช่วงเวลาผ่านพารามิเตอร์ ดู ดูเหมือนว่าทุกอย่างจะถูกต้อง...แต่มีปัญหาเล็กน้อย:
ประเด็นก็คือผู้ใช้ส่วนใหญ่ "เข้าใจ" ระยะเวลาที่แตกต่างจาก 1C "เข้าใจ" ตัวอย่าง:
จากมุมมองของผู้ใช้ ไม่ได้ระบุระยะเวลา กล่าวคือ ไม่จำกัด กล่าวคือ ควรรวมเอกสารทั้งหมดที่ไม่มีการจำกัดวันที่ไว้ในรายงาน
“ จากมุมมอง” ของระบบ 1C มีการตั้งค่าช่วงเวลาพารามิเตอร์และ ... ขอบเขตทั้งสองเท่ากับ 01.01.0001 และเฉพาะเอกสารที่มีวันที่ว่างเท่านั้นที่จะรวมอยู่ในรายงานซึ่งในทางปฏิบัติหมายถึง จะไม่รวมเอกสารฉบับเดียว
จากมุมมองของผู้ใช้ รายงานควรรวมเอกสารทั้งหมดโดยเริ่มตั้งแต่วันที่ 28/01/2010
“ จากมุมมอง” ของ 1C ระยะเวลา 28/01/2553 - 01/01/0001 จะทำให้เกิดข้อยกเว้น
แน่นอนคุณสามารถลองอธิบายให้ผู้ใช้ฟังว่าทำไมรายงานไม่แสดงเอกสารที่เขาคาดว่าจะเห็นและวิธีการนำเสนอช่วงเวลาจาก "มุมมอง" ของ 1C แต่นี่เป็นงานที่ไม่เห็นคุณค่าและมัน ก็ผิดเช่นกัน ก่อนอื่นโปรแกรมที่ดีควรเป็นมิตรกับผู้ใช้เนื่องจากมีโปรแกรมอยู่สำหรับผู้ใช้และไม่ใช่ในทางกลับกัน ดังนั้นคุณจะต้อง "สอน" 1C เพื่อทำความเข้าใจช่วงเวลาที่ผู้ใช้เข้าใจ กล่าวคือ:
1). ไม่ได้ระบุวันเริ่มต้นงวดและวันสิ้นสุดงวด -> เอกสารทั้งหมด
2). ระบุเฉพาะจุดเริ่มต้นของรอบระยะเวลา -> เอกสารทั้งหมดเริ่มต้นจากจุดเริ่มต้นของรอบระยะเวลา
3). นอกจากนี้ เราจะตรวจสอบว่าจุดสิ้นสุดของงวด >= จุดเริ่มต้นของงวด และหากไม่เป็นความจริง เราจะถือว่าไม่ได้ระบุจุดสิ้นสุดของงวด กล่าวคือ 2).
จากข้อมูลข้างต้น นิพจน์สำหรับพารามิเตอร์วันที่สิ้นสุดคือ:
เมื่อ &Period.EndDate=DATETIME(1,1,1)
แล้ว วันที่และเวลา(3999,12,31)
เมื่อ&ระยะเวลาวันที่สิ้นสุด<&Период.ДатаНачала
แล้ว วันที่และเวลา(3999,12,31)วันที่และเวลา(3999,12,31,23,59,59)
&ระยะเวลาวันที่สิ้นสุด
รูปแบบสุดท้ายของการออกแบบการเลือกช่วงเวลาของเราจะแสดงอยู่ใน
หมายเหตุ: กลไกการตั้งค่าพารามิเตอร์นี้มีไว้สำหรับแพลตฟอร์มรุ่นเก่า 1C 8.1 และ 8.2 (และการกำหนดค่าที่ทำงานภายใต้การควบคุม) แพลตฟอร์ม 1C เวอร์ชันเก่ามีกลไกในตัวสำหรับควบคุมพารามิเตอร์ว่างและไม่จำเป็นต้องใช้กลไก อธิบายไว้ในบทความนี้เพิ่มเติม ในบางเวอร์ชันของแพลตฟอร์ม 1C อาจเกิดข้อผิดพลาดและการดำเนินการที่ไม่ถูกต้องได้
เอาล่ะ มาเริ่มกันเลย
เพื่อความง่ายในการทำความเข้าใจตัวอย่าง เราจะสร้างการลงทะเบียนการสะสมหมุนเวียนแบบง่ายรายการเดียว
ในกรณีของฉันนี่คือทะเบียนสะสม "การบัญชีงานระหว่างดำเนินการ"
ตัวอย่างเช่น เราจะระบุพารามิเตอร์อย่างเข้มงวด (ไม่ผ่านการกำหนดพารามิเตอร์แบบนุ่มนวลบนระบบควบคุมการเข้าออก):
โปรดทราบว่าความถี่ของตารางเสมือนคือ "บันทึก"
แต่ตามที่ระบุไว้ข้างต้น เราต้องการระยะเวลาในแง่ของช่วงเวลา ดังนั้นฉันจึงเสนอให้คำนวณฟิลด์ "ระยะเวลา" ด้วยวิธีต่อไปนี้ (ไม่ค่อยดีนัก แต่ฉันไม่เห็นตัวเลือกที่ดีกว่านี้เลย):
ดังที่เห็นได้จากภาพหน้าจอ พารามิเตอร์จะถูกส่งผ่านไปยังคำขอซึ่งผู้ใช้ระบุในแบบฟอร์ม: ค่าของการแจงนับ "ความถี่" - การแจงนับนี้มีอยู่ในโซลูชันมาตรฐานเกือบทั้งหมด
เราจะระบุประเภทที่มีอยู่ในแท็บ "พารามิเตอร์":
ด้วยการตั้งค่านี้ เราจัดรูปแบบช่วงเวลาของเราเพื่อให้ทุกสิ่งสวยงามและน่าดู)
นี่คือรูปแบบของตัวเอง:
เดือน: DF="MMMM yyyy "y.""
วัน: DF = วว.ดด.ปปปป
สัปดาห์: DF = ""สัปดาห์จาก "dd.MM.yyyy"
ไตรมาส: DF = "ถึง "ไตรมาส" ปปปป "y."
ปี: DF = "yyyy "y.""
ทศวรรษ: DF = ""ทศวรรษด้วย "dd.MM.yyyy"
ครึ่งปี: DF = ""ครึ่งปีนับจาก" dd.MM.yyyy"
นั่นคือทั้งหมดที่ ผลลัพธ์เป็นภาพที่ยอดเยี่ยม:
ขอให้เป็นวันที่ดีผู้อ่านบล็อกไซต์ที่รัก! ในบทความที่แล้ว เราได้เรียนรู้ว่าเหตุใดจึงต้องมีบทบาทเหล่านี้ และวันนี้เราจะมาดูกันในบทความที่สองของชุดนี้ การตั้งค่าบทบาทด้วยคุณสมบัติ "ระยะเวลา"และพิจารณาตัวอย่างการเติมเต็มบทบาทเหล่านี้ด้วย ส่วนที่เหลือจะคำนวณโดยใช้ฟิลด์ที่มีบทบาท "รอบระยะเวลา" เช่นเดียวกับในสนามที่มีบทบาท “มิติ” ซึ่งเราจะพูดถึงอีกครั้ง เอาล่ะ มาเริ่มกันเลย!
มาสร้างรายงานใหม่กัน:
- ใน Configurator ให้เลือกรายการเมนู "ไฟล์" - "ใหม่" - "รายงานภายนอก"
- คลิกที่ปุ่ม "เปิดแผนภาพองค์ประกอบข้อมูล" ในกล่องโต้ตอบที่เปิดขึ้น ให้คลิกปุ่ม "เสร็จสิ้น"
- ตอนนี้เรามาสร้างที่เข้าถึงตารางเสมือน “Accumulation Registers”
- คลิกขวาที่โหนด "ชุดข้อมูล" และเลือกบรรทัด "เพิ่มชุดข้อมูล - แบบสอบถาม"
- ตอนนี้คลิกที่ปุ่ม "ตัวสร้างแบบสอบถาม" มาเลือกทะเบียนการสะสม “GoodsInWarehousesRemainsAndTurnover” (การกำหนดค่า USP)
- มาเปิดกล่องโต้ตอบ "พารามิเตอร์ตารางเสมือน" และระบุว่าจะใช้ช่วงเวลา "อัตโนมัติ" นั่นคือจะสามารถระบุหลายช่วงเวลาได้
ตอนนี้เรามากำหนดค่าฟิลด์เอาต์พุตกัน ปล่อยให้สิ่งเหล่านี้เป็นฟิลด์ต่อไปนี้: "นายทะเบียน", "เดือนประจำเดือน", "ระบบการตั้งชื่อ", "คุณภาพ" และข้อมูลเกี่ยวกับยอดคงเหลือ การเพิ่มฟิลด์ทำได้โดยการดับเบิลคลิกปุ่มซ้ายของเมาส์บนฟิลด์ที่ต้องการหรือใช้ปุ่ม ">" หลังจากเพิ่มฟิลด์แล้วให้คลิกปุ่ม "ตกลง"
โปรดทราบว่าสำหรับบางฟิลด์ บทบาทที่มีคุณสมบัติ "ระยะเวลา" จะได้รับการกำหนดค่าโดยอัตโนมัติ
มาดูกันว่ามีอะไรอยู่บ้าง การตั้งค่าบทบาทสำหรับคุณสมบัติ "ระยะเวลา". ขั้นแรกให้ระบุหมายเลขลำดับของงวด การกำหนดหมายเลขจะต้องต่อเนื่องกันเริ่มจากหนึ่งจากช่วงต่ำสุดไปจนถึงสูงสุดนั่นคือก่อนอื่นจะมีหมายเลขบรรทัดตามด้วย "เครื่องบันทึก" จากนั้นวินาที วัน สัปดาห์ เดือน ไตรมาส ปี.
ดังนั้น ฟิลด์ที่ปรากฏในคำขอของเราจึงควรมีหมายเลขกำกับไว้ โปรดสังเกตว่าเรามีช่องช่วงเวลาสองช่อง - "Registrar" และ "PeriodMonth" ฟิลด์ต่ำคือ "นายทะเบียน" ถูกกำหนดไว้หนึ่งรายการ และฟิลด์สูงคือ "รอบระยะเวลาเดือน" ถูกกำหนดไว้สองรายการ เราจะดูรายละเอียดเพิ่มเติมในบทความถัดไป
มาตั้งค่ารายงานของเรากัน:
- ไปที่แท็บ "ทรัพยากร" และกำหนดทรัพยากรของรายงานของเรา
- คลิกที่ปุ่ม ">>" เพื่อเลือกฟิลด์ทั้งหมดสำหรับทรัพยากร
- ตอนนี้ไปที่แท็บ "การตั้งค่า" และสร้างการตั้งค่าในรูปแบบของรายการ
- คลิกที่ปุ่ม “ตัวออกแบบการตั้งค่าการจัดองค์ประกอบข้อมูล” (ปุ่มในรูปแบบของไม้กายสิทธิ์)
- ประเภทรายงาน: "รายการ" คลิกปุ่ม "ถัดไป"
- มากำหนดค่าฟิลด์เอาต์พุตโดยคลิกที่ปุ่ม ">>" จัดเรียงดังนี้: "PeriodMonth", "Nomenclature", "Quality", "Registrar"
- คลิกปุ่ม "ถัดไป" และตั้งค่าการจัดกลุ่ม เราจะจัดกลุ่มตามลำดับต่อไปนี้: “PeriodMonth”, “Nomenclature”, “Quality” การจัดกลุ่ม "ผู้รับจดทะเบียน" จะแสดงในรูปแบบของบันทึกโดยละเอียด
- คลิกปุ่ม "ตกลง"
มาเปิดรายงานของเรากันดีกว่า หากเราเรียกใช้รายงานนี้ เราจะเห็นคุณสมบัติบางอย่างเมื่อรับยอดคงเหลือ หากคุณดูผลลัพธ์ของรายงานอย่างใกล้ชิด คุณจะสังเกตเห็นข้อผิดพลาดหลายประการทันที โดยเฉพาะอย่างยิ่ง ด้วยเหตุผลบางประการ ในช่วงเริ่มต้นของกิจกรรมของบริษัท จะมียอดคงเหลือเริ่มต้น
และข้อผิดพลาดนี้เกี่ยวข้องกับคุณสมบัติการรับยอดคงเหลือจากนายทะเบียน เพื่อให้ยอดคงเหลือเหล่านี้แสดงได้อย่างถูกต้อง คุณจะต้องเพิ่มอีกหนึ่งฟิลด์ลงในฟิลด์ผลลัพธ์ของคำขอ - ฟิลด์ "PeriodSecond" หากต้องการเพิ่มช่อง "PeriodSecond" ให้เปิดรายงานใน Configurator แล้วคลิกปุ่ม "เปิด Data Composition Scheme" ตอนนี้คลิกที่ปุ่ม "Query Builder" และเพิ่ม "PeriodSecond" ในกรณีนี้ ช่อง "ผู้รับจดทะเบียน" จะยังคงเป็นช่องแรกของรอบระยะเวลา "PeriodSecond" จะเป็นช่องที่สอง และ "PeriodMonth" จะเป็นช่องที่สาม
วินาทีมีไว้เพื่ออะไร? ระบบองค์ประกอบข้อมูลคำนวณยอดคงเหลือโดยการคำนวณและเพื่อกำหนดตำแหน่งของเครื่องบันทึกบนแกนเวลาอย่างชัดเจนการเชื่อมโยงไปยังเครื่องบันทึกนั้นไม่เพียงพอ จำเป็นต้องใช้วินาทีด้วยนั่นคือวันที่ของเครื่องบันทึกนี้ จากนั้นระบบโครงร่างจะสามารถได้ยอดคงเหลือที่ถูกต้องโดยการคำนวณ หากเราระบุลำดับที่ถูกต้องของฟิลด์และสร้างรายงานอีกครั้ง เราจะได้รับ:
ขณะนี้ไม่มีความสมดุลเหลือสำหรับการเริ่มกิจกรรมภายใต้ระบบการตั้งชื่อของแท่น แล้วงวดหน้าจะตรงกับยอดสุดท้ายคือเห็นผลจริงครับ คุณสามารถดาวน์โหลดรายงานตัวอย่างได้จากลิงก์ด้านล่าง คุณชอบบทความนี้หรือไม่? อะไรเปลี่ยนได้ อะไรเพิ่มได้? อย่าลังเลที่จะแบ่งปันเกี่ยวกับเรื่องนี้ในความคิดเห็น!
ในตอนท้ายของบทความฉันอยากจะแนะนำ Anatoly Sotnikov ฟรีให้คุณ หลักสูตรนี้เป็นหลักสูตรจากโปรแกรมเมอร์ที่มีประสบการณ์ โดยจะแสดงให้คุณเห็นถึงวิธีสร้างรายงานในระบบควบคุมการเข้าใช้งานแยกกัน คุณเพียงแค่ต้องตั้งใจฟังและจำไว้! คุณจะได้รับคำตอบสำหรับคำถามต่อไปนี้:บางทีคุณไม่ควรพยายามท่องอินเทอร์เน็ตด้วยตนเองเพื่อค้นหาข้อมูลที่จำเป็น นอกจากนี้ทุกอย่างก็พร้อมใช้งาน เพิ่งเริ่มต้น! รายละเอียดทั้งหมดเกี่ยวกับสิ่งที่อยู่ในบทเรียนวิดีโอฟรี
- จะสร้างรายงานรายการอย่างง่ายได้อย่างไร?
- คอลัมน์ฟิลด์ เส้นทาง และชื่อเรื่องบนแท็บ "ฟิลด์" มีไว้เพื่ออะไร
- ข้อจำกัดสำหรับฟิลด์เค้าโครงมีอะไรบ้าง
- จะกำหนดบทบาทให้ถูกต้องได้อย่างไร?
- บทบาทของฟิลด์โครงร่างคืออะไร?
- ฉันจะหาแท็บองค์ประกอบข้อมูลในการสืบค้นได้ที่ไหน
- จะกำหนดค่าพารามิเตอร์ในระบบควบคุมการเข้าออกได้อย่างไร?
- มันน่าสนใจยิ่งขึ้นไปอีก...
นี่คือหนึ่งในบทเรียนเกี่ยวกับการบุ๊กมาร์กองค์ประกอบข้อมูลในแบบสอบถาม: