وصف موجز لإنشاء ملف XML بواسطة نظام XSD على سبيل المثال إنشاء التقارير الإحصائية التفريغ ل FCS. كائن DataSet المكتوب. قراءة وتسجيل مستندات XML إنشاء ملف XSD في 1C 8.2

حاشية. ملاحظة: مخططات بيانات XML (XSD). إنشاء مخطط XSD في بيئة Visual Studio .NET. إنشاء كائن DataSet مكتوب. تلقي معلومات حول هيكل كائن DataSet. قم بتحميل مستندات XML وخطط XSD لكائنات DataSet المكتوبة والعادية. ReadXML وأساليب ReadXmlSchema. سجل محتوى وبنية كائن بيانات مكتوب وتقليدي. طرق Writexml و Writexmlschema

كائن DataSet المكتوب. قراءة وتسجيل مستندات XML

مخططات بيانات XML (XSD)

دوائر البيانات 1. ترجمة دقيقة وثيقة مخطط XML -< مخطط مستند XML\u003e ومع ذلك، سوف نستمر في استخدام مصطلح "مخطط بيانات XML". XSD (مستند مخطط XML، XSD) هو وسيلة بديلة لبناء مستندات XML. بالمقارنة مع DTD، تتمتع المخططات بوسائل أكثر قوة لتحديد هياكل البيانات المعقدة، وتوفير طريقة أكثر فهم لوصف قواعد اللغة للغة، وقادرة على الترقية بسهولة وتوسيعها. قد يحتوي نظام XSD على المعلومات التالية:

  • تمثيل السندات بين عناصر البيانات، على غرار روابط المفاتيح الخارجية بين الجداول في قاعدة البيانات العلائقية؛
  • تمثيل معرفات فريدة مماثلة للمفتاح الأساسي؛
  • اكتب المواصفات البيانات من كل عنصر فردي وسمة في مستند XML.

لإنشاء مخطط بيانات في Visual Studio .NET في القائمة الرئيسية، انتقل إلى ملف \\ new \\ new واختر من قائمة القوالب (انظر الشكل 11.3) مخطط XML. تظهر نافذة مع النقش "للبدء، اسحب الكائنات من نافذة Server Explorer أو Toolbox إلى مساحة العمل (منطقة التصميم) أو النقر بزر الماوس الأيمن" (الشكل 11.1):


تين. 11.1.

الحقيقة هي أننا في وضع التصميم. نتحول إلى وضع التعليمات البرمجية، والتي انقر فوق الزر (XML):

السطر الأول هو مؤشر مألوف على أن المخطط هو مستند XML مع عنصر الجذر XS: مخطط. بادئة XS: سوى جميع عناصر المخطط، مشيرا إلى مساحة اسمهم. في السطر الثاني، هناك وصف طويل ومفصل وغالبا ما لا لزوم له من المخطط (مقارنة مع نفس الرمز لصفحات HTML). للعمل الصحيح، يكفي الحد من التقديم التالي:

ومع ذلك، فإن التقديم المدمج في الاستوديو يشير إلى "الغطاء"، لذلك لا ينبغي حذفه. إن إنشاء مخطط يصف مستند XML المحدد في بيئة Visual Studio .NET هي مهمة بسيطة إلى حد ما. إنشاء المستند التالي xmleasy.xml:

1

قم بالتبديل إلى علامة التبويب (البيانات) وشاهد سجل واحد فقط (الشكل 11.2).


تين. 11.2.

يمكنك إنشاء رسم تخطيطي يصف هذا المستند بعدة طرق: في القائمة الرئيسية، حدد "XML \\ Sheem Schema" (الشكل 11.3، A)، في وضع XML في قائمة السياق، حدد نفس العنصر (الشكل 11.3، ب )، في وضع البيانات في قائمة السياق، حدد هذا العنصر (الشكل 11.3، B)، وأخيرا، في وضع البيانات، انقر فوق الزر "شريط أدوات XML" (الشكل 11.3، د).


تين. 11.3.

على أي حال، يظهر نظام المستند في شكل جدول (الشكل 11.4). دعنا نترك وضع المخطط والتبديل إلى وضع (XML).


تين. 11.4.

المتوسطة التي تم إنشاؤها رمز XML الذي يصف بنية المستند:

يتضمن ذلك وصفا مطلوبا لمزيد من التلاعب من خلال المخطط باستخدام كائنات ADO .NET. في مستند مصدر Xmleasy.xml، ظهر رابط إلى مخطط البيانات:

