แบบฟอร์มการพิมพ์ในตัวใน 1 วินาที 8.3 สิ่งพิมพ์ วิธีสร้างแบบฟอร์มการพิมพ์ภายนอก

แบบฟอร์มการพิมพ์ในตัวใน 1 วินาที 8.3 สิ่งพิมพ์ วิธีสร้างแบบฟอร์มการพิมพ์ภายนอก

บทความนี้อธิบายวิธีเชื่อมต่อแบบฟอร์มที่พิมพ์ภายนอกกับฐานข้อมูล 1C โดยใช้ตัวอย่างการกำหนดค่า "Trade Management 10.3"

การกำหนดค่า “Trade Management 10.3” เป็นการกำหนดค่าที่เรียกว่าแบบฟอร์ม “REGULAR” และไม่ใช่ในรูปแบบ “MANAGED” เช่น “Trade Management 11.2” สำหรับแบบฟอร์ม “MANAGED” ที่เราแนะนำให้อ่าน

คำแนะนำของเรา "แสดง" วิธีเชื่อมต่อแบบฟอร์มที่พิมพ์ภายนอกใน 1C ด้วยการกำหนดค่าในแบบฟอร์ม "ปกติ" ได้แก่:

  • "การบัญชี 2.0"
  • "การจัดการการค้า 10.3"
  • “การบริหารเงินเดือนและบุคลากร 2.5”
  • "ระบบอัตโนมัติที่ครอบคลุม 1.1"
  • “การจัดการองค์กรการผลิต 1.3”
  • "ค้าปลีก 1.0"
  • และการกำหนดค่าอื่นที่คล้ายคลึงกัน

ในการเชื่อมต่อแบบฟอร์มการพิมพ์ภายนอกใน 1C เราจะต้องดำเนินการ 11 ขั้นตอน

1 - เมนู "บริการ" 2 — เลือก “แบบฟอร์มการพิมพ์ภายนอกและการประมวลผล” 3 — ถัดไป — “แบบฟอร์มที่พิมพ์ภายนอก” (ดูรูปด้านล่าง ↓)

เพื่อที่จะโน้มน้าวคุณว่าคำสั่งนี้เหมาะสำหรับการกำหนดค่าอื่น ๆ ในรูปแบบ "REGULAR" เรามาแสดงชื่อย่อเดียวกัน 1-2-3 ขั้นตอน แต่ไม่ใช่ใน “Trade Management 10.3” แต่ใน “การบัญชี 2.0” ทุกอย่างจะเหมือนเดิม ยกเว้นคำที่เปลี่ยนแปลงเล็กน้อยในย่อหน้าย่อย กล่าวคือ...

1 - เมนู "บริการ" (เช่นเดียวกับใน "UT 10.3" และอื่น ๆ )
2 - ในที่นี้ "รายงานและการประมวลผลเพิ่มเติม" ไม่ใช่ "แบบฟอร์มและการประมวลผลที่พิมพ์ภายนอก" เหมือนใน "UT 10.3"
แต่ความหมายยังคงเดิมและอยู่ในเมนู “บริการ”
3 - จากนั้น - “แบบฟอร์มการพิมพ์ภายนอกเพิ่มเติม” เช่น คำพิเศษ “เพิ่มเติม” เมื่อเปรียบเทียบกับ “UT 10.3” (ดูรูปด้านล่าง ↓)

ต่อไป เราจะใช้ตัวอย่างของ “Trade Management 10.3” ต่อไปโดยไม่มีการเปรียบเทียบที่ไม่จำเป็น
4 — คลิกที่ปุ่ม “+” เช่น "เพิ่ม". 5 — ปุ่มที่ใช้วาดโฟลเดอร์ (เมื่อวางเมาส์เหนือ คำใบ้จะปรากฏขึ้น: “แทนที่ไฟล์ประมวลผลภายนอก”)

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

