แลกเปลี่ยนผ่านรูปแบบสากล การแลกเปลี่ยนข้อมูลอัตโนมัติโดยใช้การประมวลผล "การแลกเปลี่ยนข้อมูลสากลในรูปแบบ XML" โดยไม่ต้องเปลี่ยนการกำหนดค่าการแลกเปลี่ยนสากลในรูปแบบ xml การขายปลีก 1c

สิ่งที่จำเป็นสำหรับการแลกเปลี่ยนข้อมูลอัตโนมัติโดยไม่ต้องทำการเปลี่ยนแปลงการกำหนดค่า:
1) การประมวลผล "การแลกเปลี่ยนข้อมูลสากลในรูปแบบ XML"ซึ่งรวมอยู่ในการกำหนดค่ามาตรฐานส่วนใหญ่ หากไม่มีอยู่ก็ค้นหาได้ง่ายบนดิสก์ ITS หรือบนอินเทอร์เน็ต ในการกำหนดค่าเรียกว่า "การแลกเปลี่ยนข้อมูล XML สากล"
2) กฎการแลกเปลี่ยนข้อมูลสร้างโดยใช้ "การแปลงข้อมูล" งานที่คุณจะต้องเชี่ยวชาญ นอกจากนี้ยังมีหลักสูตรวิดีโอและบทช่วยสอนอีกด้วย ตัวอย่างเช่น: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) การประมวลผลภายนอกซึ่งมีขั้นตอนการขนถ่าย มาเริ่มสร้างมันกันเถอะ:
การประมวลผลภายนอกถูกสร้างขึ้นในโมดูลออบเจ็กต์ซึ่งจะมีข้อความด้านล่าง (แทนที่ข้อมูลของคุณสำหรับฐานข้อมูลและผู้ใช้) ขอแนะนำให้สร้างผู้ใช้แยกต่างหากที่มีสิทธิ์เต็มที่ในการแลกเปลี่ยนข้อมูล ลองเรียกการประมวลผล เช่น "Data Exchange.epf"

หาก LaunchParameter = "อัปโหลด" จากนั้น กำลังประมวลผล=Processing.UniversalXMLDataExchange.Create(); FindByCode("BP20");

4) การอัพโหลดไฟล์ Batซึ่งจะเปิดตัว 1C และการประมวลผลภายนอกด้วยพารามิเตอร์การเปิดตัวภายใต้ผู้ใช้ซึ่งมีไว้สำหรับการแลกเปลี่ยนข้อมูล ไฟล์จะต้องถูกสร้างขึ้น เช่น ในแผ่นจดบันทึก ++ ที่มีการเข้ารหัส OEM (MS-Dos) มิฉะนั้นจะไม่ทำงาน ตั้งชื่อไฟล์ เช่น "BatVygruz.bat" ข้อความจะเป็นดังนี้:

หากฐานข้อมูลเป็นไฟล์:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3" /N"หุ่นยนต์แลกเปลี่ยนข้อมูล" /P "ผ่าน" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\OlegA\DataExchange.epf" /C"อัปโหลด"
คำอธิบาย:

b) C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3 - เส้นทางของคุณไปยังฐานข้อมูลไฟล์ที่เราจะอัปโหลดข้อมูล
c) Data Exchange Robot - ชื่อผู้ใช้ที่ 1C เปิดตัวเพื่อการแลกเปลี่ยนข้อมูล
d) ผ่าน - รหัสผ่านผู้ใช้
e) /DisableStartupMessages - ปิดหน้าต่างป๊อปอัปเมื่อเริ่ม 1C
e) /RunModeOrdinaryApplication - รันไคลเอ็นต์แบบหนาในโหมดปกติ
g) C:\Inbox\OlegA\Data Exchange.epf - เส้นทางไปยังการประมวลผลของเรา ซึ่งจะเริ่มเมื่อเริ่มต้นระบบ
h) อัปโหลด - เราผ่านพารามิเตอร์การเปิดตัว 1C ซึ่งบอกเราว่าเราต้องอัปโหลดข้อมูล

