عملية تحميل البيانات إلى ملف XML. توليد ملف XML. سهولة التحميل لتطبيق طرف ثالث. عملية تحميل البيانات إلى XML كيفية تحميل ملف XML في 1C

عندما تستخدم إحدى المؤسسات باستمرار نوعًا ما من حزم البرامج في عملها، فمن الطبيعي أن تطرح دائمًا مسألة دعمها وإدارتها المستمرة. لا توجد وسيلة لتجنب مهام تبادل البيانات وتخزينها واستعادتها. دعونا نلقي نظرة على كيفية تحميل أو إلغاء تحميل البيانات من 1C بتنسيق XML، لأن هذا إجراء مهم لهذا الموضوع.

لقد تم تصميمها بحيث يمكنك عند التحميل الحصول على ملف XML يتم من خلاله تسجيل البيانات اللازمة للعميل. في الوقت نفسه، في وقت واحد مع التسجيل، يتم مراقبة صحة السجلات المنقولة للأخطاء الفادحة.

وبالتالي، فإن التحميل إلى ملف XML (استيراد السجلات) من قاعدة معلومات واحدة والتحميل اللاحق من XML إلى أخرى يمثل تبادلًا للبيانات بتنسيق XML بين قواعد البيانات.

هذا الإجراء، خاصة مع وجود كميات كبيرة من المعلومات، يوفر الكثير من العمل اليدوي.

يمكن أيضًا استخدام الاستيراد (الملف الناتج) كأرشيف للاسترداد في المواقف غير المتوقعة (في حالة فقدانه أو تلفه).

وقد تم تطوير الكثير من أدوات المعالجة هذه، وهي متاحة على الإنترنت. تقع مسؤولية استخدامها على أكتاف (ورأس) العميل.

ولكن بالنسبة للمستخدمين الرسميين لـ Odeneski، قام المطورون بإنشاء معالج عالمي "تحميل/تحميل بيانات XML".

مهم. يعد التصدير إلى XML في 1C والتحميل الإضافي إلى XML من 1C أمرًا مقبولاً للتكوينات المتطابقة - وإلا فسوف يتضرر.

معالج عالمي

النقاط الأساسية لاستخدام المطور العالمي:

  • حفظ استيراد الملفات حتى يتم الانتهاء من نقل السجلات والتحقق من صحتها؛
  • عند استخدامها كنسخ احتياطية، يجب الاحتفاظ بسجل بها لفرز البحث.

يحتوي تشغيله على وضعين: إنشاء ملف عند حفظ المعلومات وقراءته/كتابته عند الاستيراد.

بالإضافة إلى ذلك، يمكن للمستخدم تعيين قيود إضافية عند تصدير البيانات وتحميلها.

استخراج السجلات

يمكنك تحميل البيانات عبر قاعدة البيانات بأكملها وبشكل انتقائي - كائنًا تلو الآخر.

بعد تنزيل المعالج وتثبيته وفتحه يحدث ما يلي:


يتم اختيارهم في مربع الحوار الذي يفتح بعد الإطلاق. للقيام بذلك، حدد المربعات الموجودة في القائمة التي تعرض كائنات البيانات التعريفية المراد استردادها؛

  1. يتم تكوين عوامل التصفية الضرورية (على سبيل المثال، حسب التاريخ)؛
  2. تم تحديد مساحة القرص.
  3. تبدأ العملية نفسها.

تحميل السجلات إلى المتلقي

الخطوة الأولى لقبول البيانات في قاعدة البيانات المستقبلة هي فتح برنامج المعالج فيها.

بعد تحديد المسار إلى الملف المصدر وتفعيل علامات إعدادات الإجراء (إذا لزم الأمر)، يمكنك بدء العملية باستخدام زر "تحميل البيانات".

أنت الآن تعرف كيفية تحميل أو إلغاء تحميل البيانات من 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

تم إلغاء تحميل البيانات من قاعدة البيانات المصدر، ويجب الآن نقلها إلى قاعدة البيانات الوجهة.