تم إنشاء مستند Xmleasy.xsd تلقائيا في نفس الدليل نفسه، حيث يوجد XMLEASY.xml.

من أجل تعلم كيفية فهم مخططات XSD، أولا يجب أن تعمل مع وصف للبيانات في شكلها النقي، دون عناصر إضافية. يوفر الجدول 11.1 العديد من مستندات XML بسيطة ومخططاتها التي تم تشكيلها دون ربط كائنات ADO .NET.

الجدول 11.1. أمثلة على مخططات XSD
محتوى مستند XML. XSD مخطط المحتوى

1

وصف
في مستند XMLEasy.xml، عنصر الجولات السيج هو عنصر جذر يحتوي على عنصر اصابتات الطفل. يحتوي المخطط الشامل لعنصر الجذر على النموذج التالي:

: عنصر المحتوى ...

يتم وصف الشركات التابعة على النحو التالي:

محتوى مستند XML. XSD مخطط المحتوى

1 قبرص 25 000.00. يشمل سعر اثنين من قسائم الكبار سعر طفل واحد (حتى 7 سنوات) 2 اليونان 32 000.00. في أغسطس وسبتمبر، تعمل خصومات خاصة 3 تايلاند 30 000.00. لا تشمل السفر 4 إيطاليا 26 000.00. يتم تضمين وجبة الإفطار في الفندق بتكلفة تذكرة 5 فرنسا 27 000.00. لا يتم تضمين رحلات إضافية في تكلفة التذكرة

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

: :

محتوى مستند XML. XSD مخطط المحتوى

1 قبرص 25 000.00. 1 يشمل سعر اثنين من قسائم الكبار سعر طفل واحد (حتى 7 سنوات)


تين. 11.5.
وصف
بالنسبة إلى عنصر IDTOUR، تم تثبيت نوع البيانات INT، لأن العنصر مغلق - من النوع المنطقي، للحصول على سلسلة من النوع الافتراضي. يمكنك تغيير نوع البيانات مباشرة في وضع مخطط بيانات XML، ولكن أكثر ملاءمة - في وضع المخطط (في هذه الحالة، سيتم استدعاء الوضع DataSet) حدد نوع البيانات من القائمة المنسدلة (الشكل 11.5):

في الدورة التدريبية ستجد جميع ملفات هذا الجدول في مجلد XSD (رمز \\ Glava5 \\ XSD).

تعيين نوع البيانات في مستند XML (المثال الأخير هو الجدول. 11.1) هي واحدة من طرق الحد من المحتوى. يتم تطبيق سمات إضافية للحد من قيمة النوع المحدد. في الجزء التالي من الدائرة، يجب أن تكون قيمة سعر العنصر ما بين 50 إلى 100:

للحد من مستند XML، تستخدم بعض القيم الثابتة التصميم التالي:

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

تطوير مخطط XSD هو عمل صمم تماما. Visual Media Visual Studio .NET تسهيل هذه المهمة بشكل كبير. لإتقان المفاهيم الأساسية، من المستحسن دراسة العديد من مستندات XML التي تم إنشاؤها تلقائيا. يصف الجداول 11.2-11.4 العناصر الرئيسية والسمات التي يمكن العثور عليها في نفس الوقت.

