การเพิ่มการประมวลผลภายนอกไปยังฐานข้อมูล การเพิ่มการประมวลผลภายนอกไปยังฐานข้อมูล รายงานเพิ่มเติมและการประมวลผลสำหรับ 1s 8.2

ไปที่เมนูด้านบน บริการ->->.

แบบฟอร์มรายการไดเร็กทอรีการประมวลผลภายนอกจะปรากฏขึ้น ในเมนูด้านบนให้กดปุ่ม เพิ่ม.

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

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

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

สำหรับ BP 3.0, ZUP 3.0, UT 11, ERP 2.0

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

ในกรณีแรก เราจะเพิ่มการประมวลผลสำหรับการกรอกไดเร็กทอรีระบบการตั้งชื่อจาก Excel

ไปที่ส่วนที่เหมาะสมของโปรแกรม:


จำเป็นต้องตั้งค่าสถานะสำหรับการใช้รายงานและการประมวลผลเพิ่มเติมตามไฮเปอร์ลิงก์ไปยังรายการวัตถุภายนอก:

ในรายการคลิก สร้าง:


ในกล่องโต้ตอบที่เปิดขึ้น ให้เลือกไฟล์ที่ต้องการสำหรับการประมวลผล:


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


เลือกส่วนที่ต้องการ (หรือหลายส่วน) สำหรับตำแหน่ง:


เขียนและปิดการ์ดวัตถุภายนอก:


ตอนนี้เรามาเปิดการประมวลผลจากอินเทอร์เฟซ:


รายการว่างเปล่า คลิก ปรับแต่งรายการ:


เลือกการประมวลผลของเรา:


ตอนนี้มีให้เลือกใช้งานแล้ว หากต้องการเปิดการประมวลผล คุณต้องคลิก ดำเนินการ:


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


หากต้องการ สามารถปรับรายการตำแหน่งได้ ( อย่าเพิ่มตำแหน่งเพิ่มเติม แต่ลบที่ไม่จำเป็นออก):


ในการยอมรับการเปลี่ยนแปลง จะต้องเขียนการ์ดออบเจ็กต์ภายนอกด้วย

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

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

1. สร้างรายงาน

ก่อนอื่น เรามาสร้างไฟล์รายงานภายนอกกันก่อน โดยไปที่ 1 วินาที 8 ในโหมด ตัวกำหนดค่า, ไปที่เมนูกันดีกว่า ไฟล์ -> ใหม่หรือคลิกที่ไอคอน เอกสารใหม่.

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

2. สร้างเค้าโครงรายงานภายนอก

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

เค้าโครงของเราจะมี 4 พื้นที่:

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

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