ถ้าฐานข้อมูลเป็นแบบเซิร์ฟเวอร์:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /S"Server1C/DataBase" /N"Data Exchange Robot" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ Oleg\ Data Exchange.epf" /C"อัปโหลด"
คำอธิบาย:
a) C:\Program Files (x86)\1cv82\common\1cestart.exe - เส้นทางของคุณไปยังสตาร์ทเตอร์ 1C
b) Server1C/DataBase - เซิร์ฟเวอร์ของคุณซึ่งมีฐานข้อมูลอยู่และชื่อของฐานข้อมูลที่เราอัปโหลดข้อมูล
พารามิเตอร์ที่เหลือจะคล้ายกับเวอร์ชันไฟล์ของไฟล์ bat

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

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

ในบทความนี้ ฉันจะอธิบายประสบการณ์เล็กๆ น้อยๆ ของฉันในการจัดการแลกเปลี่ยนข้อมูลผ่านรูปแบบ Universal EnterpriseData

ในกรณีของฉัน การแลกเปลี่ยนได้รับการกำหนดค่าระหว่างการกำหนดค่า "Trade Management 11.2" (ต่อไปนี้จะเรียกว่า UT) และ "Enterprise Accounting 3.0.43" (ต่อไปนี้จะเรียกว่า BP) การแลกเปลี่ยนเป็นแบบทางเดียวจาก UT ไปยัง BP ก่อนที่จะอัปเกรด Trade Management 11.1 เป็น 11.2 การแลกเปลี่ยนข้อมูลได้รับการกำหนดค่าโดยใช้การกำหนดค่า Data Conversion 2.0 อย่างไรก็ตาม หลังจากเปลี่ยนเป็น “11.2” แล้ว มีข้อผิดพลาดปรากฏขึ้นใน “การจัดการการค้า” สำหรับผู้ใช้ ขั้นตอนการอัปเดตกฎการแลกเปลี่ยนได้ดำเนินการไปแล้ว แต่ก็ไม่ได้ผลลัพธ์ใดๆ ดีบักเกอร์แสดงว่าปัญหาอยู่ในการแลกเปลี่ยนข้อมูล มีการตัดสินใจที่จะลบการตั้งค่าการแลกเปลี่ยนข้อมูลในการกำหนดค่าทั้งสองและกำหนดค่าใหม่อีกครั้ง

ทั้ง “การจัดการการค้า” และ “การบัญชีองค์กร” ทำงานในเวอร์ชันไคลเอ็นต์-เซิร์ฟเวอร์ ฉันเริ่มตั้งค่าการซิงโครไนซ์กับ UT ฉันดำเนินการในลักษณะที่ข้อมูลถูกอัปโหลดจาก UT ไปยังไฟล์ นั่นคือการซิงโครไนซ์ผ่านไดเร็กทอรีเครือข่าย ใน BP ฉันกำหนดค่าการแลกเปลี่ยนในลักษณะที่ไม่มีการดาวน์โหลดข้อมูลจาก BP

ข้อผิดพลาดเมื่อเรียกวิธีบริบท (ตรวจสอบ): ข้อผิดพลาดในการตรวจสอบข้อมูล XDTO:
โครงสร้างของวัตถุ "/บัญชีธนาคารคู่สัญญา/ธนาคาร" ไม่สอดคล้องกับประเภท: (http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.1)KeyPropertiesBank
การตรวจสอบคุณสมบัติ "BIK":
รูปร่าง: องค์ประกอบ
ชื่อ: (http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.1)BIK
พิมพ์:
ทรัพย์สินที่จำเป็นขาดหายไป
วัตถุประสงค์: สัญญากับคู่สัญญาเลขที่ ...

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

ฉันลองซิงโครไนซ์ข้อมูลจาก UT อีกครั้ง ครั้งนี้อัปโหลดข้อมูลสำเร็จแล้ว ไฟล์ XML ถูกสร้างขึ้นในโฟลเดอร์เครือข่ายที่มีข้อมูลที่จะถ่ายโอนจาก UT ไปยัง BP

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