الجدول 11.2. مخططات XSD.
جزء وصف
الجميع. يمكن تحديد العناصر المتداخلة في ترتيب عشوائي
حاشية. ملاحظة. عناصر عنصر الوالدين التعليق و
أي. أي سلع متداخلة
anyattrive. أي سمات
معلومات التطبيق. تعليق العنصر. يحدد عنوان المخطط
ينسب. ينسب
attributeGroup. مجموعة من السمات
خيار اختيار العناصر الأخرى. التناظرية للمشغل "|" في DTD.
complexontent. القيود أو توسيع النموذج نوع مجمع المحتوى
complexxtype. عنصر النوع المعقد
توثيق تعليق العنصر. يوفر معلومات حول المخطط
جزء. جزء
تمديد توسيع العنصر
مجال الإعلان الميداني. تستخدم داخل العنصر لتحديد الحقول
مجموعة. مجموعة العناصر
يستورد استيراد الإعلانات من النوع من مخطط آخر
تضمن. تمكين مخطط آخر في مساحة الاسم الحالية
مفتاح تحديد عنصر أو سمة رئيسية تشير إلى عنصر آخر
keyref. تحديد عنصر أو سمة إلى أي نقاط رئيسية
قائمة عنصر يمكن أن يحتوي على قائمة القيم
إعادة تعريف تجاوز العناصر المعلنة بالفعل
تقييد تقييد العنصر
مخطط. عنصر الجذر من الدائرة
محدد محدد لتحديد عناصر XML
تسلسل تسلسل العناصر الأخرى. التناظرية للمشغل "،" في DTD
مبسط نموذج، محتويات التي تمثل البيانات الرمزية فقط
simpletype. عنصر من نوع بسيط
اتحاد عنصر أو سمة قد تحتوي على قيمة متعددة
فريدة من نوعها عنصر أو سمة يجب أن يكون لها قيمة فريدة
الجدول 11.3. سمات - حدود مخططات XSD
ينسب وصف
قائمة تعداد القيم
طول. طول
الحد الاقصى للطول. الحد الأقصى لطول
طول دقيقة الحد الأدنى الطول
maxexcluse. القيمة القصوى
maxinclusive. القيمة القصوى شاملة
أحلام الألغام. الحد الأدنى للقيمة
mininclusive. الحد الأدنى للقيمة شاملة
كسور. عدد الفاصلة المنقوثة في الأرقام الكسرية
totalddigits. عدد الأرقام
نمط. عينة (نمط) محتويات العناصر
تقصير. العنصر الافتراضي أو قيمة السمة
elementformdefault. تحديد خصائص العنصر المحلي المعرفة عالميا
مثبت القيمة الثابت للعنصر أو السمة
شكل يتم تعريف العناصر المعلنة محليا في نسخ محددة من المستندات.
نوع العنصر. نوع العناصر القائمة
الأعضاء. نوع الأعضاء المستخدمة في الاتحاد (الاتحاد)
mancoccams. الحد الأقصى لعدد إدخالات العناصر
الثنائيات. الحد الأدنى من إدخال العناصر
مختلط. تحديد عنصر وجود نوع مختلط
اسم. اسم العنصر أو السمة
مساحة الاسم. أسماء الفضاء
nonamespace. تحديد موقع مخطط المستندات،
مخطط عدم وجود أسماء الأسماء
غير معروف تحديد أن العنصر قد يكون له قيمة فارغة فارغة (NIL)
المرجع. إعداد الروابط لعنصر محدد عالميا
مخطط تحديد موقع المخطط
استبدالمجموعة تقدير استبدال العناصر عناصر أخرى
fernamnamespace. أسم مساحة الاسم الناتجة
يكتب نوع العنصر
استعمال هل العنصر إلزامي أم لا
قيمة قيمة عنصر الرسم التخطيطي
xSI: لا شيء. اضبط المحتوى الحقيقي على مستند XML (NULL)
xSI: مخطط محام الموقع الحقيقي للعنصر في مستند XML
xSI: النوع. نوع عنصر حقيقي في مستند XML

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

تحتاج أولا إلى معرفة ما يعني نظام XSD فهم ما لا يتطابق ملفك.

لذلك، XSD هو لغة برمجة، مع ذلك، يصف هيكل تقريرك. يتضمن الهيكل، على سبيل المثال، قم بالتقرير المحتوى، اكتب، عرض، بالإضافة إلى بناء جملة البيانات، الأقسام التي تحتوي على معلومات.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

يعد تنسيق XML شائعا للغاية عند تبادل مستندات نصية مختلفة بين أنظمة المعلومات. تتيح القدرة على إنشاء هيكل فريد من الوثائق استخدامها في العديد من المناطق - المكتبات الإلكترونية، الويب، استيراد / تصدير، وكذلك العديد من الآخرين. دون إمكانية العمل المريح مع هذا التنسيق، لن يتمكن نظام 1C من الحصول على هذه الشعبية. نظرا لأن 1C يستخدم بنشاط تقنيات الويب، يجب أن يكون كل مطور قادرا على قراءة معلومات XML وتسجيل المعلومات فيها.

عرض ملف XML وقراءة ذلك

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

للنظر في مثال لاستيراد البيانات في 1C سيكون الملف أعلاه بما فيه الكفاية. من أجل إجراء الإجراء المكتوب لقراءة ملف XML، يكفي لتمرير المسار إلى الملف نفسه. يمكن القيام بذلك من خلال الواجهة، مما يسمح للمستخدمين بتحديد الملف بشكل مستقل أو يتحدث بشدة في نص المعالجة.