7 — เลือกไดเร็กทอรีที่มีไฟล์ฟอร์มการพิมพ์ภายนอกที่เราต้องการ 8 — เลือกไฟล์ของเรา 9 — คลิก “เปิด” (ดูรูปด้านล่าง ↓)

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

นั่นคือทั้งหมดที่เราได้กรอกตาราง "ความร่วมมือของแบบฟอร์มที่พิมพ์" ด้วยพารามิเตอร์การลงทะเบียนอัตโนมัติเราเห็นชื่อของแบบฟอร์มที่พิมพ์ภายนอกที่เชื่อมต่อบางทีคุณอาจกรอกข้อมูลในช่อง "ความคิดเห็น" เป็นต้น คุณสามารถเพิ่มออบเจ็กต์ของคุณลงในตาราง "การเป็นเจ้าของแบบฟอร์มการพิมพ์" ได้ ตัวอย่างเช่น สำหรับการประมวลผล "แบบฟอร์มสัญญาที่พิมพ์ได้สากล" ของเรา ซึ่งรองรับการพิมพ์เอกสารและหนังสืออ้างอิงจำนวนมาก แต่พารามิเตอร์การลงทะเบียนอัตโนมัติจะถูกตั้งค่าไว้สำหรับพารามิเตอร์หลักเท่านั้น: 10* — คลิกที่ปุ่ม “เพิ่ม” สีเขียว และเลือกวัตถุที่จะวางสำหรับการประมวลผลด้วย ตอนนี้สิ่งที่เหลืออยู่ก็คือ- 11 - คลิกที่ปุ่ม "ตกลง" และ (ดูรูปด้านล่าง ↓)

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

หากต้องการตรวจสอบว่าสามารถพิมพ์ได้หรือไม่ ให้เปิดเอกสารในแบบฟอร์ม: “การขายสินค้าและบริการ” 13 — คลิกปุ่ม “พิมพ์”
เราจะเห็นว่าหน้าต่างสำหรับเลือกแบบฟอร์มที่พิมพ์ปรากฏขึ้นซึ่งได้แก่ - 14 — แบบฟอร์มการพิมพ์ภายนอกที่เราเชื่อมต่อ (ดูรูปด้านล่าง ↓)

ดำเนินการตามเค้าโครงมาตรฐานของแบบฟอร์มที่พิมพ์ซึ่งนักพัฒนาสร้างขึ้นในแอปพลิเคชัน (ซึ่งเรียกว่าเค้าโครง "ส่งมอบ")

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


หากต้องการเปลี่ยนเค้าโครงที่สามารถพิมพ์ได้:




การแก้ไขเค้าโครงของแบบฟอร์มที่พิมพ์เสร็จสมบูรณ์ เมื่อพิมพ์เอกสาร จะใช้เค้าโครงที่ทำการเปลี่ยนแปลง

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

เราหวังว่าคุณจะได้งานที่น่าพอใจ!

จะแทรกโลโก้บริษัทลงในเค้าโครงแบบฟอร์มที่พิมพ์ออกมาได้อย่างไร?

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


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

เราหวังว่าคุณจะได้งานที่น่าพอใจ!

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

กระบวนการพิมพ์เอกสารอิเล็กทรอนิกส์ 1C เรียกว่าแบบฟอร์มการพิมพ์ 1C

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

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

ปัญหาในการเปลี่ยนแบบฟอร์มการพิมพ์ 1C มาตรฐานคือโดยปกติไม่แนะนำให้เปลี่ยนการกำหนดค่ามาตรฐาน ไม่เช่นนั้นการอัปเดตจะยากขึ้น ดังนั้นวิธีการต่างๆ ในการใช้แบบฟอร์มการพิมพ์ 1C ภายนอกจึงเริ่มได้รับการคิดค้นขึ้นใหม่

แบบฟอร์มการพิมพ์ 1C ภายนอกเป็นเทมเพลตการพิมพ์ที่จัดเก็บแยกจากการกำหนดค่าเอง

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

วิธีการพิมพ์เอกสาร 1C

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