للقيام بذلك، تحتاج إلى البدء في المعالجة بالفعل في قاعدة البيانات التي تحتاج إلى تحميل البيانات فيها، والانتقال إلى علامة التبويب "تنزيل"، وحدد الملف الذي تم تنزيله على القرص وانقر على زر "تحميل البيانات":

هذا المثال مناسب فقط لنقل البيانات بين التكوينات المتطابقة على منصة 1C. لفهم آلية التبادل للمبرمجين كتبنا مقالا -.

أوضاع التشغيل

تنفذ معالجة UploadLoadDataXML82 وضعي تشغيل: التحميل (إنشاء ملف تحميل للبيانات المحددة من قبل المستخدم) والتحميل (قراءة ملف تحميل تم إنشاؤه بواسطة الوضع الذي يحمل نفس الاسم وكتابة البيانات الموجودة فيه). يتم ضبط الوضع عن طريق تحديده في حقل الوضع.

قبل البدء في وضع معين (النقر على زر التشغيل)، تحتاج إلى تحديد اسم ملف التحميل، إما عن طريق إدخاله يدويًا في حقل "اسم الملف"، أو باستخدام الزر لتحديد هذا الحقل ومربع حوار اختيار الملف القياسي .

في وضع التنزيل، من الممكن تعديل استخدام الإجماليات عند كتابة السجلات، مما قد يؤثر على سرعة التنزيل. يتوفر زرا "تعطيل الإجماليات" و"تمكين الإجماليات" عند تعيين علامة "تمكين القدرة على تحرير استخدام الإجماليات أثناء تحميل البيانات" ويتم استخدامهما للتحكم يدويًا في وضع استخدام الإجماليات عند تحميل البيانات. **شروط تطبيق المعالجة**

لا يمكن استخدام المعالجة إلا في الحالات التي تكون فيها قاعدة المعلومات التي تم تحميل البيانات فيها والقاعدة التي تم تحميل البيانات فيها متجانسة (التكوينات متطابقة، قد تختلف البيانات)، أو تكون جميع الكائنات التي تم تحميلها متطابقة تمامًا تقريبًا تكوين وأنواع التفاصيل والأجزاء الجدولية، وخصائص كائن البيانات الوصفية "الرائدة"، وما إلى ذلك. تجدر الإشارة إلى أنه بسبب هذه القيود، فإن المعالجة تهدف أساسًا إلى التبادل بين نظم المعلومات المتجانسة.

يختلف تنسيق ملف التحميل عن تنسيق الملف الذي تم إنشاؤه عند التحميل وفقًا لخطة التبادل في الجزء الرئيسي. لتحميل البيانات (عناصر الدليل، مجموعات سجلات التسجيل، وما إلى ذلك)، تستخدم المعالجة نفس آلية تسلسل XML مثل التحميل وفقًا لخطط التبادل؛ في هذا الجزء، تنسيقات الملفات متطابقة.

تحديد تكوين التفريغ

تسمح المعالجة بالتحميل الكامل والجزئي لبيانات قاعدة المعلومات إلى ملف. يتم تكوين تركيبة البيانات التي تم تحميلها في مربع الحوار عن طريق تحديد المربعات الموجودة في عمود الشجرة التي تعرض كائنات البيانات التعريفية التي يمكن تحميل البيانات لها. عمود إضافي من مربعات الاختيار، "إذا لزم الأمر"، يحدد الحاجة إلى إلغاء تحميل الكائنات من هذا النوع "حسب المرجع". أي أنه إذا تم تحديد خانة الاختيار فقط في العمود "إذا لزم الأمر"، فلن يتم تنزيل البيانات الخاصة بهذا الكائن بالكامل، ولكن فقط بالقدر الضروري للحفاظ على التكامل المرجعي في قاعدة المعلومات التي ستقوم بتحميل التنزيل ملف.

عند فتح النموذج، تحدد المعالجة علامة التفريغ بالرجوع إلى جميع الكائنات، مما يضمن التكامل المرجعي للجزء الذي تم تفريغه من قاعدة المعلومات.