تعتبر واحدة من الأساليب الشائعة للعمل مع XML تصل إلى 100 ميغابايت في 1C استخدام نموذج كائن المستند (DOM). ومع ذلك هو معالجة جميع العقد بالتناوب في جميع العقد الواردة في XML. في لغة 1C المدمجة، تبدو هذه الخوارزمية مثل هذا:

  1. إعلان الآليات التي يتم بها قراءة ملف XML؛ دورة لتجاوز العقد؛
  2. قراءة البيانات والسمات في العقدة؛
  3. إخراج المعلومات. إذا كانت هناك حاجة، في هذه المرحلة، يمكن تسجيلها في المتغيرات أو على الفور إلى الجداول المطلوبة؛
  4. الانتهاء من الآلية.
وإجراءات Nasserver اقرأ الخادم (Palefile) // إعلان آليات الآلية \u003d New ReadingXML؛ آلية. OpenFile (اللب)؛ باني \u003d باني جديد. المستند \u003d باني. أعلى (آلية)؛ // دورة لتجاوز العقد لكل عنصر من المستند. تقارير العناصر. دورة. دورة // قراءة البيانات إذا كان العنصر. العناصر \u003d "المنتج" ثم المنتج \u003d عنصر؛ لكل قيمة من المنتج. دورة. دورة. إذا كانت قيم القيمة \u003d "الاسم" ثم الاسم \u003d القيم؛ اللون \u003d الاسم. السمات. العنصر المرتفع الكشف (اللون ")؛ القيم الباصة. البنود \u003d "السعر" ثم تكلفة \u003d القيم؛ العملة \u003d التكلفة. سمات. عنصر التركيز ("العملة")؛ انتهى ننطف // عرض تقرير الرسائل ("الاسم:" + الاسم. المستندة إلى البرامج + "؛ اللون:" + اللون. العلاج + "؛ السعر:" + التكلفة. بالجملة + "؛ العملة:" + العملة. انتهى ننطف // إغلاق آلية عدم الحزام. مكان ()؛ exprudress.

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

لتفريغ المعلومات، نستخدم أيضا التفاعل مع ملفات تنسيق XML. ضع في اعتبارك مثالا على التسجيل باستخدام Object Object Object XML وتفريغ البيانات على التسميات. المزايا الرئيسية هي بساطاة من التعليمات البرمجية وسرعة معالجة البيانات. يمكن تمثيل خوارزمية سجل ملفات XML كخطوات متعددة متتالية:

  1. الاتصال بملف XML؛
  2. إنشاء عناصر الرأس وكتابة البيانات فيها. إذا كنت ترغب في إلغاء تحميل ملف XML كمية كبيرة من المعلومات، فستكون في هذه المرحلة دورات. كن حذرا ولا تنسى أن طلب البيانات يجب أن يتم قبل الدورة وليس فيه؛
  3. أغلق الملف.
/ / افتح ملف Nommenclatura.xml واكتب عنصر الرأس إلى Recorder \u003d وظيفة جديدة ()؛ OpenFile PickleFile ("D: \\ Nommenclatura.xml"، "UTF-8")؛ OpavorPhraillaelement ("البضائع")؛ / / حدد البيانات لتسجيل التحديد - الدليل. استبدال. صالح ()؛ // الدورة التي يتم تسجيل التسجيل أثناء تلقي العينة. Next () دورة // تسجيل صمامات سجل البيانات الجديدة. التوظيف ("المنتج")؛ تسجيل التقطت (الاسم "(الاسم"، بلاي ميختر انتقائي. الاسم)؛ التسجيل التقطت ("بدء"، سلسلة (عينة صوفية])؛ بعد الاشتراك. التجريب ()؛ ننطف / / أغلق عنصر الرأس وملف السجل. RecordConCelerELement ()؛ عائدة. إغلاق ()؛

آلية XDTO في 1C

قام مطورو الشركة 1C بتبادل المعلومات عبر XML بإنشاء آلية خاصة بهم - XDTO (كائنات نقل بيانات XML). بدءا من الإصدار 8.1، تظهر النظام الأساسي القدرة على تبادل البيانات مع أنظمة أخرى، لا يتم إدخالها في تكوين ملف XML. تأخذ معظم المشكلات الفنية 1C، ولاين علينا فقط تحديد البيانات اللازمة لتشكيل XML. صحيح، لهذا، يحتاج المطور إلى القيام ببعض التلاعب مقدما.

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