ทางด้านซ้ายของปุ่มพิมพ์มักจะมีปุ่มเข้าถึงด่วนไปยังแบบฟอร์มการพิมพ์ 1C ที่เลือกล่าสุด

ผลการพิมพ์มีลักษณะเช่นนี้ หากต้องการพิมพ์ไปยังเครื่องพิมพ์ คุณต้องวางเคอร์เซอร์ในแบบฟอร์มการพิมพ์ 1C กด Ctrl+P หรือปุ่มเครื่องพิมพ์บนแผงปุ่มหรือในเมนูไฟล์/พิมพ์

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

แบบฟอร์มการพิมพ์นี้มาจากไหน?

แบบฟอร์มพิมพ์ 1C อยู่ที่ไหน

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

อย่างไรก็ตาม ยังไม่เพียงพอ - เราเสนอให้เลือกตัวเลือกเพิ่มเติมมากมายเมื่อพิมพ์ ความจริงก็คือเค้าโครงแบบฟอร์มการพิมพ์ 1C จำนวนมากถูกซ่อนอยู่ในที่อื่น

กลับไปที่ด้านบนของหน้าต่างการกำหนดค่า 1C มาเปิดสาขา General จากนั้นจึงเปิดสาขา General Layouts นี่คือที่ที่เค้าโครงส่วนใหญ่ตั้งอยู่ โดยเฉพาะอย่างยิ่งสำหรับแบบฟอร์มสิ่งพิมพ์ที่รัฐควบคุม 1C - TORG 12, ใบแจ้งหนี้ ฯลฯ

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

แต่นั่นไม่ใช่ทั้งหมด! นอกจากนี้ยังมีเค้าโครงภายนอก พวกเขาเก็บไว้ที่ไหน?

กลับสู่โหมด 1C Enterprise กันเถอะ ผ่านเมนูผู้ใช้ที่มีสิทธิ์ผู้ดูแลระบบ การดำเนินการ/ไดเร็กทอรี ให้เลือกไดเร็กทอรีการประมวลผลภายนอก

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

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

เค้าโครงของแบบฟอร์มที่พิมพ์ 1C

เค้าโครงของแบบฟอร์มการพิมพ์ 1C มีลักษณะเช่นนี้

อย่างที่คุณเห็นมันถูกแบ่งออกเป็นบล็อก บล็อกอาจเป็นแนวนอน (ชื่อทางซ้าย) หรือแนวตั้ง (ชื่อทางด้านบน)

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

ในการกำหนดพื้นที่ ให้เลือกหลายแถว (หรือหลายคอลัมน์) และเลือกตาราง/ชื่อ/กำหนดชื่อจากเมนู หากต้องการลบออกก็จะมีคำสั่ง Remove name ด้วย

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

อย่างไรก็ตาม ตามค่าเริ่มต้น ชื่อเซลล์แบบกำหนดเองจะไม่แสดง หากต้องการดู ให้เลือกรายการเมนู ตาราง/ชื่อ/แสดงเซลล์ที่มีชื่อ

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

บล็อกทั่วไป (ใช้กันทั่วไป) สำหรับแผ่นพิมพ์:

  • Header – แสดงชื่อเอกสาร
  • แถว – แสดงหนึ่งแถวของตาราง บล็อกนี้จะถูกทำซ้ำหลาย ๆ ครั้งตามจำนวนแถวที่ต้องพิมพ์
  • Footer – แสดงส่วนท้ายของเอกสาร

ตอนนี้เราต้องจัดการกับ

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

  • การสร้างไฟล์แบบฟอร์มการพิมพ์ภายนอก
  • การสร้างเค้าโครงแบบฟอร์มที่พิมพ์
  • การเขียนโค้ดโปรแกรมเพื่อแสดงข้อมูลแบบฟอร์มที่พิมพ์บนหน้าจอ
  • การสร้างพารามิเตอร์สำหรับการลงทะเบียนแบบฟอร์มที่พิมพ์โดยอัตโนมัติ
  • การเชื่อมต่อแบบฟอร์มการพิมพ์ภายนอกเข้ากับฐาน 1C วิสาหกิจ.

