การประมวลผลภายนอก 1 วินาที 8.3 การเปิดแบบฟอร์ม การประมวลผลภายนอกจะถูกจัดเก็บไว้ในดิสก์แยกจากฐานข้อมูล

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

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

ในการทำเช่นนี้เราจะทำการตั้งค่าที่จำเป็นในโปรแกรมทันที (เรากำลังพิจารณาการกำหนดค่า 1C 8.3: เปิด "Enterprise Accounting 3.0" แบบฟอร์มควบคุม).

การทำเครื่องหมายที่ช่องนี้จะทำให้เราใช้การประมวลผลภายนอกได้

การสร้างการประมวลผลภายนอกใหม่ใน 1C 8.3 โดยใช้ตัวอย่าง

ตอนนี้ไปที่ตัวกำหนดค่ากัน ในเมนู "ไฟล์" เลือก "ใหม่..." หน้าต่างการเลือกมุมมองจะเปิดขึ้น สร้างไฟล์. เลือก “การประมวลผลภายนอก”:

หน้าต่างการประมวลผลภายนอกใหม่จะเปิดขึ้น ตั้งชื่อให้เธอทันที จะมีการเสนอเมื่อบันทึกการประมวลผลลงดิสก์:

มาเพิ่มแบบฟอร์มการประมวลผลแบบควบคุมใหม่กัน เราระบุว่านี่คือรูปแบบหนึ่งของการประมวลผลและเป็นการประมวลผลหลัก:

เราจะมีสองรายละเอียดในแบบฟอร์ม:

  • กลุ่มระบบการตั้งชื่อ - ลิงก์ไปยังไดเร็กทอรี "ระบบการตั้งชื่อ"
  • เลือกVATRAte – ลิงก์ไปยังการโอนอัตราภาษีมูลค่าเพิ่ม

เราสร้างรายละเอียดในคอลัมน์ "คุณสมบัติ" ในหน้าต่างด้านขวาบน ลากด้วยเมาส์ไปที่หน้าต่างด้านซ้ายบน รายละเอียดใหม่ควรปรากฏในแบบฟอร์มด้านล่างทันที

ลำดับรายละเอียดสามารถเปลี่ยนแปลงได้โดยใช้ลูกศร "ขึ้น" - "ลง":

รับบทเรียนวิดีโอ 267 บทเรียนบน 1C ฟรี:

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

ขั้นตอนที่มีชื่อเดียวกันจะถูกสร้างขึ้นในโมดูลแบบฟอร์ม ในนั้นเราจะเรียกขั้นตอนบนเซิร์ฟเวอร์:

&บนไคลเอนต์

ขั้นตอนการกำหนดอัตราภาษีมูลค่าเพิ่ม (คำสั่ง)

SetVATRAteOnServer();

สิ้นสุดขั้นตอน

ในขั้นตอนบนเซิร์ฟเวอร์ เราจะเขียนคำขอเล็กน้อยและการดำเนินการที่เกี่ยวข้องกับการกำหนดอัตรา VAT:

&บนเซิร์ฟเวอร์

ขั้นตอนการตั้งค่า VATRAteOnServer()

คำขอ = คำขอใหม่;
คำขอข้อความ =
"เลือก
| ศัพท์.ลิงค์
|จาก
| Directory.Nomenclature AS Nomenclature
|ที่ไหน
| ระบบการตั้งชื่อลิงก์ในลำดับชั้น (&กลุ่มระบบการตั้งชื่อ)
| และไม่ใช่ระบบการตั้งชื่อ MarkDeletion
| และไม่ใช่ระบบการตั้งชื่อ นี่คือกลุ่ม”;

Request.SetParameter("กลุ่มรายการ", กลุ่มรายการ);
ResRequest = คำขอดำเนินการ ();
SelectRecordDet = ResRequest.Select();

ในขณะที่ SelectRecordDet.Next() วนซ้ำ

