ตัวเลือกของบรรณาธิการ:

การโฆษณา

บ้าน - การกู้คืน
ตัวอย่างการอ่าน xml 1c กำลังสร้างไฟล์ XML

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

ก่อนที่จะจำเป็นต้องดำเนินการใดๆ การเปลี่ยนแปลงจะไม่สามารถย้อนกลับได้!

วิธีที่ง่ายและสะดวกที่สุดในการถ่ายโอนข้อมูลจาก 1C 8.3 ถึง 1C 8.3 Accounting 3.0 คือการใช้การประมวลผล อัปโหลดและโหลดข้อมูลในรูปแบบ XML (ดาวน์โหลด - สำหรับ 8.2 หรือสำหรับ 1C 8.3 หรือบน ITS) การรักษาเป็นแบบสากลและเหมาะสำหรับทุกรูปแบบ

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

การอัพโหลดข้อมูลไปยัง XML

ก่อนอื่น เรามาเปิดการประมวลผลในฐานข้อมูลต้นทาง (จากที่ที่เราจะขนถ่ายสินค้า) และดูที่อินเทอร์เฟซ:

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

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

หลังจากเลือกวัตถุจากส่วนตารางด้านซ้ายแล้ว คุณสามารถใช้การเลือกในส่วนตารางด้านขวาได้:


ในตัวอย่างของเรา ฉันต้องการยกเลิกการโหลดผลิตภัณฑ์ทั้งหมดที่มีชื่อ "Rake"

เมื่อการตั้งค่าทั้งหมดเสร็จสิ้นแล้ว ก็สามารถอัพโหลดข้อมูลได้ โดยคลิกที่ปุ่ม "อัปโหลดข้อมูล":


กำลังโหลดข้อมูลจาก xml ลงใน 1s 8.3.1

ข้อมูลได้ถูกยกเลิกการโหลดจากฐานข้อมูลต้นทางแล้ว ตอนนี้จำเป็นต้องถ่ายโอนไปยังฐานข้อมูลปลายทาง

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


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

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

เครื่องมือสำหรับการสร้างการอัปโหลด

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

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

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

  • กำลังขนถ่าย สร้างไฟล์ที่มีวัตถุเพจที่ผู้ใช้กำหนด
  • กำลังโหลด. อ่านไฟล์ที่ส่งออกก่อนหน้านี้และเขียนข้อมูลที่มีอยู่ในนั้นไปยังฐานข้อมูล

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

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

ขั้นตอนการอัพโหลดข้อมูลไปที่xml

มาดูวิธีการอัพโหลดจาก 1c เป็น xml ในโหมดปกติ หลังจากดาวน์โหลดการประมวลผล UploadLoadDataxml.epf แล้วเปิดขึ้นมา คุณต้องทำตามขั้นตอนต่อไปนี้:

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


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

xml

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

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


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


การประมวลผลนี้ช่วยให้คุณแลกเปลี่ยนข้อมูลระหว่างการกำหนดค่าเดียวกัน (เหมือนกัน) บนแพลตฟอร์ม 1C 8.2 - Bukh, ZUP, UT, UPP และอื่น ๆ สิ่งสำคัญคือการกำหนดค่าเหมือนกัน!

กำลังประมวลผลภาพหน้าจอ

(ภาพ)

โหมดการทำงาน

การประมวลผลใช้โหมดการทำงาน 2 โหมด: การอัพโหลด (การสร้างไฟล์อัพโหลด ระบุโดยผู้ใช้ data) และ Load (อ่านไฟล์อัพโหลดที่สร้างโดยโหมดชื่อเดียวกันและเขียนข้อมูลที่มีอยู่ในนั้น) โหมดนี้ตั้งค่าได้โดยการเลือกในช่องโหมด

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

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

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

เงื่อนไขสำหรับการบังคับใช้การประมวลผล

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

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

การกำหนดองค์ประกอบของการขนถ่าย

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

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

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

แอปพลิเคชันที่เป็นไปได้

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

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

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

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

อัปโหลดไปยัง XML

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