การสร้างแบบฟอร์มการพิมพ์ 1C คำชี้แจงของปัญหา

เราจำเป็นต้องมีในการกำหนดค่า การบัญชี 2.0สร้างแบบฟอร์มการพิมพ์สำหรับเอกสาร การรับสินค้าและบริการ- ในส่วนหัวของแบบฟอร์มที่พิมพ์ แสดงข้อมูลต่อไปนี้:

  • องค์กร;
  • คู่สัญญา;
  • ข้อตกลงคู่สัญญา
  • วันที่ได้รับ.

แสดงข้อมูลในส่วนตารางเป็นตาราง สินค้าเอกสาร. ตารางควรมีคอลัมน์ต่อไปนี้:

  • ศัพท์;
  • ปริมาณ;
  • ราคา;
  • รวม;
  • และราคาของสินค้าสำหรับวันที่ปัจจุบัน (ตามประเภทราคาจากเอกสาร)

ไฟล์ประมวลผลภายนอก

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

ในหน้าต่างที่เปิดขึ้น ให้เลือกรายการ การประมวลผลภายนอก.

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

มาเพิ่มคุณสมบัติการประมวลผลภายนอกกัน LinkToObject แล้วเลือกพิมพ์ให้เขา DocumentLink การรับสินค้าและบริการ- เมื่อต้องการทำเช่นนี้ ในแผนผังข้อมูลเมตาการประมวลผลภายนอก 1C ให้เลือกรายการ รายละเอียดและกดปุ่ม เพิ่ม(ปุ่มที่มีเครื่องหมายบวกสีเขียว) หน้าต่างคุณสมบัติแอตทริบิวต์จะเปิดขึ้นทางด้านขวาของหน้าจอในฟิลด์ ชื่อมาเขียนกันเถอะ - การอ้างอิงถึงObject. ในสนาม พิมพ์กดปุ่มที่มีจุดสามจุด

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

มาบันทึกไฟล์ประมวลผลภายนอกลงในฮาร์ดไดรฟ์โดยใช้เมนู ไฟล์ -> บันทึก, รูปสัญลักษณ์ บันทึก(ฟล็อปปี้ดิสก์สีน้ำเงิน) หรือแป้นพิมพ์ลัด Ctrl+S- ตั้งชื่อไฟล์ที่บันทึกไว้ว่า “PrintedForm”

การสร้างเค้าโครงแบบฟอร์มที่พิมพ์

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

มาเพิ่มโครงร่างใหม่ในแผนผังข้อมูลเมตาการประมวลผลภายนอก เราจะไม่เปลี่ยนแปลงอะไรในหน้าต่างตัวออกแบบโครงร่างแล้วคลิกปุ่ม พร้อม.

ในเค้าโครงใหม่ที่เปิดขึ้น เราจะสร้างพื้นที่ต่างๆ ที่จำเป็นสำหรับการแสดงแบบฟอร์มที่พิมพ์ พื้นที่เลย์เอาต์ทั้งหมดที่เราต้องการจะเป็นแนวนอน ดังนั้นในการสร้างพื้นที่ใหม่ ให้เลือกจำนวนเส้นเลย์เอาต์ที่ต้องการแล้วไปที่เมนู ตาราง -> ชื่อ -> กำหนดชื่อหรือใช้แป้นพิมพ์ลัด Ctrl + Shift + Nจากนั้นกรอกชื่อภูมิภาคในช่อง เมื่อสร้างพื้นที่เลย์เอาต์ อย่ากลัวที่จะทำผิดพลาดกับจำนวนบรรทัด คุณสามารถเพิ่มหรือลบออกได้ตลอดเวลา หากต้องการลบเส้นเค้าโครง 1C ให้เลือกบรรทัดที่ต้องการแล้วเลือกรายการในเมนูบริบท ลบ- หากต้องการเพิ่มบรรทัดใหม่ให้กับเค้าโครง ให้เลือกบรรทัดใดก็ได้ในเค้าโครง และเลือกรายการในเมนูบริบท ขยาย.