พยายาม
SprNomObject.เขียน();
ข้อยกเว้น
รายงาน ("เกิดข้อผิดพลาดในการเขียนวัตถุ """ + SprNomObject + """!
|» + คำอธิบายข้อผิดพลาด());
สิ้นสุดความพยายาม;

สิ้นสุดรอบ;

สิ้นสุดขั้นตอน

เรากลับไปที่แท็บ "แบบฟอร์ม" เพิ่มปุ่มลงในแบบฟอร์มและเชื่อมโยงกับคำสั่ง:

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

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

นี่คือความหมายของส่วน "รายงานและการประมวลผลเพิ่มเติม"

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

คำอธิบายของฟังก์ชั่น “ข้อมูลเกี่ยวกับการประมวลผลภายนอก”

ฉันจะยกตัวอย่างเนื้อหาของฟังก์ชันนี้ จะต้องสามารถส่งออกได้และอยู่ในโมดูลการประมวลผลตามลำดับ:

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

DataForReg = โครงสร้างใหม่();
DataForReg.Insert("ชื่อ", "การตั้งค่าอัตราภาษีมูลค่าเพิ่ม");
DataForReg.Insert("SafeMode", จริง);
DataForReg.Insert("เวอร์ชัน", "ver.: 1.001");
DataForReg.Insert("ข้อมูล", "กำลังประมวลผลการตั้งค่าอัตราภาษีมูลค่าเพิ่มในไดเรกทอรีระบบการตั้งชื่อ");
DataForReg.Insert("ดู", "การประมวลผลเพิ่มเติม");

CommandTable = ตารางค่าใหม่;
TabZnCommands.Columns.Add("ตัวระบุ");
TabZnCommands.Columns.Add("การใช้งาน");
TabZnCommands.Columns.Add("ดู");

NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "เปิดการประมวลผล";
DataForReg.Insert("คำสั่ง", TabZnCommands);

ส่งกลับ DataForReg;

EndFunction

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

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

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

การเชื่อมต่อการประมวลผลภายนอกใน 1C 8.3

ในการทำงานกับการประมวลผลภายนอก (และแบบฟอร์มการพิมพ์ภายนอกก็เป็นการประมวลผลภายนอกด้วย) มีวัตถุอยู่ การประมวลผลภายนอก

ลองพิจารณาสองกรณีที่เป็นไปได้:

การประมวลผลภายนอกจะถูกจัดเก็บไว้ในดิสก์แยกจากฐานข้อมูล

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

การเปิดแบบฟอร์มการประมวลผลภายนอก

หากต้องการเปิดแบบฟอร์มการประมวลผลภายนอกโดยทางโปรแกรมใน 1C ให้ใช้ฟังก์ชัน รับแบบฟอร์ม()วัตถุ การประมวลผลภายนอกฟังก์ชันนี้มีพารามิเตอร์หลายตัว พิจารณาการเปิดแบบฟอร์มการประมวลผลหลักอย่างง่าย:


แบบฟอร์ม = กระบวนการภายนอก GetForm(ที่อยู่ไฟล์);
รูปร่าง. เปิด();

หากต้องการเปิดฟอร์มประมวลผลภายนอกรอง คุณต้องระบุชื่อ

//ตัวแปร FileAddress มีพาธแบบเต็มไปยังไฟล์ประมวลผลภายนอก
แบบฟอร์ม = กระบวนการภายนอก GetForm(ที่อยู่ไฟล์, “ไมเนอร์ฟอร์ม”) ;
รูปร่าง. เปิด();

การเปิดการประมวลผลภายนอกเป็นวัตถุ

เพื่อที่จะรับการประมวลผลภายนอกเป็นวัตถุ จะใช้ฟังก์ชัน สร้าง()วัตถุ การประมวลผลภายนอก

//ตัวแปร FileAddress มีพาธแบบเต็มไปยังไฟล์ประมวลผลภายนอก
ProcessingObject = การประมวลผลภายนอก สร้าง(ที่อยู่ไฟล์);

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

//ตัวแปร FileAddress มีพาธแบบเต็มไปยังไฟล์ประมวลผลภายนอก

แบบฟอร์มการประมวลผลหรือการพิมพ์ภายนอกที่บันทึกไว้ในฐานข้อมูล

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

หากต้องการเปิดการประมวลผลภายนอกคุณต้องมี:

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

//ตัวแปร RefLink มีลิงก์ไปยังองค์ประกอบไดเร็กทอรี ExternalProcessings
DvData = การอ้างอิง ที่เก็บข้อมูลการประมวลผลภายนอก รับ() ;
ที่อยู่ไฟล์ = GetTemporaryFileName() ;
DvData. เขียน(ที่อยู่ไฟล์);
ProcessingObject = การประมวลผลภายนอก สร้าง(ที่อยู่ไฟล์, เท็จ);