หลังจากนั้น ชื่อพารามิเตอร์ในเซลล์จะอยู่ในวงเล็บมุม ("<>- ส่งผลให้พื้นที่ หมวกควรมีลักษณะเช่นนี้:

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

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

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

ด้วยเหตุนี้ เราจึงควรได้เค้าโครงดังนี้:

3.สร้างแบบฟอร์มรายงาน

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

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

ผลลัพธ์ที่ได้คือแบบฟอร์มนี้:

แต่เราไม่พอใจกับสิ่งนี้ในรูปแบบนี้ มาทำการเปลี่ยนแปลงบางอย่างกันดีกว่า:

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

ผลลัพธ์ที่ได้คือแบบฟอร์มของเราจะเป็นดังนี้:

4. การเขียนโปรแกรม

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

คุณสามารถสลับระหว่างแบบฟอร์มและโมดูลได้โดยใช้แท็บที่ด้านล่างของแบบฟอร์ม

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

ขั้นตอน Button1กด(องค์ประกอบ)การทำงานกับ Dialogs.PeriodSettingHandlerPressing (PeriodStart, PeriodEnd); สิ้นสุดขั้นตอน

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

TabDoc = FormElements.TabDoc;

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

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

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

AreaHeader = Layout.GetArea("ส่วนหัว" ); AreaDataAccount = เค้าโครง GetArea( “ข้อมูลผู้รับเหมา”- AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("ส่วนท้าย" );

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

TabDoc.เคลียร์();

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

AreaHeader.Parameters.PeriodStart = PeriodStart; AreaHeader.Parameters.EndPeriod = EndPeriod;

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

TabDoc.Output(AreaHead);

ต่อไปเราจะเขียนแบบสอบถามลงในฐานข้อมูลโดยเราจะรับการหมุนเวียนของบัญชี 62 จากทะเบียนบัญชี พึ่งตนเองได้- มากำหนดตัวแปรที่คำขอของเราจะอยู่

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

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

Request.SetParameter("Account62", Charts of Accounts. Self-support. Find By Code("62" ));

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

Request.SetParameter("เริ่มต้นรอบระยะเวลา", เริ่มต้นรอบระยะเวลา); Request.SetParameter("สิ้นสุดระยะเวลา", สิ้นสุดระยะเวลา);

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

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

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

ตอนนี้เราต้องเลือกตารางฐานข้อมูล 1C 8 ที่เราต้องการ การปฏิวัติทะเบียนการบัญชี พึ่งตนเองได้- ลองหามันทางด้านซ้ายของหน้าต่างดีไซเนอร์

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

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

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

บัญชีในลำดับชั้น (&บัญชี62)

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

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

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

มากรอกนามแฝงของฟิลด์ที่เราเลือกไว้ โดยไปที่แท็บ สหภาพแรงงาน/นามแฝงและตั้งชื่อช่องที่ต้องการ

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

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

Query.Text = "เลือก - การหมุนเวียนที่สนับสนุนตนเอง Subconto1 AS คู่สัญญา - การหมุนเวียนที่สนับสนุนตนเอง Subconto2 AS ข้อตกลงคู่สัญญา - การหมุนเวียนที่สนับสนุนตนเองจำนวน TurnoverDt AS ใบเสร็จรับเงิน - การหมุนเวียนที่สนับสนุนตนเองจำนวนการหมุนเวียนKt AS Expense|จาก - การลงทะเบียนการบัญชี การบัญชีด้วยตนเอง|ผลลัพธ์ | AMOUNT(รายได้), | จำนวน(ค่าใช้จ่าย) |PO | คู่สัญญา - ข้อตกลงคู่สัญญา";

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

SelectionCounterpart = Query.Execute().Select(BypassQueryResult.ByGrouping);

วิธีนี้เราจะได้รับบันทึกผลรวมสำหรับคู่สัญญาทั้งหมด

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

ยอดรวมขาเข้า = 0; ปริมาณการใช้ทั้งหมด = 0;

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

TabDoc.StartAutoGroupingRows();

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

ในขณะที่เลือกบัญชี ถัดไป() รอบ EndCycle ;

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

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

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

FillPropertyValues ​​(AreaAccountData.Parameters, SelectionAccount);

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

TabDoc.Output(AreaDataAccount,1);

ตอนนี้สำหรับคู่สัญญารายนี้ เราจะทำการเลือกตามสัญญา

SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

เราจะดำเนินการสำรวจโดยใช้การวนซ้ำ ลาก่อน.

ในขณะที่ข้อตกลง SelectionCounterparty ถัดไป () Loop EndCycle;

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

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; กรอกค่าคุณสมบัติ(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

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

TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + ข้อตกลงคู่สัญญาตัวอย่างค่าใช้จ่าย

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

TabDoc.FinishAutoGroupingRows();

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

TabDoc.StartAutoGroupingRows(); ในขณะที่ SelectionAccount.Next() วน AreaDataAccount.Parameters.Receipt = 0 ;

AreaDataAccount.Parameters.Expense = 0 ; ชั้นใต้ดิน FillPropertyValues ​​(AreaAccountData.Parameters, SelectionAccount); เอกสารสเปรดชีต.

TabDoc.Output(AreaDataAccount,1);

SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups); ในขณะที่ SelectionCounterparty Agreement.Next() Loop AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0 ;

กรอกค่าคุณสมบัติ(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement);

TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + ข้อตกลงคู่สัญญาตัวอย่างค่าใช้จ่าย เอ็นด์ไซเคิล ; เอ็นด์ไซเคิล ; TabDoc.FinishAutoGroupingRows();ยังคงแสดงข้อมูลขั้นสุดท้ายในพื้นที่

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

บทความนี้จะกล่าวถึงตัวเลือกต่อไปนี้สำหรับออบเจ็กต์เชื่อมต่อภายนอกเพิ่มเติม:

  • การประมวลผลภายนอกเพิ่มเติมของชิ้นส่วนแบบตาราง
  • แบบฟอร์มการพิมพ์ภายนอกเพิ่มเติม
  • รายงานภายนอกเพิ่มเติม
  • การประมวลผลภายนอกเพิ่มเติม

การประมวลผลภายนอก รายงาน และแบบฟอร์มที่พิมพ์เพิ่มเติมคืออะไร




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

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

การประมวลผลภายนอกเพิ่มเติมสำหรับการกรอกชิ้นส่วนแบบตาราง

สัมมนา “Lifehacks สำหรับ 1C ZUP 3.1”
การวิเคราะห์ 15 แฮ็กชีวิตสำหรับการบัญชีใน 1C ZUP 3.1:

รายการตรวจสอบสำหรับตรวจสอบการคำนวณเงินเดือนใน 1C ZUP 3.1
วิดีโอ - การตรวจสอบบัญชีด้วยตนเองทุกเดือน:

การคำนวณเงินเดือนใน 1C ZUP 3.1
คำแนะนำทีละขั้นตอนสำหรับผู้เริ่มต้น:

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

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

นักบัญชีขอให้ใช้ความเป็นไปได้ในการกรอกเอกสารนี้โดยพนักงานที่มีกำหนดวันทำงานตรงกับวันหยุดสุดสัปดาห์เช่น "ทำงานในช่วงสุดสัปดาห์".

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

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

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

แผ่นพิมพ์ภายนอกเสริม

สัมมนา “Lifehacks สำหรับ 1C ZUP 3.1”
การวิเคราะห์ 15 แฮ็กชีวิตสำหรับการบัญชีใน 1C ZUP 3.1:

รายการตรวจสอบสำหรับตรวจสอบการคำนวณเงินเดือนใน 1C ZUP 3.1
วิดีโอ - การตรวจสอบบัญชีด้วยตนเองทุกเดือน:

การคำนวณเงินเดือนใน 1C ZUP 3.1
คำแนะนำทีละขั้นตอนสำหรับผู้เริ่มต้น:

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

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

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

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

รายงานภายนอกเพิ่มเติม

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

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

ด้วยตัวเลือกพื้นที่เก็บข้อมูลนี้ รายงานจะถูกเรียกใช้จากไดเร็กทอรีเดียวกัน (โดยการดับเบิลคลิก)

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

การประมวลผลภายนอกเพิ่มเติม

การรักษาภายนอกมีความหมายใกล้เคียงกันกับรายงานภายนอก แต่แตกต่างจากรายงานที่ใช้เพื่อดูข้อมูลฐานข้อมูลในรูปแบบที่ใช้งานง่าย การประมวลผลได้รับการออกแบบมาเพื่อเปลี่ยนแปลง แก้ไข หรือแปลงข้อมูลฐานข้อมูล ช่วงของปัญหาที่แก้ไขโดยใช้การประมวลผลภายนอกนั้นค่อนข้างกว้าง

ตัวอย่างเช่น, ประมวลผลการอัพโหลดใบแจ้งยอดเงินเดือน แม้จะมีการประมวลผลมาตรฐานใน ZUP (อ่านเกี่ยวกับเรื่องนี้) บางครั้งอาจไม่เหมาะกับธนาคารใดธนาคารหนึ่งและมีการพัฒนาการประมวลผลภายนอกที่แปลงและดาวน์โหลดข้อมูลในรูปแบบที่ต้องการ

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

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

นั่นคือทั้งหมดสำหรับวันนี้!

หากต้องการเป็นคนแรกที่รู้เกี่ยวกับสิ่งพิมพ์ใหม่ สมัครรับข้อมูลอัปเดตบล็อกของฉัน:

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

การเลือกและการประมวลผลวัตถุ (สากล)

ค้นหาอ็อบเจ็กต์ในเอกสารและไดเร็กทอรีที่ตรงตามเงื่อนไขบางประการ ประมวลผลผลการค้นหา

การหมุนเวียนของฐานข้อมูล (สากล)

ดำเนินการยกเลิกความปลอดภัยของข้อมูลของการกำหนดค่าทั่วไป:

  • ยูพีพี 3.1.
  • บีพี 1.6
  • ยูทาห์ 10.3

การลงทะเบียนการเปลี่ยนแปลงเพื่อการแลกเปลี่ยน (สากล)

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

การแปลงบันทึกกิจกรรมของผู้ใช้ (สากล)

แปลงบันทึกการกระทำของผู้ใช้ให้เป็นโปรแกรมในภาษาในตัว

การค้นหาข้อความแบบเต็มในข้อมูล (สากล)

การจัดทำดัชนีและการค้นหาข้อมูล

การค้นหาและการแทนที่ค่า (สากล)

ค้นหาและแทนที่ค่าอ้างอิงในวัตถุความปลอดภัยของข้อมูล

การตั้งค่าบันทึกเทคโนโลยี (สากล)

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

คอนโซลงาน (สากล)

ตรวจสอบพื้นหลังและงานประจำ ลบ สร้างอันใหม่

การแปลงการประมวลผลภายนอก (สากล)

การเปลี่ยนแปลงข้อมูลที่เป็นความลับ (สากล)

การเปลี่ยนแปลงแบบเลือกหรือการล้างความปลอดภัยของข้อมูลจากข้อมูลบางอย่าง

การเปลี่ยนแปลงรายละเอียดกลุ่ม (สากล)

เปลี่ยนแปลงรายละเอียดและส่วนตารางในเอกสารและหนังสืออ้างอิง

การอัปโหลดและการโหลดผู้ใช้ (สากล)

อัปโหลดและโหลดผู้ใช้ความปลอดภัยของข้อมูลลงในไฟล์ XML

การอัพโหลดข้อมูลไปยังฐานข้อมูลภายนอก (สากล)

อัปโหลดโครงสร้างข้อมูลไปยัง DBMS ภายนอกโดยใช้ ADO ในสองโหมด:

  • ยกเลิกการโหลดทั้งหมด
  • อัปโหลดการเปลี่ยนแปลง (ใช้เพื่อซิงโครไนซ์การเปลี่ยนแปลงใน IS ที่ใช้งานได้กับ IS ที่รับ) โหมดนี้ใช้กลไกแผนการแลกเปลี่ยน

รองรับ DBMS ต่อไปนี้:

  • ไมโครซอฟต์ เอสคิวแอล
  • ไอบีเอ็ม DB2
  • ออราเคิล
  • PostgreSQL
  • MySQL

การอัปโหลดและการโหลดข้อมูล XML (สากล)

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

กำลังโหลดข้อมูลจากเอกสารสเปรดชีต (สากล)

โหลดข้อมูลลงในไดเร็กทอรีและส่วนตารางจากเอกสารแบบตาราง

ทำงานในไคลเอนต์แบบหนาในโหมดแอปพลิเคชันปกติ

ขอคอนโซล (สากล)

ให้ความช่วยเหลือที่ดีเยี่ยมในการรายงานและการสร้างแบบสอบถาม

เพื่อเชื่อมต่อการประมวลผลภายนอก รายงาน และแบบฟอร์มที่พิมพ์สำหรับแพลตฟอร์ม 1C:Enterprise 8.2 มาตรฐานใหม่ได้รับการพัฒนาสำหรับการทำงานในแอปพลิเคชันที่ได้รับการจัดการ (มาตรฐานจากระบบย่อยไลบรารีมาตรฐาน 8.2) “ชิป” ได้ปรากฏขึ้นอย่างที่ไม่เคยมีมาก่อน กล่าวคือ:

    ประเภทของการประมวลผลได้รับการขยาย: การเติมวัตถุ การสร้างวัตถุที่เกี่ยวข้อง ขณะนี้ในเอกสาร คุณสามารถเพิ่มปุ่มของคุณเองสำหรับการกรอกเอกสารทั้งหมด รวมถึงปุ่มของคุณเองสำหรับการเข้าสู่ฐาน

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

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

    คุณสามารถกำหนดเวลาสำหรับการดำเนินการคำสั่งเซิร์ฟเวอร์ (บนเซิร์ฟเวอร์)

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

    คุณสามารถตั้งค่าโหมดการใช้งานได้: ห้ามใช้, แก้จุดบกพร่อง, ใช้ “ ห้ามใช้” - ไม่ทำงาน, “ การดีบัก” - มองเห็นได้เฉพาะผู้ดูแลระบบ, “ ใช้ในการดำเนินการ”

    สามารถใช้ในรูปแบบวัตถุและในรูปแบบรายการ

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

    คุณสามารถกำหนดค่าการเข้าถึงคำสั่งการประมวลผลภายนอกบางอย่างได้อย่างรวดเร็ว

    สามารถระบุได้ว่าส่วนใดของอินเทอร์เฟซการประมวลผลเพิ่มเติมและรายงานควรปรากฏ

ดังนั้นสิ่งที่สามารถเชื่อมต่อกับการกำหนดค่ามาตรฐานได้?

จากมุมมองของแพลตฟอร์ม คุณสามารถเชื่อมต่อ:

  • การประมวลผลภายนอก (ไฟล์ที่มีนามสกุล "epf")
  • รายงานภายนอก (ไฟล์ที่มีนามสกุล “erf”)

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

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

*ใช้ตัวอย่างกองบรรณาธิการ “การจัดการของบริษัทขนาดเล็ก ed. 1.2"

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

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

ฟังก์ชั่น InformationOnExternalProcessing() ส่งออก
RegistrationData = โครงสร้างใหม่;
ข้อมูลการลงทะเบียนแทรก("ชื่อ", "ตัวอย่างการใช้การประมวลผลภายนอก 8.2");
RegistrationData.Insert("SafeMode", จริง);
RegistrationData.Insert("เวอร์ชัน", "1.0");

//การประมวลผลเพิ่มเติม
//รายงานเพิ่มเติม
//เติมวัตถุ
//รายงาน
//พิมพ์แบบฟอร์ม
//การสร้างวัตถุที่เกี่ยวข้อง
RegistrationData.Insert("ดู", "การประมวลผลเพิ่มเติม");

ข้อมูลการลงทะเบียนแทรก("ข้อมูล", "การประมวลผลเสร็จสิ้นตามมาตรฐานใหม่สำหรับการเชื่อมต่อการประมวลผลภายนอก 8.2 ตัวอย่างการประมวลผล ""Hello Word"" ");

//////////// คำสั่ง ///////////////////////
tzCommand = ตารางค่าใหม่;
tzCommand.Columns.Add("ตัวระบุ");
tzCommand.Columns.Add("ดู");
tzCommand.Columns.Add("ตัวแก้ไข");
tzCommand.Columns.Add("แสดงการแจ้งเตือน");
tzCommand.Columns.Add("การใช้งาน");


stringCommands.Identifier = "1";
stringCommands.View = "คำสั่ง ""Hello Word"" (OpenForm)";

stringCommands.Use = "OpenForm";

CommandString = tzCommand.Add();
stringCommands.Identifier = "2";
stringCommands.View = "command""Hello Word""(CallClientMethod)";
stringCommands.ShowAlert = จริง;
stringCommand.Use = "CallClientMethod";

CommandString = tzCommand.Add();
stringCommands.Identifier = "3";
stringCommands.View = "command""Hello Word""(CallServerMethod)";
stringCommands.ShowAlert = จริง;
stringCommand.Use = "CallServerMethod";

RegistrationData.Insert("คำสั่ง", tzCommands);

/////////////// วัตถุประสงค์ (ในวัตถุที่ใช้) //////////////////////////
//สำหรับพิมพ์แบบฟอร์ม กรอก ใส่วัตถุที่เกี่ยวข้อง
//ArrayAssignments = อาร์เรย์ใหม่;
//Array of Assignments.Add("Document.*"); // เอกสารทั้งหมดได้รับมอบหมาย
//Array of Assignments.Add("Document.Advance Report");
//Array of Assignments.Add("Document.Buyer's Order");
//Registration Data.Insert("Destination", Array of Destination);

ส่งคืนข้อมูลการลงทะเบียน;

EndFunction

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

    ชื่อ – ชื่อย่อของการรักษา

    เวอร์ชัน - ข้อมูลเกี่ยวกับเวอร์ชันที่กำลังประมวลผล

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

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

  • Commands – ตารางค่าที่แสดงรายการคำสั่งที่ใช้ คอลัมน์ตารางค่า:
    • ตัวระบุ – สตริงใด ๆ (ตัวระบุคำสั่ง)
    • ดู - คำอธิบายคำสั่ง
    • ตัวแก้ไข - สตริง (ใช้สำหรับแบบฟอร์มที่พิมพ์เพิ่มเติม)
    • แสดงการแจ้งเตือน – หน้าต่างการแจ้งเตือนจะปรากฏขึ้นก่อนการเริ่มต้นและหลังสิ้นสุดการดำเนินการ (สำหรับคำสั่งไคลเอ็นต์และเซิร์ฟเวอร์ที่ไม่มีแบบฟอร์ม)
    • การใช้งาน – โหมดเริ่มต้นการประมวลผล:
      • OpenForm – แบบฟอร์มการประมวลผลจะเปิดขึ้น
      • CallClientMethod – เรียกวิธีการส่งออกไคลเอ็นต์ของแบบฟอร์ม
      • เรียก ServerMethod – เรียกวิธีการส่งออกจากโมดูลการประมวลผล

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