สิ่งพิมพ์ พารามิเตอร์สิ่งพิมพ์ในรูปแบบที่พิมพ์ 1s

คำแนะนำ

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

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

เพิ่มเค้าโครงใหม่โดยคลิกที่ปุ่มที่เกี่ยวข้องในหน้าต่างแบบฟอร์มใหม่ ตั้งชื่อมันว่า "เลย์เอาต์" สร้างพื้นที่ที่เรียกว่า "ส่วนหัว" และตั้งชื่อพารามิเตอร์ว่า "ข้อความส่วนหัว" จากนั้นคลิกที่ปุ่ม "การกระทำ" เลือกคำสั่ง "เปิดโมดูลวัตถุ" จากนั้นแทรกข้อความโมดูลคุณสามารถใช้ตัวอย่างที่โพสต์บนเว็บไซต์ http://www.uasoft.com.ua/content/articles/315/

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

แหล่งที่มา:

  • วิธีเปลี่ยนแบบฟอร์มที่พิมพ์ใน 1c

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

คุณจะต้อง

  • คอมพิวเตอร์ โปรแกรม 1C

คำแนะนำ

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

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

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

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

วิดีโอในหัวข้อ

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

คุณจะต้อง

  • - คอมพิวเตอร์ส่วนบุคคลพร้อม 1C

คำแนะนำ

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

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

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

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

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

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

แบบฟอร์มการพิมพ์มีสองประเภท:

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

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

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

แบบฟอร์มที่พิมพ์เก็บไว้ที่ไหน?

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

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

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

การสร้างแบบฟอร์มอย่างง่ายโดยใช้ Print Designer ในตัว

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

  1. ก่อนอื่น ให้เปิดในโหมด Configurator ค้นหาเอกสารที่คุณต้องการ เช่น การขายผลิตภัณฑ์และบริการ ในคุณสมบัติของเอกสาร ให้ไปที่ Actions - Designers - Print Designer
  2. เมื่อได้รับแจ้งตัวเลือกการทำงาน ให้เลือกแบบฟอร์มปกติ
  3. ตั้งชื่อเค้าโครงใหม่ เช่น "พิมพ์ใบแจ้งหนี้"
  4. เลือกรายละเอียดที่คุณต้องการดูในส่วนหัวของเอกสาร นอกจากนี้ จะต้องเลือกตามลำดับที่จะแสดง ในการเลือก คุณต้องใช้เคอร์เซอร์ไฮไลต์รายการในคอลัมน์ด้านซ้าย แล้วกดลูกศรตรงกลางหน้าจอเพื่อให้รายละเอียดปรากฏในคอลัมน์ด้านขวา
  5. ทำเครื่องหมายรายละเอียดที่จะแสดงในส่วนของตาราง การเลือกรายละเอียดเป็นไปตามหลักการเดียวกันกับย่อหน้าก่อนหน้า
  6. ในทำนองเดียวกัน ให้เลือกรายละเอียดส่วนล่างของเอกสาร
  7. ในขั้นตอนสุดท้ายของการสร้าง ให้เลือกว่าคุณต้องการพิมพ์ทันทีโดยไม่ต้องแสดงตัวอย่าง หรือไม่ว่าคุณต้องการปกป้องตารางหรือไม่ จากนั้นยืนยันการสร้างแบบฟอร์มด้วยปุ่มตกลง

การสร้างแบบฟอร์มการพิมพ์ภายนอก

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

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

ตอนนี้เรามาพูดถึงขั้นตอนเพิ่มเติมกันดีกว่า ลองดูตัวอย่างการสร้างเค้าโครง "ใบแจ้งหนี้" สำหรับเอกสาร "การขาย (การกระทำ, ใบแจ้งหนี้)"

  1. เปิดโปรแกรม 1C 8 ในโหมด Configurator
  2. คลิก ไฟล์ - ใหม่ - การประมวลผลภายนอก ตั้งชื่อ (ไม่ควรมีช่องว่าง) จากนั้นคลิก การดำเนินการ - เปิดโมดูลวัตถุ
  3. ในช่องป้อนข้อมูลที่เปิดขึ้น ให้ป้อนรหัสต่อไปนี้ (ค่าที่สามารถเปลี่ยนเป็นค่าของคุณเองได้จะถูกเน้นด้วยสีเหลือง):