عند النقر فوق الزر "اكتشاف الكائنات التي تم تنزيلها عن طريق الرابط"، تحلل المعالجة ارتباطات البيانات التي قد تكون موجودة في الكائنات التي تحتوي على مجموعة علامات التنزيل الكاملة، وتملأ عمود العلامات تلقائيًا الذي يشير إلى الحاجة إلى التنزيل عن طريق الرابط. إذا كان الكائن يحتوي بالفعل على مجموعة علامة التفريغ الكاملة، فلن يتم تعيين علامة الإلغاء حسب المرجع.

التطبيقات الممكنة

من الممكن استخدام هذه المعالجة، على سبيل المثال، لإنشاء نسخة احتياطية كاملة أو جزئية من البيانات، وتبادل البيانات بين قواعد المعلومات، وأيضًا كأداة مساعدة عند استعادة قواعد المعلومات التي بها مشكلات.

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

تؤدي المعالجة الشاملة "تحميل وتحميل بيانات XML" إلى التفريغ الكامل أو الجزئي لبيانات قاعدة المعلومات في ملف بتنسيق XML. وبعد ذلك، يمكن تحميل هذا الملف في قاعدة المعلومات باستخدام نفس المعالجة. يختلف تنسيق ملف التحميل عن تنسيق الملف الذي تم إنشاؤه عند التحميل وفقًا لخطة التبادل في الجزء الرئيسي.

لا يمكن استخدام المعالجة إلا في الحالات التي تكون فيها قاعدة المعلومات التي تم تحميل البيانات فيها والقاعدة التي تم تحميل البيانات فيها متجانسة (التكوينات متطابقة، قد تختلف البيانات)، أو تكون جميع الكائنات التي تم تحميلها متطابقة تمامًا تقريبًا تكوين وأنواع التفاصيل وأجزاء الجدول، وخصائص كائن البيانات الوصفية "البادئة"، وما إلى ذلك.

من الممكن استخدام هذه المعالجة، على سبيل المثال، لإنشاء نسخة احتياطية كاملة أو جزئية من البيانات، وتبادل البيانات بين قواعد المعلومات، وأيضًا كأداة مساعدة عند استعادة قواعد المعلومات المعيبة.

تدعم المعالجة تحميل البيانات مع إمكانية تحديد الاختيار حسب الفترة. يتم أيضًا تنفيذ فحص الكائنات بحثًا عن وجود أحرف غير صالحة عند تبادلها عبر XML.

مع خالص التقدير، (المعلم والمطور).

- صفحات الويب المعروفة والتي تعد أيضًا نظيرًا لـ 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 المستخدم في الأمثلة

الدليل>

الدليل>

قيمة النص الدعائم>
الدليل>
التكوين>

مثال 1. قراءة ملف 1C XML في شجرة قيمة باستخدام قراءة XML 1C

// افتح ملف XML 1C للقراءة باستخدام ReadingXML 1C
ملف = قراءةXML جديدة ()؛
File.OpenFile("D:\ConfigurationStructure.xml");

// تحضير شجرة القيمة
// يمكن أن يكون لكل فرع XML اسم وسمات وقيمة
dzXML = NewValueTree();
dzXML.Columns.Add("Name");
dzXML.Columns.Add("Value");
dzXML.Columns.Add("السمات");

// نظرًا لأن سلسلة XML يمكن أن تحتوي على عدة سمات، فسنكتبها في جدول القيم
// كل سمة لها اسم وقيمة
tAttributes = New ValueTable();
tAttributes.Columns.Add("Name");
tAttributes.Columns.Add("Value");

// سيساعدنا مستوى التداخل على فهم متى نحتاج إلى إضافة فرع متداخل، ومتى نحتاج إلى العودة إلى مستوى أعلى
مستوى التداخل = 0؛
// السطر الحالي هو خط شجرة، وسوف يتغير مع زيادة التداخل
CurrentRow = غير محدد؛
// قراءة ملف XML 1C لا تتم سطرًا تلو الآخر، ولكن وفقًا للبنية؛ عندما ينتهي الملف، سترجع القراءة FALSE
أثناء حلقة File.Read()