ฟังก์ชัน CreateXML() ส่งออก // รับชื่อของไฟล์ชั่วคราวเส้นทาง = GetTemporaryFileName() ; // เริ่มต้นคลาส "XML Record"รายการ = รายการใหม่ XML; // เปิดไฟล์ชั่วคราวเพื่อเขียน - 8 ") ; // เขียนการประกาศไฟล์ XMLบันทึก. WriteDeclarationXML() ; // บันทึก. เขียนองค์ประกอบStart("") ; เอกสารการกำหนดค่า // องค์ประกอบแรก// แอตทริบิวต์ขององค์ประกอบแรกพร้อมวันที่สร้างไฟล์ บันทึก. WriteAttribute(" สร้าง ", รูปแบบ (CurrentDate(), " DF")) ; = ปปปป-MM- ddThh:mm:ss;ดีแอลเอฟ= DT // เขียนองค์ประกอบสำหรับเอกสารการกำหนดค่าแต่ละรายการ เราใส่ชื่อของเอกสารในข้อความสำหรับเอกสารแต่ละฉบับจากข้อมูลเมตา เอกสารบันทึกวงจร WriteElementStart("เอกสาร"); บันทึก. WriteText(ชื่อเอกสาร) ; // รับข้อมูลไบนารี่ของไฟล์และนำไปไว้ในที่เก็บข้อมูลชั่วคราว BinaryData = BinaryData ใหม่ (เส้นทาง) ; ที่อยู่ = PlaceInTemporaryStorage (BinaryData, UniqueIdentifier ใหม่);ที่อยู่ผู้ส่งกลับ;

// คืนที่อยู่ของไฟล์ไปยังที่เก็บข้อมูล

EndFunction

// แต่ละองค์ประกอบที่สร้างขึ้นจะต้องเสร็จสมบูรณ์อย่างถูกต้อง หลังจากดำเนินการ “WriteStartofElement()” แล้ว จะต้องดำเนินการเมธอด “WriteEndElement()” มิฉะนั้นโครงสร้างของไฟล์ XML จะไม่ถูกต้องเทมเพลตทั่วไปสำหรับการสร้างไฟล์ XML มีลำดับดังต่อไปนี้: 1. เริ่มต้นคลาส "XML Record"รายการ = รายการใหม่ XML; - 2. เปิดไฟล์ชั่วคราวเพื่อบันทึก บันทึก. OpenFile(เส้นทาง, "UTF-8");- 3. เขียนการประกาศไฟล์ XML // บันทึก. WriteDeclarationXML() ;-

4. ++ เขียนเนื้อหาของไฟล์ XML