เหตุการณ์: การแลกเปลี่ยนข้อมูล
(GeneralModule.Long-runningOperations.Module(371)): กระบวนการของผู้ปฏิบัติงานในเบื้องหลังสิ้นสุดลงอย่างผิดปกติ
RaiseException(ข้อความผิดพลาด);

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

ด้วยการทดสอบการซิงโครไนซ์เพิ่มเติม จำเป็นต้องทำการเปลี่ยนแปลงกฎสำหรับการแปลงออบเจ็กต์ ถึงเวลาใช้การกำหนดค่า Data Conversion 3.0 วิธีใช้การกำหนดค่าในตัวจะอธิบายขั้นตอนการทำงาน บทความบนเว็บไซต์ ITS ก็ช่วยได้เช่นกัน

ด้วยเหตุนี้ ฉันจึงโหลดข้อมูลต่อไปนี้ลงใน "Data Conversion 3.0":

  • ข้อความของโมดูลทั่วไป "Data Exchange Manager ผ่าน Universal Format" จากสองฐานข้อมูล
  • เค้าโครงของฐานทั้งสอง
  • คำอธิบายของรูปแบบ EnterpriseData (จากฐานข้อมูลใดฐานข้อมูลหนึ่ง)
  • กฎการแปลง

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

หลังจากทดลองตั้งกฎใน "Data Conversion 3.0" แล้วฉันก็สรุปด้วยตัวเองว่าในกรณีที่การเปลี่ยนแปลงที่เกิดขึ้นไม่มีนัยสำคัญ จะง่ายกว่าที่จะตั้งกฎโดยตรงในการกำหนดค่า UT และ BP ในโมดูลทั่วไป “ตัวจัดการการแลกเปลี่ยนข้อมูลผ่านรูปแบบสากล” หากการแก้ไขมีความร้ายแรง เช่น การเพิ่มออบเจ็กต์ใหม่ลงใน Exchange คุณควรใช้การกำหนดค่า " การแปลงข้อมูล 3.0"

ฉันดำเนินการเพิ่มเอกสาร "สั่งซื้อไปยังซัพพลายเออร์" ให้กับแผนการแลกเปลี่ยนโดยใช้ " การแปลงข้อมูล 3.0" ในเวอร์ชันมาตรฐานของ UT - BP เอกสารนี้ไม่รวมอยู่ในแผนการแลกเปลี่ยน

โปรดจำไว้ว่ากฎสำหรับการลงทะเบียนออบเจ็กต์สำหรับการอัปโหลดยังคงได้รับการกำหนดค่าในการกำหนดค่า "Data Conversion 2.0"

นี่เป็นครั้งแรกของการซิงโครไนซ์ข้อมูลผ่านรูปแบบ Universal EnterpriseData

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

  • การซิงโครไนซ์ข้อมูล
  • รูปแบบข้อมูลองค์กรสากล
  • การแปลงข้อมูล 3.0
  • การแปลงข้อมูล 2.0
  • การจัดการการค้า
  • การบัญชีองค์กร

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

ตัวจัดการและอัลกอริธึมเขียนด้วยภาษาของแพลตฟอร์มที่จะดำเนินการระหว่างการแลกเปลี่ยน

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

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

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

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

การแลกเปลี่ยนข้อมูลในสภาพแวดล้อม 1C ช่วยให้คุณ:

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

*ในกรณีที่ข้อมูลของการบัญชีประเภทหนึ่งแตกต่างอย่างมีนัยสำคัญจากอีกประเภทหนึ่ง จำเป็นต้องรับรองการรักษาความลับของข้อมูลและ "จำกัด" การไหลของข้อมูล ตัวอย่างเช่น การแลกเปลี่ยนข้อมูลระหว่าง 1C UT และ 1C Accounting ไม่จำเป็นต้องอัปโหลดข้อมูลการจัดการลงในฐานข้อมูลการบัญชีตามกฎระเบียบ เช่น การซิงโครไนซ์ใน 1C จะไม่สมบูรณ์ที่นี่.

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

  • การประสานงานองค์ประกอบของการแลกเปลี่ยน
  • คำจำกัดความของการขนส่ง (โปรโตคอลการแลกเปลี่ยน);
  • การตั้งกฎ;
  • การจัดตารางเวลา