การเพิ่มส่วนหัวเค้าโครง

ก่อนอื่น เรามาสร้างพื้นที่กันก่อน หมวกจะแสดงข้อมูลส่วนหัวของแบบฟอร์มที่พิมพ์ออกมา สำหรับพื้นที่นี้ เราจะต้องมีเส้นเค้าโครงเจ็ดเส้น มาเลือกกันและตามที่ฉันเขียนไว้ข้างต้นให้กดคีย์ผสม Ctrl + Shift + N, ในสนาม ชื่อเขียนว่า "หมวก" แล้วกดปุ่ม ตกลง.

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

โดยปกติแล้วเซลล์เลย์เอาต์สิบสามหรือสิบสี่เซลล์ก็เพียงพอแล้ว ให้เลือกเซลล์เหล่านั้นในแถวแรกของพื้นที่ หมวกและรวมเป็นเซลล์เดียว ( เมนูบริบท -> ผสาน- หลังจากนั้น ดับเบิลคลิกบนเซลล์ขนาดใหญ่ที่ได้ และเขียนชื่อของพารามิเตอร์ ในกรณีของเราคือ "TitleText" เพื่อให้ข้อความที่ป้อนกลายเป็นพารามิเตอร์แบบเต็มให้คลิกขวาที่เซลล์แล้วเลือกรายการในเมนูบริบท คุณสมบัติ- บนบุ๊กมาร์ก เค้าโครงมาหาสนามกันเถอะ การกรอกและเลือกค่า พารามิเตอร์- พารามิเตอร์ในรูปแบบ 1C ระบุด้วยวงเล็บปีกกา “<>».

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

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

รูปภาพนี้แสดงให้เห็นว่าพารามิเตอร์โครงร่างแตกต่างจากข้อความปกติอย่างไร

การเพิ่มส่วนหัวของตารางเค้าโครง

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

การเพิ่มตารางให้กับเค้าโครง

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

การเพิ่มส่วนท้ายให้กับเค้าโครง

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

ผลลัพธ์ที่ได้ควรเป็นเค้าโครงที่มีลักษณะดังนี้:

การสร้างแบบฟอร์มการพิมพ์ 1C การเขียนโปรแกรม

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

คุณต้องสร้างฟังก์ชันการส่งออกในโมดูลออบเจ็กต์แบบฟอร์มการพิมพ์ภายนอก ผนึก().

ฟังก์ชั่น Print() ส่งออก EndFunction

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

การเริ่มต้นตัวแปรพื้นฐาน

เรามาสร้างตัวแปรกัน แท็บด็อกซึ่งจะมีเอกสารสเปรดชีต - นี่คือแบบฟอร์มที่พิมพ์ซึ่งเราจะแสดงพื้นที่ที่กรอกของเค้าโครง

TabDoc = TabularDocument ใหม่;

ให้เป็นตัวแปร เค้าโครงเราจะได้เค้าโครงแบบฟอร์มการพิมพ์ที่เราสร้างขึ้น ในการทำเช่นนี้เราใช้ฟังก์ชันในตัว รับเค้าโครง(<ИмяМакета>).

เค้าโครง = GetLayout("เค้าโครง");

เราจะแปลงพื้นที่ทั้งหมดของเลย์เอาต์ให้เป็นตัวแปร เมื่อต้องการทำเช่นนี้ เราใช้วิธีการจัดวาง รับพื้นที่(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("ส่วนหัว"); AreaData = Layout.GetArea("ข้อมูล"); AreaFooter = Layout.GetArea("ส่วนท้าย");

การแสดงผลส่วนหัวของแบบฟอร์มที่พิมพ์ลงในเอกสารสเปรดชีต

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

Header Area.Parameters.TitleText = "พิมพ์แบบฟอร์ม"+LinkToObject.Number;

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

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = ObjectLink.Date; Header Area.Parameters.Counterparty Agreement = LinkToObject.Counterparty Agreement;

กรอกพารามิเตอร์ทั้งหมดของส่วนหัวแล้วเราจะแสดงในเอกสารสเปรดชีตที่เราสร้างขึ้นซึ่งเราใช้วิธีการนี้ เอาท์พุต(<Область>) .

TabDoc.Output(พื้นที่ส่วนหัว);

การเขียนคำร้องขอความพิการแบบพิมพ์

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

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

มาสร้างตัวแปรที่จะมีการร้องขอกัน

คำขอ = คำขอใหม่;

เราจะเขียนข้อความคำขอโดยใช้ตัวสร้างคำขอ เริ่มต้นด้วยการเขียน:

คำขอข้อความ = "";

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

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

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

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

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

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

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

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

หากต้องการกรอกพารามิเตอร์ของตารางเสมือน ให้ไปที่แท็บ ตารางและเขตข้อมูลตัวสร้างแบบสอบถามในคอลัมน์ ตารางเลือกตาราง ราคาระบบการตั้งชื่อการตัดล่าสุดและกดปุ่ม ตัวเลือกตารางเสมือนตั้งอยู่ที่ด้านบนสุด ในหน้าต่างที่เปิดขึ้นในสนาม ระยะเวลาคุณควรตั้งค่าพารามิเตอร์ที่จะผ่านวันที่ที่จะทำการลดราคา ในกรณีของเรา นี่จะเป็นวันที่ปัจจุบัน (นั่นคือ วันนี้) ดังนั้นเราจะเรียกพารามิเตอร์ “&CurrentDate” ในช่องเงื่อนไข เราจะเขียนเงื่อนไขสำหรับประเภทราคา เราจะส่งเงื่อนไขดังกล่าวในพารามิเตอร์ด้วย ซึ่งเราจะเรียกว่า "&ประเภทราคา" สภาพผลลัพธ์จะมีลักษณะเช่นนี้ (โดยที่ ประเภทราคา- ลงทะเบียนการวัด ราคาสินค้า):

ประเภทราคา = &ประเภทราคา

กรอกพารามิเตอร์ตารางเสมือนแล้วคลิกปุ่ม ตกลง.

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

ควรสังเกตด้วยว่าในการเลือกแบบสอบถามเราจำเป็นต้องได้รับแถวทั้งหมดจากส่วนของแท็บ สินค้าและราคาเฉพาะเมื่อมีในวันที่ปัจจุบันสำหรับประเภทราคาเอกสาร ดังนั้นข้อมูลแบบตาราง สินค้าจำเป็นต้องระบุ แต่ไม่มีข้อมูลรายละเอียดราคา ดังนั้นในความสัมพันธ์ระหว่างตารางเหล่านี้จึงจำเป็นต้องใช้สิ่งที่เรียกว่า LEFT JOIN และตารางด้านซ้าย (หรือจำเป็น) จะเป็น การรับสินค้าบริการสินค้าและด้านขวา (หรือทางเลือก) PriceNomenclatureSliceLast เพื่อให้การรวมด้านซ้ายของตารางคิวรีทำงานตามที่อธิบายไว้ข้างต้น คุณต้องทำเครื่องหมายในช่อง ทั้งหมดหลังสนาม ตารางที่ 1.


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

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

Request.Text = "SELECT | Receipt of GoodsServicesProducts.Nomenclature, | Receipt of GoodsServicesProducts.Amount, | Receipt of GoodsServicesProducts.Price, | Receipt of GoodsServicesProducts.Quantity, | PriceNomenclature Slice of Last.Price AS PriceToday | FROM | เอกสาร ใบเสร็จรับเงินของ GoodsServices.Goods AS Receipt ProductsServices Products |. การเชื่อมต่อด้านซ้าย

ดำเนินการตามคำขอ

เราจะส่งพารามิเตอร์ที่จำเป็นไปยังคำขอ เพื่อสิ่งนี้เราจะใช้วิธีการร้องขอ ตั้งค่าพารามิเตอร์(<ИмяПараметра>,<Значение>). หากต้องการรับวันที่ปัจจุบัน ให้ใช้ฟังก์ชันในตัว วันที่ปัจจุบัน()จะส่งกลับวันที่และเวลาของคอมพิวเตอร์

มาเรียกใช้แบบสอบถามเพื่อรับตัวอย่างพร้อมข้อมูลที่เราต้องการ เมื่อต้องการทำเช่นนี้ ขั้นแรกให้ใช้วิธีการร้องขอ วิ่ง()แล้วก็วิธีการ เลือก().

เลือก = Query.Run().Select();

กรอกตารางแบบฟอร์มที่พิมพ์

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

ในขณะที่ Select.Next() วนรอบ EndLoop;

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

ผลรวมทั้งหมด = 0; ปริมาณทั้งหมด = 0;

ภายในวงเราจะเติมเต็มพื้นที่ ข้อมูลข้อมูลจากองค์ประกอบการเลือกปัจจุบันไปเป็นตัวแปร ยอดรวมและ ปริมาณทั้งหมดเพิ่มค่าผลรวมและปริมาณ และสุดท้าย แสดงพื้นที่ในเอกสารสเปรดชีตโดยใช้วิธีที่เราคุ้นเคยอยู่แล้ว เอาท์พุต()- เนื่องจากชื่อของฟิลด์คำขอของเราตรงกับชื่อของพารามิเตอร์พื้นที่อย่างสมบูรณ์ ข้อมูลจากนั้นในการกรอกข้อมูลเราจะใช้ขั้นตอนในตัว FillPropertyValues(<Приемник>, <Источник>) ซึ่งคัดลอกค่าคุณสมบัติ<Источника>ถึงคุณสมบัติ<Приемника>.

ในขณะที่ Selection.Next() วนซ้ำ FillPropertyValues ​​(AreaData.Parameters, Selection);

TotalSum = TotalSum + ตัวอย่างผลรวม;

TotalQuantity = TotalQuantity + ตัวอย่าง.ปริมาณ; ชั้นใต้ดิน TabDoc.Output(AreaData); สิ้นสุดรอบ;

การส่งออกส่วนท้ายของแบบฟอร์มที่พิมพ์ออกมาลงในเอกสารสเปรดชีต

ยังคงเติมและแสดงพื้นที่สุดท้ายของเค้าโครง - - เราได้เตรียมข้อมูลสำหรับการกรอก กรอก และถอนเงินไว้แล้วตามแผนเดียวกัน AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

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

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

กลับ TabDoc;

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

มันทำได้ดังนี้:

  • ในการประมวลผลภายนอก เราสร้างเค้าโครงใหม่ เราเรียกมันว่า "Settings_Auto-Registration" (สิ่งสำคัญคืออย่าทำผิดพลาด!)
  • ในเซลล์แรกของเค้าโครงที่เราเขียน เอกสาร.(หรือ ไดเรกทอรี) และชื่อของเอกสารที่คุณต้องการเชื่อมต่อกับแบบฟอร์มที่พิมพ์

การเชื่อมต่อแบบฟอร์มการพิมพ์ภายนอกเข้ากับฐาน

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

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

บทความนี้อธิบายวิธีเชื่อมต่อแบบฟอร์มที่พิมพ์ภายนอกกับฐานข้อมูล 1C โดยใช้ตัวอย่างการกำหนดค่า "Trade Management 11.2"

การกำหนดค่า “Trade Management 11.2” เป็นการกำหนดค่าในแบบฟอร์ม “MANAGED”!

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

  • "การบัญชี 3.0"
  • "การจัดการการค้า 11.2"
  • “การบริหารเงินเดือนและบุคลากร 3.1”
  • "ระบบอัตโนมัติที่ครอบคลุม 2.0"
  • "การบริหารจัดการบริษัทขนาดเล็ก 1.6"
  • "ค้าปลีก 2.2"
  • และการกำหนดค่าอื่นที่คล้ายคลึงกัน

ในการเชื่อมต่อแบบฟอร์มการพิมพ์ภายนอกใน 1C เราจะต้องดำเนินการ 11 ขั้นตอน

1 — เมนู “ข้อมูลหลักและการดูแลระบบ” (ในการกำหนดค่าอื่น เช่น ใน Enterprise Accounting 3.0 อาจเรียกง่ายๆ ว่า “การดูแลระบบ”) 2 — เลือก “แบบฟอร์มที่พิมพ์ รายงาน และการประมวลผล” (ดูรูปด้านล่าง ↓)

3 — ขยายเมนูย่อย "รายงานและการประมวลผล" (ในการกำหนดค่าอื่น ๆ เช่น Enterprise Accounting 3.0 อาจไม่มีเมนูย่อยดังกล่าว ดังนั้นเราจึงไปยังขั้นตอนถัดไปทันที) 4 — ทำเครื่องหมายที่ช่อง “การใช้รายงานและการประมวลผลเพิ่มเติม” 5 — ไปที่ส่วน: รายงานและการประมวลผลเพิ่มเติม (ดูรูปด้านล่าง ↓) ()

6 — คลิกปุ่ม “สร้าง” (ดูรูปด้านล่าง ↓)

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

8 — เลือกไดเร็กทอรีที่มีการประมวลผลอยู่ 9 — เลือกมัน (การประมวลผลที่เราต้องการ) 10 — คลิกปุ่ม “เปิด” หรือแทนที่จะทำตามขั้นตอนที่ 9 และ 10 คุณสามารถดับเบิลคลิกบนแบบฟอร์มภายนอกที่พิมพ์ออกมาที่เราต้องการในหน้าต่างการเลือกได้ (ดูรูปด้านล่าง ↓)

หากเราจำเป็นต้องเพิ่มตำแหน่งสำหรับการประมวลผลที่เพิ่ม (เช่น นี่คือแบบฟอร์มสัญญาสากลจากเว็บไซต์ของเรา และเราจำเป็นต้องมีคำสั่งให้พิมพ์แบบฟอร์มนี้เพื่อแสดงในบางวัตถุที่ไม่ได้แสดงในตอนแรก) - 11 — คลิกที่บรรทัดตำแหน่ง (“วางใน:” หรืออาจเป็น “ตำแหน่ง:”) และเลือกไดเร็กทอรีและเอกสารที่จำเป็น 12 — เราทำตามขั้นตอนในการเชื่อมต่อแบบฟอร์มการพิมพ์ภายนอกโดยคลิกปุ่ม "บันทึกและปิด" (ดูรูปด้านล่าง ↓)

แค่นั้นแหละ! ยินดีด้วย! เชื่อมต่อแผ่นพิมพ์ภายนอกแล้ว!เราทำทุกอย่างถูกต้องแล้วหรือยัง? มาตรวจสอบกัน...

ก่อนที่จะบันทึกและปิด เราสังเกตเห็นว่าแบบฟอร์มที่พิมพ์ภายนอกนี้อยู่ในเอกสารการขายสินค้าและบริการ ซึ่งหมายความว่าเราสามารถเปิดตัวเลือกการพิมพ์สำหรับเอกสารประเภทใดก็ได้: “การขายสินค้าและบริการ” กดปุ่ม "พิมพ์" และดูว่ามีหน้าต่างสำหรับเลือกแบบฟอร์มที่พิมพ์ปรากฏขึ้นในหมู่นั้นมี - 13 — แบบฟอร์มการพิมพ์ภายนอกที่เราเชื่อมต่อ (ดูรูปด้านล่าง ↓)

ตอนนี้มันแน่นอนแล้ว เราหวังว่าบทความนี้จะเป็นประโยชน์กับคุณ

มุมมอง