บันทึก. WriteElementStart("XMLElement" ;

บันทึก. เขียนEndElement() ;

// -- เขียนเนื้อหาของไฟล์ XML

5. ปิดไฟล์

บันทึก. ปิด();

ห้าขั้นตอนนี้จะสร้างไฟล์ XML เกือบทุกไฟล์

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

คุณสามารถดูตัวอย่างไฟล์ที่อัปโหลดได้ในภาพหน้าจอด้านบน

แอปพลิเคชันบุคคลที่สาม

ตามตัวอย่าง ฉันสร้างแอปพลิเคชันใน .NET Framework เพื่อสาธิตการอ่านไฟล์ XML ในแอปพลิเคชันบุคคลที่สาม

โปรแกรมอ่านไฟล์ที่สร้างขึ้นและแสดงเอกสารในรูปแบบของรายการ:

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

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

ดังนั้นการอัปโหลดไปยังไฟล์ XML (การนำเข้าบันทึก) จากฐานข้อมูลหนึ่งและการโหลดจาก XML ไปยังอีกฐานข้อมูลหนึ่งในภายหลังแสดงถึงการแลกเปลี่ยนข้อมูลในรูปแบบ XML ระหว่างฐานข้อมูล

ขั้นตอนนี้โดยเฉพาะเมื่อมีข้อมูลจำนวนมาก จะช่วยประหยัดงานที่ต้องทำเองได้มาก

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

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

แต่สำหรับผู้ใช้อย่างเป็นทางการของ Odeneski นักพัฒนาได้สร้างโปรเซสเซอร์สากล "อัปโหลด/โหลดข้อมูล XML"

สำคัญ. ส่งออกเป็น XML ใน 1C และโหลดเพิ่มเติมลงใน XML จาก 1C เป็นที่ยอมรับสำหรับการกำหนดค่าที่เหมือนกัน - มิฉะนั้นจะเสียหาย

ตัวจัดการสากล

ประเด็นสำคัญสำหรับการใช้นักพัฒนาสากล:

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

การดำเนินการมีสองโหมด: การสร้างไฟล์เมื่อบันทึกข้อมูลและการอ่าน/เขียนเมื่อนำเข้า

นอกจากนี้ผู้ใช้สามารถกำหนดข้อจำกัดเพิ่มเติมได้ทั้งเมื่อส่งออกและโหลดข้อมูล

กำลังแยกบันทึก

คุณสามารถอัปโหลดข้อมูลได้ทั้งทั่วทั้งฐานข้อมูลและเลือกเฉพาะวัตถุต่อวัตถุ

หลังจากดาวน์โหลด ติดตั้ง และเปิดตัวจัดการ จะเกิดสิ่งต่อไปนี้:

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

  1. มีการกำหนดค่าตัวกรองที่จำเป็น (เช่น ตามวันที่)
  2. เลือกพื้นที่ดิสก์แล้ว
  3. การดำเนินการเริ่มต้นขึ้นเอง

การอัปโหลดบันทึกไปยังผู้รับ

ขั้นตอนแรกในการยอมรับข้อมูลลงในฐานข้อมูลที่รับคือการเปิดโปรแกรมตัวประมวลผลในนั้น

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


ตอนนี้คุณรู้วิธีโหลดหรือยกเลิกการโหลดข้อมูลจาก 1C ในรูปแบบ XML เพื่อบันทึกข้อมูลและแลกเปลี่ยนระหว่างฐานข้อมูล

เขียนความคิดเห็นเกี่ยวกับประสบการณ์ของคุณในเรื่องนี้

2018-11-15T19:32:35+00:00

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

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

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

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

ขอแสดงความนับถือ (ครูและนักพัฒนา)

ในองค์กร การบัญชีสามารถรักษาได้ไม่เพียงแต่ในโซลูชันบนแพลตฟอร์ม 1C:Enterprise แต่ยังอยู่ในระบบซอฟต์แวร์อื่น ๆ (Galaktika, Parus, SAP ฯลฯ ) สิ่งนี้ทำให้เกิดความท้าทายในการรวมสองแอปพลิเคชันเข้าด้วยกัน

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

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

อัปโหลดไปยัง XML

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

ฟังก์ชัน CreateXML() ส่งออก // รับชื่อของไฟล์ชั่วคราวเส้นทาง = GetTemporaryFileName() ; // เริ่มต้นคลาส "XML Record"รายการ = รายการใหม่ XML; // เปิดไฟล์ชั่วคราวเพื่อเขียน- 8 " ) ; // เขียนการประกาศไฟล์ XMLบันทึก. WriteDeclarationXML() ; // บันทึก. เขียนองค์ประกอบStart("" ) ; เอกสารการกำหนดค่า // องค์ประกอบแรก// แอตทริบิวต์ขององค์ประกอบแรกพร้อมวันที่สร้างไฟล์ บันทึก. WriteAttribute(" สร้าง ", รูปแบบ (CurrentDate(), " DF" ) ) ; = ปปปป-MM- ddThh:mm:ss;// บันทึก. เขียนองค์ประกอบStart(" // เขียนองค์ประกอบสำหรับเอกสารการกำหนดค่าแต่ละรายการ เราใส่ชื่อของเอกสารในข้อความสำหรับเอกสารแต่ละฉบับจากข้อมูลเมตา เอกสารบันทึกวงจร WriteElementStart("เอกสาร"); บันทึก. WriteText(ชื่อเอกสาร) ; // รับข้อมูลไบนารี่ของไฟล์และนำไปไว้ในที่เก็บข้อมูลชั่วคราวบันทึก. WriteText(ชื่อเอกสาร) ; ที่อยู่ = PlaceInTemporaryStorage (BinaryData, UniqueIdentifier ใหม่);บันทึก. เขียนEndElement() ;

// คืนที่อยู่ของไฟล์ไปยังที่เก็บข้อมูล

EndFunction

// แต่ละองค์ประกอบที่สร้างขึ้นจะต้องเสร็จสมบูรณ์อย่างถูกต้อง หลังจากดำเนินการ “WriteStartofElement()” แล้ว จะต้องดำเนินการเมธอด “WriteEndElement()” มิฉะนั้นโครงสร้างของไฟล์ XML จะไม่ถูกต้องเอ็นด์ไซเคิล ; 1. เริ่มต้นคลาส "XML Record"บันทึก. เขียนEndElement() ; - 8 " ) ; // -บันทึก. ปิด(); บันทึก. OpenFile(เส้นทาง, "UTF-8");บันทึก. WriteElementStart("XMLElement"); 3. เขียนการประกาศไฟล์ XML // บันทึก. WriteDeclarationXML() ;บันทึก. เขียนEndElement() ;

4. ++ เขียนเนื้อหาของไฟล์ XML

บันทึก. WriteElementStart("XMLElement" ;

บันทึก. เขียนEndElement() ;

// -- เขียนเนื้อหาของไฟล์ XML

5. ปิดไฟล์

บันทึก. ปิด();

ห้าขั้นตอนนี้จะสร้างไฟล์ XML เกือบทุกไฟล์

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

คุณสามารถดูตัวอย่างไฟล์ที่อัปโหลดได้ในภาพหน้าจอด้านบน

แอปพลิเคชันบุคคลที่สาม

บันทึก. ปิด();

แอปพลิเคชั่นอ่านไฟล์ XML

กำลังประมวลผลการสร้างไฟล์ XML

จะโหลดข้อมูลที่ดาวน์โหลดจากการค้าหรือเงินเดือนลงใน 1C: การบัญชี 8.3 (แก้ไข 3.0) ได้อย่างไร

2016-12-01T12:52:06+00:00

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

  1. “. จะโหลดเข้าโปรแกรมได้อย่างไร? เริ่มต้นด้วยการสร้างสำเนาสำรอง ฝ่ายบัญชี ดังนั้นหากการดาวน์โหลดทำให้ฐานข้อมูลเสียหายเราก็สามารถกลับเข้าไปได้สถานะเริ่มต้น
  2. - มันเขียนเกี่ยวกับการสร้างสำเนาสำรอง ตอนนี้เปิดเมนู "ฟังก์ชั่นทั้งหมด
  3. "(เกี่ยวกับเรื่องนี้). ในหน้าต่างที่เปิดขึ้น ให้ค้นหารายการ "การรักษา
  4. " แล้วเปิดด้วยเครื่องหมายบวก เราค้นหาและเปิดระหว่างรายการที่กำลังประมวลผล "การแลกเปลี่ยนสากล".
  5. ".
  6. ข้อมูลในรูปแบบ XML เราระบุเส้นทางไฟล์
  7. ซึ่งเราจะโหลดข้อมูล กดปุ่ม "".

ดาวน์โหลดข้อมูล

ขอแสดงความนับถือ (ครูและนักพัฒนา)

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

- หน้าเว็บที่มีชื่อเสียงซึ่งเป็นอะนาล็อกของ XML ที่มีการตรวจสอบที่ไม่รัดกุม

ออบเจ็กต์การอ่าน/เขียน XML, FastInfoset และ HTML ขยายความสามารถในการอ่านไฟล์ข้อความด้วยการประมวลผลแท็กมาร์กอัปในตัว

นอกจากนี้ยังใช้สำหรับออบเจ็กต์ DOMBuilder/DOMRecord (ดูด้านล่าง) เป็นแหล่งข้อมูลอีกด้วย ไฟล์ XML 1C ประกอบด้วยข้อมูลข้อความ นั่นคือพวกเขาเป็นไฟล์ข้อความ

- ออบเจ็กต์ 1C XML Reader และ 1C Write XML เป็น "ส่วนเสริม" ที่ช่วยให้ทำงานกับแท็ก XML ในไฟล์ 1C ได้ง่ายขึ้น

ออบเจ็กต์ ReadingFastInfoset 1C และ WritingFastInfoset 1C, ReadingHTML 1C และ WritingHTML 1C นั้นคล้ายคลึงกับ ReadingXML 1C และ WritingXML 1C โดยสิ้นเชิง และทำหน้าที่ทำงานในลักษณะเดียวกันกับรูปแบบอื่นๆ

ไฟล์ XML 1C ที่ใช้ในตัวอย่าง

ไฟล์ XML 1C ที่ใช้ในตัวอย่าง

ไดเรกทอรี>
ไฟล์ XML 1C ที่ใช้ในตัวอย่าง
ค่าข้อความอุปกรณ์ประกอบฉาก>

การกำหนดค่า> ตัวอย่างที่ 1: การอ่านไฟล์ XML

1C ลงในแผนผังค่าโดยใช้ XML Reading 1C
//เปิดไฟล์ XML 1C เพื่ออ่านโดยใช้ ReadingXML 1C
ไฟล์ = ReadXML ใหม่ ();

File.OpenFile("D:\ConfigurationStructure.xml");
//เตรียมแผนผังค่า
//แต่ละสาขา XML สามารถมีชื่อ คุณลักษณะ และค่าได้
dzXML = NewValueTree();
dzXML.Columns.Add("ชื่อ");
dzXML.Columns.Add("มูลค่า");

//เนื่องจากสตริง XML สามารถมีได้หลายแอตทริบิวต์ เราจะเขียนลงในตารางค่า
//แต่ละแอตทริบิวต์มีชื่อและค่า
tAttributes = ตารางค่าใหม่();
tAttributes.Columns.Add("ชื่อ");
tAttributes.Columns.Add("มูลค่า");

//ระดับการซ้อนจะช่วยให้เราเข้าใจว่าเมื่อใดที่เราต้องเพิ่มสาขาที่ซ้อนกัน และเมื่อใดที่เราต้องกลับขึ้นไปในระดับหนึ่ง
ระดับการทำรัง = 0;
//บรรทัดปัจจุบันเป็นเส้นต้นไม้ จะเปลี่ยนเมื่อมีการซ้อนเพิ่มขึ้น
CurrentRow = ไม่ได้กำหนด;
//การอ่านไฟล์ XML 1C ไม่ได้ทำทีละบรรทัด แต่ตามโครงสร้าง เมื่อไฟล์สิ้นสุด การอ่านจะคืนค่า FALSE
ในขณะที่ File.Read() วนซ้ำ

// เราสนใจโหนดสามประเภท - จุดเริ่มต้นขององค์ประกอบ ข้อความ (ค่าขององค์ประกอบ) และจุดสิ้นสุดขององค์ประกอบ (เพื่อกลับไปยังระดับบนสุด)
ถ้า File.NodeType = XMLNodeType.ElementStart จากนั้น

ระดับการทำรัง = ระดับการทำรัง + 1;

//หากนี่คือบรรทัดแรก ให้เพิ่มไว้ที่ด้านบนสุดของแผนผังและบันทึกเฉพาะชื่อ
ถ้า CurrentRow = ไม่ได้กำหนดไว้แล้ว
CurrentLine = dXML.Lines.Add();
CurrentLine.Name = ไฟล์.ชื่อ;
ดำเนินการต่อ;
มิฉะนั้น
// เส้นที่ซ้อนกัน
CurrentRow = CurrentRow.Rows.Add();
CurrentLine.Name = ไฟล์.ชื่อ; //บันทึกชื่อ

// องค์ประกอบ XML นี้มีคุณลักษณะหรือไม่?
ถ้า File.NumberAttributes() > 0 แล้ว
//ถ้าใช่ ให้คัดลอกตารางว่างที่เตรียมไว้เพื่อบันทึกแอตทริบิวต์
tAttributesNode = tAttributes.Copy();
//วนไปตามจำนวนแอตทริบิวต์ขององค์ประกอบนี้
สำหรับบัญชี = 0 ตามไฟล์ จำนวนแอตทริบิวต์ () - 1 รอบ
//สำหรับแต่ละแอตทริบิวต์ ให้จำชื่อและค่าไว้
สตริง = tNodeAttributes.Add();
Line.Name = File.AttributeName(Sch);
Row.Value = File.AttributeValue(Ac);
สิ้นสุดรอบ;
//บันทึกตารางแอตทริบิวต์ขององค์ประกอบใน เส้นปัจจุบัน
CurrentRow.Attributes = tNodeAttributes;
สิ้นสุดถ้า;
สิ้นสุดถ้า;

ElseIf File.NodeType = XMLNodeType.EndElement จากนั้น
//ที่จุดเริ่มต้นขององค์ประกอบเราจะเพิ่มระดับการซ้อน ในตอนท้ายขององค์ประกอบเราจะลดระดับลง
ระดับการทำรัง = ระดับการทำรัง - 1;
// คืนค่าบรรทัดปัจจุบันขึ้นหนึ่งระดับ
CurrentRow = CurrentRow.Parent;

ElseIf File.NodeType = XMLNodeType.Text จากนั้น
//หากองค์ประกอบมีค่า ให้บันทึกมันไว้
CurrentRow.Value = ไฟล์.ค่า;

สิ้นสุดถ้า;

สิ้นสุดรอบ;

ไฟล์.ปิด();

ตัวอย่างที่ 2 การบันทึกไฟล์ 1C XML โดยใช้วัตถุ 1C Record XML

//สร้างไฟล์บันทึก XML 1C
ไฟล์ = NewXMLRecord();
File.OpenFile("D:\ConfigurationStructure.xml", "UTF-8");
File.WriteElementStart("การกำหนดค่า");

//ใช้ข้อมูลเมตาเพื่อสำรวจไดเรกทอรีทั้งหมด (สำหรับรายละเอียดเพิ่มเติม ดู "การทำงานกับข้อมูลเมตา")
สำหรับแต่ละไดเรกทอรีจาก Metadata.Directories Cycle

//WriteStartofElement - เปิดสาขา [รอง] ใหม่
File.WriteElementStart("ไดเรกทอรี");
//WriteAttribute - เขียนแอตทริบิวต์ไปยังสาขาที่เปิดก่อนหน้านี้
File.WriteAttribute("ชื่อ", Directory.Name);
File.WriteAttribute("คำพ้องความหมาย", Directory.คำพ้องความหมาย);

//ใช้ข้อมูลเมตาที่เราผ่านรายละเอียดไดเร็กทอรีทั้งหมด
สำหรับแต่ละอุปกรณ์ประกอบฉากจาก Directory.Props Cycle




สิ้นสุดรอบ;

//ใช้ข้อมูลเมตาเพื่อสำรวจส่วนตารางทั้งหมดของไดเร็กทอรี
สำหรับ PM แต่ละคนจากไดเร็กทอรี ส่วนต่างๆ ของตาราง
File.WriteElementStart("ส่วนตาราง");
File.WriteAttribute("ชื่อ", PM.Name);
File.WriteAttribute("คำพ้องความหมาย", PM.คำพ้องความหมาย);

สำหรับแต่ละอุปกรณ์ประกอบฉากจาก PM.Props Cycle
File.WriteElementStart("อุปกรณ์ประกอบฉาก");
File.WriteAttribute("ชื่อ", Attribute.Name);
File.WriteAttribute("คำพ้องความหมาย", แอตทริบิวต์.คำพ้องความหมาย);
ไฟล์.WriteEndElement();
สิ้นสุดรอบ;

ไฟล์.WriteEndElement();
สิ้นสุดรอบ;

//WriteEndElement - “ปิด” สาขาที่เปิดไว้ก่อนหน้านี้โดยใช้ WriteBeginElement
ไฟล์.WriteEndElement();
สิ้นสุดรอบ;

ไฟล์.WriteEndElement();
ไฟล์.ปิด();



 


อ่าน:


ใหม่

วิธีฟื้นฟูรอบประจำเดือนหลังคลอดบุตร:

การใช้สไตล์ใน Excel วิธีสร้างสไตล์ใหม่ของคุณเอง

การใช้สไตล์ใน Excel วิธีสร้างสไตล์ใหม่ของคุณเอง

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

เกิดข้อผิดพลาดอะไรระหว่างการติดตั้ง?

เกิดข้อผิดพลาดอะไรระหว่างการติดตั้ง?

หมายเหตุ: โปรแกรม AutoLISP สามารถทำงานได้บน AutoCAD เวอร์ชันเต็มเท่านั้น โดยจะไม่ทำงานภายใต้ AutoCAD LT (ไม่รวมกรณีโหลด...

สถานภาพทางสังคมของบุคคลในสังคม

สถานภาพทางสังคมของบุคคลในสังคม

เสนอแนะสิ่งที่กำหนดการเลือกสถานะหลักของบุคคล การใช้ข้อความและข้อเท็จจริงของชีวิตทางสังคม ตั้งสมมติฐานสองข้อ และ...

การตีความข้อผิดพลาดแบบเต็ม

การตีความข้อผิดพลาดแบบเต็ม

มีผู้ใช้จำนวนไม่น้อยที่ต้องเผชิญกับปรากฏการณ์หน้าจอสีน้ำเงินแห่งความตาย จะทำอย่างไร (Windows 7 มักเกิดปัญหานี้บ่อยที่สุด)...

ฟีดรูปภาพ อาร์เอสเอส