การระบุองค์ประกอบของการแลกเปลี่ยน 1C

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

*ตัวอย่างเช่น เมื่อผสานรวม “WA: Financier” ซึ่งเป็นโซลูชันสำหรับการบำรุงรักษาการบัญชีการเงินและการจัดการกระบวนการคลัง ซึ่งพัฒนาบนพื้นฐานของ “1C:Enterprise” ผู้เชี่ยวชาญของ WiseAdvice จะแนะนำให้เป็นระบบหลัก นี่เป็นเพราะการมีเครื่องมือควบคุมเพื่อให้สอดคล้องกับกฎของนโยบายการใช้งานและเพื่อให้มั่นใจถึงประสิทธิผลของโซลูชัน

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

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

ฐานข้อมูลแบบกระจาย

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

การแลกเปลี่ยนข้อมูลสากลใน 1C

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

ข้อมูลองค์กร

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

คำจำกัดความของการขนส่ง (โปรโตคอลการแลกเปลี่ยน)

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

การซิงโครไนซ์ไดเร็กทอรี

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

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

การตั้งกฎเกณฑ์

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

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

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

ตารางการแลกเปลี่ยนใน 1C

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

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

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

เนื่องจากแม้แต่การดำเนินการมาตรฐานในการใช้การแลกเปลี่ยนข้อมูลหลักก็ต้องอาศัยความรู้จากผู้เชี่ยวชาญ จึงแนะนำให้ดำเนินการโดยมีส่วนร่วมของผู้เชี่ยวชาญ 1C หลังจากทำตามขั้นตอนทั้งหมดที่อธิบายไว้ข้างต้นแล้วเท่านั้น คุณควรดำเนินการตั้งค่าการแลกเปลี่ยนในการกำหนดค่าต่อไป มาดูการรวมฐานข้อมูลโดยใช้ตัวอย่างของ 1C:UPP และ 1C:Retail (การแลกเปลี่ยนกับ 1C:UT ได้รับการตั้งค่าโดยใช้รูปแบบเดียวกัน) สิ่งที่รวมอยู่ในการซิงโครไนซ์มาตรฐานคือการแลกเปลี่ยน SCP-SCP ซึ่งเป็นเรื่องปกติสำหรับระบบอัตโนมัติขนาดใหญ่ในองค์กรอุตสาหกรรมที่ใหญ่ที่สุด

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


เพื่อแก้ไขปัญหานี้ คุณต้องเลือก "กำหนดค่าการสื่อสาร"


...และทำเครื่องหมายในช่อง ต่อไป ให้ละเว้นข้อความแสดงข้อผิดพลาด


ในการตั้งค่าการซิงโครไนซ์ข้อมูล เลือก “สร้างการแลกเปลี่ยนกับ “ขายปลีก”...



ก่อนที่จะกำหนดการตั้งค่าการเชื่อมต่อผ่านไดเร็กทอรีภายในเครื่องหรือเครือข่าย คุณควรตรวจสอบให้แน่ใจว่ามีพื้นที่ว่างบนดิสก์สำหรับไดเร็กทอรี แม้ว่าตามกฎแล้วจะใช้พื้นที่ไม่เกิน 30-50 MB แต่ในกรณีพิเศษอาจต้องใช้ถึง 600 MB คุณสามารถสร้างไดเร็กทอรีที่ต้องการได้โดยตรงจากตัวกำหนดค่า



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


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



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


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


เมนู "ขายปลีก"


ทำเครื่องหมายที่ช่องและเลือก "การซิงโครไนซ์"


เราทำการตั้งค่า "ย้อนกลับ" โดยเลือกการจัดการองค์กรการผลิต




โหลดไฟล์การตั้งค่าที่สร้างใน UPP