في هذه الحالة، قم بإنشاء يديك حزمة بسيطة بحيث تفهم 1C بنية ملفنا على سبيل المثال. بحيث اكتمال تكوين الملفات بنجاح، نحتاج إلى التفكير في المخطط الذي لدينا عنصر رئيسي ومرفق مع السمات. يجب تصدير المخطط الذي تم إنشاؤه إلى ملف تنسيق XSD ونقل جنبا إلى جنب مع XML بحيث لا يحتاج الجانب الآخر إلى التعامل مع الهيكل وإنشاء حزمة XDTO مرة أخرى.


حفظ XML الجديد إلى القرص الثابت يساعد خوارزمية الخادم مماثلة للآخر السابق. يتكون الفرق فقط حول الحاجة إلى إضافة بيانات إلى 1 منتج إلى مصنع XDTO - الآلية الخاصة للمنصة 8.3 1C. إذا كانت هناك حاجة إلى جعل مستويات التعشيش أكثر - سيتعين عليك وصف كل عنصر رئيسي.

/ / افتح ملف Postback ملف XML \u003d RecordXML الجديد؛ OpenFile PickleFile ("D: \\ Nommenclatura.xml"، "UTF-8")؛ // الإشارة إلى 1C، ما هو نوع البيانات التي يجب إنشاءها - عنصر الرأس في Nascular \u003d FactoryXDTo. إنشاء (FactoryXDTo. اكتب ("http://wiseadvicexml.org"، "البضائع"))؛ // حدد البيانات لتفريغ الطميية \u003d الكتب المرجعية. Namerenclature. تجهيز ()؛ // إضافة عناصر منفصلة إلى عنصر الرأس حتى توضيحية. Next () عنصر دورة \u003d FactoryXDTo. إنشاء (FactoryXDTo. اكتب ("http://wiseadvicexml.org"، "المنتج"))؛ المنتج. اسم \u003d ANDREPROOPER. اسم؛ المنتج. سعر الملكية \u003d سلسلة (عماطلة. السعر الملكي)؛ Nutomovars. إضافة (المنتج)؛ ننطف / / قم بتسجيل البيانات وإغلاق Factory FactoryXDTo. RecruitXML (عودة، منفاخ)؛ عائدة. إغلاق ()؛

الآليات المدروسة هي عالمية للغاية ومعظم المهام يمكن أن تحلها. ومع ذلك، في تفاعل 1C و XML هناك عدد قليل من الفروق الدقيقة. دراسة لهم أكثر فعالية بكثير في الظروف الحقيقية، وليس في مهام الاختبار التي تقوم بها معالجة ملف XML يحل مهام ضيقة تماما.