ฟังก์ชั่น InformationOnExternalProcessing() ส่งออก
พารามิเตอร์การลงทะเบียน = โครงสร้างใหม่;
ArrayDestinations = อาร์เรย์ใหม่;
Array of Assignments.Add("Document.Sales of Goods and Services"); //ระบุเอกสารที่เรากำลังพิมพ์ภายนอก รูปร่าง
พารามิเตอร์การลงทะเบียนInsert("View", "PrintForm"); //อาจจะ - PrintableForm, การเติมวัตถุ, รายงานเพิ่มเติม, การสร้างวัตถุที่เกี่ยวข้อง...
พารามิเตอร์การลงทะเบียนInsert("Destination", Array of Destination);
พารามิเตอร์การลงทะเบียนInsert("ชื่อ", "คำสั่งซื้อขายสินค้า"); //ชื่อที่การประมวลผลจะถูกลงทะเบียนในไดเร็กทอรีของการประมวลผลภายนอก
พารามิเตอร์การลงทะเบียนแทรก ("SafeMode", FALSE);
พารามิเตอร์การลงทะเบียนInsert("เวอร์ชัน", "1.0");
Registration Options.Insert("ข้อมูล", "แบบฟอร์มที่พิมพ์ได้นี้ถูกสร้างขึ้นเป็นตัวอย่าง");
CommandTable = GetCommandTable();
AddCommand(CommandTable, "คำสั่งภายนอก", "ExternalOrder", "CallServerMethod", True, "พิมพ์ MXL");
พารามิเตอร์การลงทะเบียนInsert("Commands", CommandTable);
พารามิเตอร์การลงทะเบียนกลับ;
EndFunction // ข้อมูลเกี่ยวกับการประมวลผลภายนอก ()
ฟังก์ชัน GetTableCommand()
คำสั่ง = ตารางค่าใหม่;
Commands.Columns.Add("View", New TypeDescription("Row"));//คำอธิบายของแบบฟอร์มการพิมพ์สำหรับผู้ใช้จะเป็นอย่างไร
Commands.Columns.Add("ตัวระบุ", คำอธิบายประเภทใหม่ ("สตริง")); // พิมพ์ชื่อโครงร่างแบบฟอร์ม
Commands.Columns.Add("การใช้งาน", NewTypeDescription("แถว")); //เรียก ServerMethod
Commands.Columns.Add("ShowAlert", NewTypeDescription("บูลีน"));
Commands.Columns.Add("ตัวแก้ไข", NewTypeDescription("แถว"));
ทีมกลับ;
EndFunction
ขั้นตอน AddCommand (CommandTable, View, Identifier, การใช้งาน, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
NewCommand.View = ดู;
NewCommand.Identifier = ตัวระบุ;
NewCommand.Use = การใช้งาน;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = ตัวดัดแปลง;
สิ้นสุดขั้นตอน

  1. บันทึกเค้าโครงสำหรับการพิมพ์เป็นไฟล์ในโฟลเดอร์ใดๆ บนฮาร์ดไดรฟ์ของคุณ ตั้งชื่อให้เหมาะสม

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

เพิ่มคำสั่ง(ตารางคำสั่ง, “ลำดับภายนอก”, “ลำดับภายนอก”):
ขั้นตอนการพิมพ์ (อาร์เรย์ของวัตถุ, คอลเลกชันของแบบฟอร์มการพิมพ์, วัตถุพิมพ์, พารามิเตอร์เอาต์พุต) ส่งออก
การจัดการการพิมพ์.Output TabularDocumentIntoCollection(
การรวบรวมแบบฟอร์มการพิมพ์
“คำสั่งภายนอก”
“คำสั่งภายนอก”
สร้างPrintForm (ArrayofObjects, PrintObjects);
EndProcedure // พิมพ์ ()

  1. แทรกเลย์เอาต์สำหรับการกรอกแบบฟอร์มที่พิมพ์โดยคลิกที่ชื่อของแบบฟอร์มภายนอกที่มุมซ้ายล่างแล้วเลือก "เลย์เอาต์" - "เพิ่ม" - "เอกสารสเปรดชีต" ตั้งชื่อ หลังจากนั้นกรอกสเปรดชีตพร้อมข้อมูลที่จำเป็น ตัวอย่างเช่น:
    • คำสั่งซื้อหมายเลขผลิตภัณฑ์ [หมายเลขการรับรู้] จาก [วันที่รับรู้] - คลิกขวา - คุณสมบัติ - เค้าโครง - การกรอก - เทมเพลต
    • สร้างคอลัมน์ที่คุณต้องการให้ปรากฏในเอกสารของคุณ
    • เลือกเซลล์ที่ป้อนคลิกตาราง - ชื่อ - กำหนดชื่อ - ป้อนชื่อ "ส่วนหัว"
    • คัดลอกแถวที่มีส่วนหัวของตาราง เลือกคลิกขวา - คุณสมบัติ - เค้าโครง - การเติม - พารามิเตอร์
    • เลือกบรรทัดและตั้งชื่อ เช่น “StringTCH”
    • สร้างส่วนท้าย: เขียน Total ซึ่งเป็นเซลล์ที่ควรแสดงจำนวนรวม ตั้งชื่อเป็น TotalTotal เลือก "พารามิเตอร์" ในคุณสมบัติ
    • ระบุผู้รับผิดชอบ และในคุณสมบัติของเซลล์ที่จะแสดงนามสกุล ให้ระบุ "พารามิเตอร์"
    • เลือกแถวล่างและตั้งชื่อช่วง "ส่วนท้าย"
  2. ในหน้าต่างป้อนข้อมูล ให้ป้อนฟังก์ชันสำหรับสร้างแบบฟอร์มที่พิมพ์:

ฟังก์ชัน GeneratePrintForm (LinkToDocument, PrintObjects)
TabularDocument = TabularDocument ใหม่;
TabularDocument.ชื่อของพารามิเตอร์การพิมพ์ = “PRINT_PARAMETERS_Invoice สำหรับการชำระเงินให้กับ VRTU”;
รูปแบบการประมวลผล = GetLayout("ใบแจ้งการชำระเงินภายนอก");
//กรอกส่วนหัว
AreaHeader = ProcessingLayout.GetArea("ส่วนหัว");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
//ส่งออกส่วนหัวในเอกสารสเปรดชีต
TabularDocument.Output (พื้นที่ส่วนหัว);
//กรอกข้อมูลในบรรทัด PM
RowArea = ProcessingLayout.GetArea("ROW");
สำหรับแต่ละบรรทัดปัจจุบันจากลิงก์เอกสาร รอบผลิตภัณฑ์
FillPropertyValues ​​(RowArea.Parameters, CurrentRow);
TabularDocument.Output (RowArea);
สิ้นสุดรอบ;
//ต่อเติมห้องใต้ดิน
AreaFooter = ProcessingLayout.GetArea("ส่วนท้าย");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("ปริมาณ");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("จำนวน");
AreaFooter.Parameters.ResponsibleName = LinkToDocument.Manager.Name;
//ส่งออกส่วนท้ายไปยังเอกสารสเปรดชีต
TabularDocument.Output (AreaFooter);
TabularDocument.AutoScale = จริง;
กลับ TabularDocument;
EndFunction

  1. บันทึกการเปลี่ยนแปลงของคุณลงในเอกสาร
  2. ตอนนี้คุณต้องเปิดใช้งานแบบฟอร์มที่สร้างขึ้น เมื่อต้องการทำสิ่งนี้:
    • ไปที่ "การบริหาร" - "แบบฟอร์มที่พิมพ์ รายงานและการประมวลผล" - "รายงานและการประมวลผลเพิ่มเติม"
    • คลิกปุ่ม "สร้าง" เลือกไฟล์ฟอร์มภายนอกใน Explorer ยืนยันรายการของคุณด้วยปุ่ม "บันทึกและปิด"
  3. หากต้องการตรวจสอบไปที่การขาย - การขาย (การกระทำ, ใบแจ้งหนี้) คลิกปุ่ม "พิมพ์" เลือกแบบฟอร์มของคุณและตรวจสอบว่ากรอกอย่างถูกต้อง
  4. พิมพ์เอกสารหากจำเป็น

บทสรุป

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

ดังนั้น! มีการกำหนดค่า (เช่น "การจัดการการค้า" ฉบับที่ 10.3) และจำเป็นต้องพัฒนาแบบฟอร์มที่พิมพ์ภายนอก ตัวอย่างเช่น ลองใช้เอกสารมาตรฐาน "ใบแจ้งหนี้สำหรับการชำระเงินให้กับผู้ซื้อ" (แม้ว่าจะสามารถสร้างแบบฟอร์มที่พิมพ์ภายนอกได้ไม่เพียง แต่สำหรับเอกสารเท่านั้น แต่ยังสำหรับไดเรกทอรีด้วย)

ตัวอย่างสำหรับ 1C 8.3 (แบบฟอร์มที่ได้รับการจัดการ)

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

งาน

พัฒนาแบบฟอร์มที่พิมพ์ภายนอกซึ่งจะมีอยู่ในเอกสาร "ใบแจ้งหนี้สำหรับการชำระเงินให้กับผู้ซื้อ" และจะมีชื่อขององค์กร คู่สัญญา และรายการสินค้าพร้อมราคา จำนวน และปริมาณ

ไปกันเลย!

สิ่งแรกที่คุณต้องทำคือสร้างไฟล์ประมวลผลภายนอก การประมวลผลควรมีสามประเด็นหลัก:
  1. แอตทริบิวต์ "Object Link" ที่มีประเภท "DocumentLink.Invoice สำหรับการชำระเงินให้กับผู้ซื้อ"
  2. เค้าโครงที่จะพิมพ์
  3. ส่งออกฟังก์ชัน "Print()" ซึ่งส่งคืนเอกสารสเปรดชีต
การกระทำเหล่านี้สามารถดูได้ในรูปที่ 1

"การวาดโครงร่าง"

เค้าโครงของเราจะประกอบด้วยสองส่วน:
  1. ชื่อ (ส่วนหัว) ของเอกสาร (ในบริเวณนี้จะมีการวางชื่อขององค์กรและคู่สัญญา) และส่วนหัวของตาราง (พร้อมชื่อของคอลัมน์)
  2. ตารางแสดงสินค้า (คอลัมน์ที่มีชื่อ ปริมาณ และจำนวน)
รูปที่ 2 แสดงเค้าโครงของแบบฟอร์มการพิมพ์ภายนอก โปรดทราบว่าตารางและเซลล์ส่วนหัวมีพารามิเตอร์ ไม่ใช่แค่ข้อความ

ฟังก์ชั่น "พิมพ์()"

แบบฟอร์มเกือบจะพร้อมแล้ว สิ่งที่เหลืออยู่คือการเขียนการกรอกข้อมูลฟิลด์ของเอกสารสเปรดชีตโดยทางโปรแกรม การดำเนินการเหล่านี้ดำเนินการในโมดูลออบเจ็กต์การประมวลผล ในฟังก์ชันที่เรียกว่า "พิมพ์" ซึ่งจะต้องสามารถส่งออกได้
ด่านที่ 1 การรับข้อมูลสำหรับส่วนหัว กรอกพารามิเตอร์ส่วนหัว และส่งออกไปยังเอกสารสเปรดชีต TabularDocument = TabularDocument ใหม่; เค้าโครง = GetLayout("เค้าโครงของเรา");
คำขอข้อมูล = คำขอใหม่("SELECT | REPRESENTATION(ใบแจ้งหนี้สำหรับการชำระเงินให้กับผู้ซื้อ คู่สัญญา) AS คู่สัญญา | ตัวแทน(ใบแจ้งหนี้สำหรับการชำระเงินให้กับผู้ซื้อ องค์กร) AS องค์กร | FROM | เอกสาร ใบแจ้งหนี้สำหรับการชำระเงินให้กับผู้ซื้อ AS Invoice สำหรับการชำระเงินให้กับผู้ซื้อ |. WHERE |. ใบแจ้งหนี้สำหรับการชำระเงินให้กับผู้ซื้อ Link = &Link"); คำขอข้อมูล SetParameter ("ลิงก์", ObjectLink);ส่วนหัว = DataRequest.Execute().Select();

Cap.ถัดไป();

Area = Layout.GetArea("ส่วนหัว");

Area.Options.Fill(ส่วนหัว);

  1. TabularDocument.Output (พื้นที่);
  2. ด่านที่ 2 การรับข้อมูลแบบตารางและเอาต์พุตผลิตภัณฑ์ทีละบรรทัด
  3. Data Request.Text = "SELECT | _Products.LineNumber, | REPRESENTATION(_Products.Nomenclature) AS Nomenclature, | _Products.Quantity, | _Products.Price, | _Products.Amount |FROM | Document.Invoice สำหรับการชำระเงินให้กับผู้ซื้อผลิตภัณฑ์ AS _ผลิตภัณฑ์ | ที่ไหน | _ผลิตภัณฑ์ ลิงก์ = &ลิงก์";

ดึงข้อมูล = DataRequest.Execute().Select();

Area = Layout.GetArea("ข้อมูล");


ในขณะที่ Selection.Next() Loop Area.Parameters.Fill(Selection); TabularDocument.Output (พื้นที่);

สิ้นสุดรอบ;

ด่านที่ 3 ส่งคืนเอกสารสเปรดชีตและฟังก์ชันการพิมพ์

กลับ TabularDocument;

การเพิ่มแบบฟอร์มการพิมพ์ภายนอกของเราเป็น 1C

การเตรียมเค้าโครงสำหรับการพิมพ์ใน 1C

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

เราวางข้อความคงที่สำหรับการพิมพ์ใน 1C

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

ตอนนี้ในเซลล์นี้ เราจะเขียนชื่อของเอกสาร เนื่องจากนี่คือส่วนหัว เราจึงต้องการทำให้เป็นตัวหนา ตัวอักษรขนาดใหญ่ (ดูรูป) และวางไว้ตรงกลาง

เราวางการออกแบบเค้าโครงสำหรับการพิมพ์ใน 1C

เรามีพื้นที่ชื่อ String ในนั้นเมื่อพิมพ์ใน 1C แต่ละแถวของตารางของเอกสารผลิตภัณฑ์จะปรากฏขึ้น เราอาจต้องการให้ตารางดูเหมือนตารางเมื่อพิมพ์ใน 1C? จากนั้นคุณจะต้องวาดขอบเขตให้กับมัน

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

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

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

เราวางรูปภาพและดิ้นอื่น ๆ เพื่อพิมพ์ใน 1C

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

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

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

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

วิธีวางเนื้อหาของเอกสารอิเล็กทรอนิกส์เมื่อพิมพ์ใน 1C

ในการวางเนื้อหาของเอกสารอิเล็กทรอนิกส์บนเค้าโครงเมื่อพิมพ์ใน 1C จะใช้วิธีการทดแทน ประกอบด้วยสองส่วน

ส่วนที่หนึ่ง- จำเป็นต้องวางพารามิเตอร์บนเค้าโครงที่คุณจะทดแทนค่าเมื่อพิมพ์ใน 1C

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

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

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

เค้าโครง = GetLayout("ชื่อเค้าโครง");
RegionSomething = Layout.GetArea("AreaName");
RegionSomething.Parameters.ParameterName = "สิ่งที่ฉันต้องการทดแทนจากฐานข้อมูล";

อย่างที่คุณเห็น เราเพียงแต่รับโครงร่างตามชื่อ จากนั้นก็เป็นพื้นที่หนึ่ง จากนั้นเราก็เข้าถึงพารามิเตอร์ตามชื่อของมัน

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

วิธีพิมพ์เค้าโครงใน 1C

หลังจากเค้าโครงพร้อมแล้ว ก็ถึงเวลาคิดเกี่ยวกับการเขียนโปรแกรมกระบวนการพิมพ์ใน 1C

โดยปกติการพิมพ์ใน 1C จะถูกตั้งโปรแกรมโดยหลายขั้นตอนที่อยู่ในโมดูลวัตถุเอกสาร -

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

สำหรับแต่ละตัวเลือกเค้าโครง จะมีการดำเนินการขั้นตอน PrintLayoutName() ซึ่งระบุการพิมพ์ของเค้าโครงเฉพาะ นั่นคือสิ่งที่เราจะดูตอนนี้

การเขียนโปรแกรมการพิมพ์ใน 1C ประกอบด้วยสามจุด

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

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

คำขอ = คำขอใหม่;
Query.Text = "เลือก
วันที่,
ตัวเลข,
องค์กร
จาก
เอกสาร.ชื่อเอกสาร
ที่ไหน
ลิงค์ = &DocumentForPrint";
Request.SetParameter("DocumentForPrint", ลิงก์);
เลือก = Query.Run().Select();
การเลือก ถัดไป();

จุดที่ 2. การกรอกเค้าโครงสำหรับการพิมพ์ใน 1C

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

ดังนั้นเราจึงต้องได้รับเอกสารสเปรดชีตก่อน จากนั้นจึงจัดวางเค้าโครง เราพิมพ์พื้นที่ทีละรายการโดยกรอกพารามิเตอร์เค้าโครง

TabDoc = TabularDocument ใหม่;
เค้าโครง = GetLayout("ชื่อเค้าโครง"); //หรือ GetGeneralLayout("")

areaHeader = Layout.GetArea("ส่วนหัว");
TabDoc.Output (ภูมิภาค Cap);

RegionRow = Layout.GetArea("แถว");
ในขณะที่ SelectingDocumentLines.Next() วนซ้ำ
RegionLine.Parameters.Product = SelectionDocumentLines.Product;
TabDoc.Output(ภูมิภาคสตริง);
สิ้นสุดรอบ;

areaCap = Layout.GetArea("ส่วนท้าย");
TabDoc.Output (พื้นที่ Footroom);

จุดที่ 2. การพิมพ์เอกสารใน 1C

ขั้นตอนสุดท้ายคือการส่งออกเอกสารที่ได้รับไปยังหน้าจอหรือเครื่องพิมพ์ ในการกำหนดค่าทั่วไป จะใช้ขั้นตอนมาตรฐานสำหรับสิ่งนี้ (แต่ละขั้นตอนอาจมีของตัวเอง) เช่น Universal Mechanisms.PrintDocument()

ในกรณีอื่นๆ คุณสามารถใช้ฟังก์ชันมาตรฐานของออบเจ็กต์ TabularDocument: TabDoc.Show() หรือ TabDoc.Print()




สูงสุด