เราทำเครื่องหมายไว้ ระบบจะเลือกที่อยู่โดยอัตโนมัติ





เราดำเนินการในลักษณะเดียวกับใน UPP









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



ในกรณีที่เกิดข้อผิดพลาดในการซิงโครไนซ์ "รายละเอียด..." จะถูกแทนที่ด้วย "Never..."


“รายละเอียด…” จะเปิดบันทึกพร้อมข้อมูลที่อัปเดตเกี่ยวกับการแลกเปลี่ยน


พร้อม.

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

การปรากฏตัวของการประมวลผล

ในอินเทอร์เฟซแบบเต็ม คุณสามารถเปิดการประมวลผลได้ที่บริการ -> การแลกเปลี่ยนข้อมูลอื่น ๆ -> การแลกเปลี่ยนข้อมูลสากลในรูปแบบ XML

แบบฟอร์มการประมวลผล (รูปที่ 1) มีสี่แท็บ:

  • การตั้งค่าเพิ่มเติม
  • กำลังลบข้อมูล
  • อินเทอร์เฟซของบุ๊กมาร์กแต่ละรายการมีองค์ประกอบต่างๆ มากมาย ดังนั้นจึงต้องพิจารณาแยกกัน

    กำลังอัพโหลดข้อมูล

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

    ในบรรทัดถัดไปของแบบฟอร์มจะมีปุ่มตัวเลือกสองปุ่ม:

    1. การอัปโหลดไปยังไฟล์แลกเปลี่ยน (รูปที่ 2)
    2. การเชื่อมต่อและการอัพโหลดข้อมูลเพื่อความปลอดภัยของข้อมูล (รูปที่ 3)

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

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

    ส่วนแบบตารางด้านล่างนี้ช่วยให้คุณสามารถกำหนดค่าการเลือกและพารามิเตอร์การขนถ่ายอื่นๆ

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

    รูปที่ 4

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

    การคลิกที่ปุ่ม "เสร็จสิ้น" จะตรวจสอบความถูกต้องและความสมบูรณ์ของข้อมูลที่กรอก

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

    รูปที่ 5

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

    ช่องทำเครื่องหมายที่เกี่ยวข้องช่วยให้คุณสามารถกำหนดค่า:

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

    การตั้งค่าเพิ่มเติม

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

    1. เปิดใช้งานโหมดการดีบัก
    2. อนุญาตให้ใช้ธุรกรรมในระหว่างกระบวนการขนถ่าย
    3. ปรับการแลกเปลี่ยนระหว่างฐานข้อมูลเวอร์ชัน 8 ของ 1C ให้เหมาะสม
    4. อัปโหลดเฉพาะออบเจ็กต์ที่ผู้ใช้ปัจจุบันอนุญาตให้ใช้
    5. เปิดใช้งานการบันทึกกระบวนการแลกเปลี่ยนระหว่างฐานข้อมูล

    เปิดใช้งานฟังก์ชันเหล่านี้และฟังก์ชันอื่น ๆ โดยการทำเครื่องหมายในช่องที่เหมาะสมในแบบฟอร์ม (รูปที่ 6)

    รูปที่ 6

    กำลังลบข้อมูล

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

    สั้นๆ เกี่ยวกับการตั้งกฎการแลกเปลี่ยน

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

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

    1. epf – จำเป็นสำหรับการดาวน์โหลดโครงสร้างข้อมูลเมตาสำหรับฐานข้อมูล 1C 8
    2. epf - หากการกำหนดค่า 1C 8 เขียนเองหรือไม่ได้มาตรฐาน อาจไม่มีการประมวลผล "การแลกเปลี่ยนข้อมูลสากล" ไฟล์นี้คือการประมวลผลนี้
    3. ert – ไฟล์มีรหัสสำหรับดาวน์โหลดโครงสร้างข้อมูลเมตาของการกำหนดค่า 1C เวอร์ชัน 7.7
    4. ert – ไฟล์สำหรับประมวลผลข้อมูลอัพโหลดและดาวน์โหลดสำหรับเซเว่น

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

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