ظهرت مهمة إنشاء ملف XML استنادا إلى مخطط XSD. أدت عمليات البحث حول المنتديات إلى عدد كبير من المناقشات المتعلقة بستوفر العملية، وفقط بضعة مقالات توضح الجوهر. سأل الناس عن الأسئلة، وفازوا على القرار، ولكن بعد استسلمتهم المهمة لهم، اختفوا ببساطة دون وصف الآلية. دفعت لإنشاء وصف بسيط للعملية.
ملاحظة. لا تقسم بقوة، كان هدفي لم يكن إنشاء مقالة معينة على شكل نقاط، باستخدام المصطلحات الصحيحة بدقة، والرغبة في المساعدة ببساطة في اتخاذ الخطوة الأولى نحو فهم آلية تبادل قوية للغاية من خلال XML.
P.P.S. يجب على الفور إجراء تحفظ على أن ملف التفريغ المرفق بالمقال هو مجرد مصدر يخلق جزءا فقط من هيكل ملف XML المطلوب، منذ كان وظيفتي مع هذا التفريغ شخصية معرفية بالأحرى (انسخ وثيقة التصدير السابقة على موقع FCS وتنزيلها من Excel. "ملف Aries فقط جزء مجبر من البضائع قد قدم حلا أكثر كفاءة)، وعدم وجود الوقت لم السماح بإضافة إنشاء الهيكل بأكمله، والاستمرار فقط لأسباب الكمال.

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

هناك نوعان من خيارات التمهيد.

أولا: تحميل الجزء المجدول مع البضائع من ملف Excel (تم اختيار هذا الخيار كعامل، لأن هناك هذه المزايا أنها ليست ضرورية للعلوف مع معالجة "قبعات" المستند، ويمكنك ببساطة نسخ السابق واحد عن طريق تغيير القبعة "ما هو مطلوب).

ثانيا: إنشاء ملف XML وفقا للمخطط الذي تم تنزيله من موقع FCT في شكل "تنسيقات الألبوم من الأشكال الإلكترونية من المستندات". الألبوم هو عدد كبير جدا من مخططات XSD. وجدوا مخططا ل "الشكل الإحصائي لحركة المنتج" والملفات الإضافية مع أوصاف النوع لذلك. يتم إرفاق المخططات بالمقال في أرشيف المعالجة.

لعرض مخططات XSD، تم استخدام Microsoft XML Notepad 2007 مجانا.

تظهر الصورة الملف الرئيسي مع نظام إحصائي XSD "الشكل الإحصائي للمحاسبة لنقل البضائع". أبرزت الصورة كتل XSD الرئيسية من الدائرة المطلوبة لنا لفهمها.

من المخطط، من الواضح أننا نحتاج إلى الحصول على ملف XML مليء بالهيكل المحدد في فرع "XS: Element" من نوع StaticFormType.

يمكن أن يكون الهيكل معقدا جدا (كما هو الحال في حالتنا). مع أوصاف الأنواع الموجودة مباشرة في الفرع تم إحضارها إلى فرع منفصل أو حتى في ملف آخر.

يحتوي هذا الهيكل على نوع من staticformtype، والذي يتكون بدوره من نوع أساسي من نوعه من نوعه، مجموعة من الكائنات ذات أنواع مختلفة وسمات النص.

يتم وصف شاشة المستندة إلى النوع الأساسي في ملف آخر (واسم مساحة)
.

يحتوي هذا الملف على المزيد من أنواع الأنواع التي لا تستخدم في حالتنا.

ننتقل الآن إلى العمل في 1C. باختصار، ما نحتاج إلى القيام به يأتي إلى ما يلي:

1. أنشأ factoryxdto

nasofabricxdto \u003d createfabricxdto (summixsd massiveIlfile)؛

2. يقوم FactoryXDTO بإنشاء جميع أنواع البيانات المعقدة، والتي سنلتزم بعد ذلك بملف XML الذي تم إنشاؤه:

staticformtype \u003d غسل ("urn: customs.ru: معلومات: جولة المواد الجمركية: staticform: 5.4.0"، "staticformtype")؛

يمكن الحصول على أنواع البيانات المدرجة في نوع ما من مجموعة خصائصها:

cuorganizationType \u003d staticformtype. ناجحة. صب ("المرسل إليه"). نوع؛ nametype \u003d cuorganizationType. ناجحة. صب ("InformationName"). نوع؛ ShortNameType \u003d cuorganizationType. ناجحة. صب ("اسم قصير"). نوع؛ languagecodetype \u003d cuorganizationtype. البرمجيات. صب ("التنظيمية"). نوع؛

3. عند إنشاء جميع أنواع البيانات المعقدة، نقوم بإنشاء ملف XML يعتمد عليهم كائنات FactoryXDTO:

staticformtype_bjectxdto \u003d washformtype (staticformtype)؛ // جمع مع المستندات newscument \u003d myfabricxdto. إنشاء (النمط الوثيقة)؛ newdocums.prdocumentname \u003d myfofabrikaxdto. إنشاء (prdocumentnametype، "التصحيح السلع الأساسية")؛ NewDocuments.prdocumentnumber \u003d Wash (PrDocumentNumberType، "123 عدد")؛ NewDocuments.prdocumentdate \u003d myfabrikaxdto. إنشاء (prdocumentDateTeph، "2014-10-05")؛ staticformtype_bjectxdto.Documents. إضافة (NewScuments)؛

في الوقت نفسه، تملأ تفاصيل التفاصيل الابتدائية (الأنواع البسيطة).

4. حسنا، أخيرا، قم بإلغاء تحميل الكل من FactoryXDTO إلى الملف:

filexml \u003d recordxml new ()؛ ملف filexml.text (الاسم)؛ filexml. تسجيل XML ()؛ WashXDto. RecruitXML (filexml، staticformtype_objectxdto)؛ filexml. إغلاق ()؛

ملاحظة. يحتوي الأرشيف على تفريغ ملف فارغ في XML (يتم إنشاء بعض التفاصيل فقط، مما يعكس كل حالة ملء الملف) ومخطط XSD.

Unzip جميع الملفات في بعض الدليل.

سيتم إنشاء XML في ذلك.