// نحن مهتمون بثلاثة أنواع من العقد - بداية العنصر والنص (قيمة العنصر) ونهاية العنصر (للعودة إلى المستوى الأعلى)
إذا File.NodeType = XMLNodeType.ElementStart إذن

مستوى التداخل = مستوى التداخل + 1؛

// إذا كان هذا هو السطر الأول، فقم بإضافته إلى أعلى الشجرة واحفظ الاسم فقط
إذا CurrentRow = غير محدد ثم
CurrentRow = dXML.Rows.Add();
CurrentLine.Name = File.Name;
يكمل؛
خلاف ذلك
// خطوط متداخلة
CurrentRow = CurrentRow.Rows.Add();
CurrentLine.Name = File.Name; // احفظ الاسم

// هل يحتوي عنصر XML هذا على سمات؟
إذا File.NumberAttributes() > 0 ثم
// إذا كانت الإجابة بنعم، انسخ الجدول الفارغ المجهز لحفظ السمات
tAttributesNode = tAttributes.Copy();
// التنقل بين عدد سمات هذا العنصر
للحساب = 0 حسب الملف. عدد السمات ()-1 دورة
// لكل سمة، تذكر الاسم والقيمة
Row = tNodeAttributes.Add();
Line.Name = File.AttributeName(Sch);
Row.Value = File.AttributeValue(Ac);
EndCycle;
// احفظ جدول سمات العنصر في السطر الحالي
CurrentRow.Attributes = tNodeAttributes;
إنهاء إذا؛
إنهاء إذا؛

ElseIf File.NodeType = XMLNodeType.EndElement إذن
// في بداية العنصر نقوم بزيادة مستوى التداخل، وفي نهاية العنصر نقوم بتقليله
مستوى التداخل = مستوى التداخل - 1؛
// إرجاع السطر الحالي بمستوى واحد لأعلى
CurrentRow = CurrentRow.Parent;

ElseIf File.NodeType = XMLNodeType.Text بعد ذلك
// إذا كان للعنصر قيمة، فما عليك سوى حفظه
CurrentRow.Value = File.Value;

إنهاء إذا؛

EndCycle;

File.Close();

مثال 2. تسجيل ملف 1C XML باستخدام كائن 1C Record XML

// إنشاء ملف سجل XML 1C
ملف = NewWriteXML();
File.OpenFile("D:\ConfigurationStructure.xml", "UTF-8");
File.WriteElementStart("التكوين");

// استخدم بيانات التعريف لاجتياز كافة الدلائل (لمزيد من التفاصيل، راجع "العمل مع بيانات التعريف")
لكل دليل من دورة Metadata.Directories

//WriteStartofElement - يفتح فرعًا جديدًا [تابعًا].
File.WriteElementStart("الدليل");
//WriteAttribute - يكتب سمة إلى فرع مفتوح مسبقًا
File.WriteAttribute("Name"، Directory.Name);
File.WriteAttribute("Synonym", Directory.Synonym);

// باستخدام البيانات الوصفية، نراجع جميع تفاصيل الدليل
لكل Props من دورة Directory.Props




EndCycle;

// استخدم البيانات الوصفية لاجتياز جميع الأجزاء الجدولية من الدليل
لكل PM من الدليل الأجزاء الجدولية من الدورة
File.WriteElementStart("TabularPart");
File.WriteAttribute("Name"، PM.Name);
File.WriteAttribute("Synonym"، PM.Synonym);

لكل الدعائم من دورة PM.Props
File.WriteElementStart("الدعائم");
File.WriteAttribute("Name"، Attributes.Name);
File.WriteAttribute("Synonym", Attributes.Synonym);
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
EndCycle;

//WriteEndElement - "يغلق" الفرع الذي تم فتحه مسبقًا باستخدام WriteBeginElement
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
File.Close();