قواعد نقل البيانات 1 ج. مثال على قاعدة تحويل الكائنات. خيارات شراء ترحيل البيانات

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

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

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

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

دعونا نفكر في بعضها:

  • التبادل عبر ملفات نصية ؛
  • باستخدام خطط الصرف.
  • إلخ.

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

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

تحويل البيانات هو حل نموذجي ، التكوين الذاتي. أي مستخدم لديه ITS: يمكن لاشتراك الأستاذ تنزيل هذه الحزمة مجانًا تمامًا من موقع دعم المستخدم أو من قرص ITS. يتم التثبيت بطريقة قياسية - مثل جميع الحلول النموذجية الأخرى من 1C.

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

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

الميزة الثالثة التي أود أن أشير إليها هي عدم وجود قيود على توزيع البيانات. يختار المطور بنفسه طريقة توصيل البيانات إلى تكوين جهاز الاستقبال. يتوفر خياران خارج الصندوق: التحميل إلى ملف xml والاتصال المباشر بقاعدة المعلومات (COM / OLE).

ندرس العمارة

نحن نعلم بالفعل أن تحويل البيانات يمكن أن يصنع المعجزات ، لكن ليس من الواضح تمامًا ما هي المزايا التقنية. أول شيء يجب معرفته هو أن أي ترحيل (تحويل) للبيانات يعتمد على قواعد التبادل. قواعد التبادل - ملف xml عادي مع وصف للبنية التي سيتم تحميل البيانات من IB إليها. معالجة الخدمة ، التي تقوم بتفريغ / تحميل البيانات ، وتحليل قواعد التبادل ، وبناءً عليها ، تؤدي عملية التفريغ. يتم عكس العملية أثناء التمهيد.

التكوين "KD" هو نوع من المُنشئ المرئي ، والذي يساعد من خلاله المطور في إنشاء قواعد التبادل. لا يعرف كيفية تفريغ البيانات. تكون معالجة الخدمة الخارجية الإضافية المضمنة في مجموعة توزيع القرص المضغوط مسؤولة عن ذلك. يوجد العديد منهم (XX في اسم الملف هو رقم إصدار النظام الأساسي):

  • MDXXExp.epf- تسمح لك المعالجة بتفريغ وصف بنية قاعدة المعلومات في ملف xml. يتم تحميل وصف الهيكل في القرص المضغوط لمزيد من التحليل وإنشاء قواعد التبادل.
  • V8ExchanXX.epf- تفريغ / تحميل البيانات من قاعدة المعلومات وفقاً لقواعد الصرف. في معظم التكوينات النموذجية ، تكون المعالجة حاضرة خارج الصندوق (انظر عنصر قائمة "الخدمة"). المعالجة عالمية ولا ترتبط بأي تكوين / قواعد محددة.

حسنًا ، بناءً على ما سبق ، دعنا نحدد مراحل تطوير تحويل جديد:

  1. تعريف المهمة. من الضروري أن نفهم بوضوح ما هي البيانات التي يجب نقلها (من أي كائنات التكوين) ، والأهم من ذلك ، مكان نقلها.
  2. إعداد وصف لهياكل التكوين (المصدر / المتلقي) للتحميل اللاحق في القرص المضغوط. يتم حل المهمة عن طريق معالجة الخدمة MDXXExp.epf.
  3. تحميل الأوصاف المعدة للهياكل في IB.
  4. إنشاء قواعد التبادل باستخدام أدوات القرص المضغوط المرئي.
  5. تنفيذ التحميل / التنزيل وفقًا لقواعد تحويل البيانات التي تم إنشاؤها باستخدام معالجة V8ExchanXX.epf.
  6. تصحيح قواعد الصرف (إذا لزم الأمر).

أبسط تحويل

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

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

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

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

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

لذلك ، نترك جميع الإعدادات الافتراضية ونصدر وصف التكوين إلى ملف. نكرر إجراء مماثل للقاعدة الثانية.

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

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

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

  • اسم ملف قواعد الصرف - سيتم حفظ قواعد التبادل التي تم إنشاؤها تحت هذا الاسم. يمكن تغيير اسم الملف في أي وقت ، ولكن من الأفضل تعيينه الآن. سيوفر هذا الوقت في المستقبل. سميت قواعد العرض التوضيحي: "rules-ut-to-priemnik.xml".
  • الاسم - اسم التحويل. يمكن أن يكون الاسم أي شيء على الإطلاق ، فقد اقتصرت على "Demo. UT في جهاز الاستقبال ".

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

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

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

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

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

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

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

في حالتي ، هناك ثلاثة أدلة من هذا القبيل: التسمية ، المنظمات والمستودعات. هناك أيضًا كتاب مرجعي العملاء ، والذي يفي بنفس العبء الدلالي مثل " المقاولون"من التكوين" NS". صحيح أن السيد لم يستطع مطابقتهم بسبب أسمائهم الممتازة.

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

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

أساس قواعد الصرف جاهز. اخترنا الكائنات للمزامنة ، وتم إنشاء قواعد تحويل الخصائص وقواعد التفريغ تلقائيًا. لنحفظ قواعد التبادل في ملف ، ثم نفتح "المصدر" للـ IB (في حالتي هو UT) وابدأ معالجة الخدمة فيه V8Exchan82.epf.

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

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

مهام العالم الحقيقي

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

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

رقم المشكلة 1. نملأ التفاصيل المفقودة

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

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

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

إذا لم يكن Object.EtoGroup ثم Object.Organization = Constants.CurrentOrganization.Get () ؛ إنهاء إذا؛

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

رقم المشكلة 2. التفاصيل في سجل المعلومات

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

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

الخطوة التالية هي تشكيل قواعد التفريغ. انتقل إلى علامة التبويب المقابلة واضغط على الزر " يضيف". في النافذة لإضافة قواعد التفريغ ، املأ:

  • طريقة أخذ العينات. التغيير إلى "الخوارزمية المجانية" ؛
  • قاعدة التحويل. نختار سجل المعلومات "أنواع العملاء" ؛
  • كود (اسم) القاعدة. نكتبها كـ "Unloading Client Views" ؛

أنت الآن بحاجة إلى كتابة الكود لتحديد البيانات لتفريغها. المعلمة " جلب البيانات". يمكننا وضع مجموعة بها مجموعة بيانات مُعدة. معامل " جلب البيانات"يمكن أن تأخذ قيمًا مختلفة - نتيجة الاستعلام ، والاختيار ، ومجموعات القيم ، وما إلى ذلك. نقوم بتهيئته كجدول قيم بعمودين: نوع العميل والعميل.

يوجد أدناه رمز معالج الأحداث " قبل المعالجة". يقوم بتهيئة المعلمة " جلب البيانات"متبوعة بملء بيانات الكتاب المرجعي" المقاولون". هنا يجب الانتباه إلى ملء العمود " نوع العميل". في "UT" لدينا علامات من النوع "Boolean" ، وفي المتلقي - التعداد.

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

DataFetch = NewValuesTable () ، FetchData.Columns.Add ("العميل") ، FetchData.Columns.Add ("ClientType") ، FetchDataFromDirectory = Directories.Contractors.Select () ، أثناء FetchingDataFromDirectory.Next () حلقة IfFetchingDataFromDirectory.TGroup ثم متابعة ؛ إنهاء إذا؛ إذا كان DataFetchFromDirectory.Buyer ثم NewRow = DataFetch.Add () ؛ NewString.Client = DataFetchFromDirectory.Link ؛ NewString.ClientType = "المشتري" ؛ إنهاء إذا؛ إذا DataFetchFromDirectory.Provider ثم NewRow = DataFetch.Add () ؛ NewString.Client = DataFetchFromDirectory.Link ؛ NewString.ClientType = "المورد" ؛ إنهاء إذا؛ نهاية الدورة

لنحفظ قاعدة تفريغ البيانات ونرجع إلى " قواعد تحويل الكائن". أضف لسجل المعلومات " أنواع العملاء"قواعد تحويل الملكية: نوع العميل والعميل. اترك المصدر فارغًا ، واكتب في معالج الحدث "قبل التفريغ":

// بالنسبة لقيمة خاصية "العميل" = Source.Client ؛ // للخاصية “ClientType” If Source.Client = "Customer" ثم Expression = "Enumerations.ClientTypes.Customer" OtherwiseIf Source.Client = "المورد" ثم Expression = "Enumerations.ClientTypes.Supplier" ؛ إنهاء إذا؛

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

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

رقم المشكلة 3. الحيل الجدولية

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

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

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

DataFetch = NewValuesTable () ، // سيكون هناك قسم جدولي آخر DataFetch.Columns.Add ("المنتجات") ؛ // سيكون هناك أيضًا قسم جدولي DataFetch.Columns.Add (“الخدمات”) ؛ FetchData.Columns.Add (“Link”) ؛

المشكلة رقم 4. نقل البيانات إلى عملية

إذا كانت المنظمة تستخدم العديد من أنظمة المحاسبة ، فستكون هناك حاجة عاجلاً أم آجلاً إلى ترحيل البيانات مع التشكيل اللاحق للمعاملات.

في التكوين " BP"هناك وثيقة عالمية" عمليةوهي مثالية لتوليد المزيد من العملاء المحتملين. هذه ليست مهمة واحدة فقط - المستند مصنوع بمكر ، وليس من السهل نقل البيانات إليه.

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

المشكلة رقم 5. تزامن البيانات لعدة متطلبات

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

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

تعد المزامنة بواسطة معرّف فريد طريقة موثوقة ، لكنها بعيدة كل البعد عن كونها مناسبة دائمًا. عند دمج الدلائل " المقاولون"(من عدة أنظمة مختلفة) إنها قليلة المساعدة.

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

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

لدينا الحق في اختيار الحقول بأنفسنا. بعد ملاحظة INN و KPP والاسم ، سنشير على الفور إلى عدة معايير بحث. مريح؟ تماما ، ولكن مرة أخرى هذا لا يكفي. ماذا لو أردنا تغيير معايير البحث؟ على سبيل المثال ، نبحث أولاً عن رابط INN + KPP ، وإذا لم نعثر على أي شيء ، فسنبدأ في تجربة حظنا بالاسم.

مثل هذه الخوارزمية قادرة تمامًا على التنفيذ. في معالج الحدث " حقول البحث"يمكننا تحديد ما يصل إلى 10 معايير بحث ولكل منها تحديد مجموعة حقول البحث الخاصة به:

إذا كان SearchVariantNumber = 1 ثم SearchPropertyNameString = "INN ، KPP" ؛ OtherwiseIf SearchVariantNumber = 2 ثم SearchPropertyNameString = “Name”؛ إنهاء إذا؛

هناك دائما العديد من الحلول

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

في رأيي ، يتجاوز 1C بشكل غير مستحق موضوع استخدام تحويل البيانات. لوجود التكنولوجيا بالكامل ، تم نشر كتاب واحد فقط عنها: "1C: المؤسسة 8. تحويل البيانات: التبادل بين حلول التطبيقات". الكتاب قديم جدًا (2008) ، لكن لا يزال من المرغوب فيه التعرف عليه.

معرفة المنصات لا تزال ضرورية

"هي أداة عالمية ، ولكن إذا كنت تخطط لاستخدامها لإنشاء عمليات ترحيل البيانات من التكوينات المطورة لمنصة 1C: Enterprise 7.7 ، فسيتعين عليك حينئذٍ قضاء بعض الوقت في التعرف على اللغة المضمنة. يختلف تركيب اللغة وأيديولوجياها اختلافًا كبيرًا ، لذلك عليك قضاء بعض الوقت في الدراسة. يبقى باقي المبدأ كما هو.

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

يمكنك أيضًا نقل البيانات باستخدام. تحتوي العديد من تكوينات 1C 8.3 على وظائف قياسية لإعداد مزامنة البيانات بين التكوينات المختلفة والتكامل السلس مع إدارة المستندات 1C.

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

يمكنك تنزيل هذه المعالجة على قرص ITS ، أو اتباع الروابط:

إنه متعدد الاستخدامات ومناسب لأي تكوين.

لنأخذ مثالاً على تفريغ دليل التسمية من قاعدة معلومات 1C 8.3 Accounting 3.0 إلى أخرى. سيكون الشرط الأساسي هو الاختيار من قبل الأصل (المجموعة) "النجارة".

تفريغ البيانات من 1C إلى XML

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

فتح معالجة التحميل والتنزيل بيانات XML(تحكم + O).

نحن مهتمون بعلامة التبويب "التفريغ". بادئ ذي بدء ، حدد اسم الملف الذي سيتم تحميل البيانات فيه ومسار الحفظ. في هذه الحالة ، يتم تحميل البيانات "إلى ملف على الخادم".

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

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

العمود "Unload إذا لزم الأمر" يعني ما إذا كان من الضروري إعادة تحميل هذا الكائن إذا تمت الإشارة إليه بواسطة سمة الدليل الذي نقوم بإعادة تحميله. على سبيل المثال ، يحتوي موضع العنصر الذي تعيد تحميله على وحدة قياس ليست في قاعدة جهاز الاستقبال. إذا تم تعيين خانة الاختيار في عمود "التفريغ إذا لزم الأمر" أمام الكتاب المرجعي بوحدات القياس ، فسيتم إنشاء موضع جديد. خلاف ذلك ، فإن قيمة السمة سوف تحتوي على النقش "<Объект не найден>ومعرفه الفريد.

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

الخامس هذا المثالتحتاج فقط إلى تحديد التسمية الموجودة في مجلد "Woodworking".

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

يمكنك إضافة كائنات هنا إما يدويًا (الزر "إضافة") أو حسب الطلب ("إضافة حسب الطلب ..."). مع وجود عدد كبير منهم الخيار الثاني هو الأفضل.

في هذه الحالة يكون الطلب على النحو التالي. املأ المعلمات ، أكمل الطلب عن طريق التحقق من البيانات ، وانقر فوق الزر "تحديد نتيجة".

بعد تحديد جميع العناصر الضرورية والعناصر الإضافية للتحميل ، انقر فوق الزر "تحميل البيانات". سينتهي بهم الأمر في ملف XML ، الاسم والمسار الذي حددته سابقًا. سيتم عرض نتائج هذه العملية في الرسائل.

في هذا المثال ، كان من الضروري تفريغ 3 مواقع فقط ، لكن تم تفريغ خمسة مواقع. هذا لأنه تم تعيين العلم في العمود "Unload إذا لزم الأمر" مقابل الكتاب المرجعي "Nomenclature". جنبا إلى جنب مع المواقف اللازمة ، كان والديهم مثقلين.

تحميل مرجع من XML

بعد إلغاء تحميل البيانات بنجاح من تكوين المصدر إلى ملف XML ، افتح قاعدة بيانات الوجهة. يجب أن تتطابق بنية الكائنات وتفاصيلها مع بعضها البعض. في هذه الحالة ، يتم إجراء التحويل بين تكوينين نموذجيين لـ 1C: Accounting 3.0.

افتح المعالجة في قاعدة المتلقي. هذه المعالجةتستخدم لتحميل وتنزيل البيانات. انتقل إلى علامة التبويب "تنزيل" وحدد المسار إلى ملف XML، حيث تم تحميل البيانات مسبقًا. بعد ذلك ، انقر فوق الزر "تنزيل البيانات".

سيتم عرض نتيجة التنزيل في الرسائل. في حالتنا ، كل شيء سار على ما يرام.

دليل "التسمية" في القاعدة - لم يتم ملء المتلقي. الآن لديها خمسة عناصر: ثلاثة عناصر تسمية ومجموعتين.

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

يُعد ترحيل البيانات أحد أهم أجزاء الترحيل من تكوين إلى آخر.

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

مراحل التحويل

يتكون نقل البيانات من 5 خطوات. حاولنا وصفها بأكثر الطرق تفصيلاً وفهمًا.

لماذا نقل البيانات لدينا أفضل؟

التكلفة النموذجية لترحيل البيانات

صيانة برنامج جديد

بعد نقل جميع البيانات ، قد تحتاج إلى صيانة برنامجك. نحن على استعداد لتزويدك به!

الانتقال إلى 1C 8.2

تفاصيل حول المراحل الأخرى للانتقال من نظام أساسي إلى آخر. ترقية الرخصة ، التكوين ، التدريب ، الصيانة. خبراؤنا مستعدون لتزويدك بكل المساعدة التي تحتاجها!

لماذا نحن افضل؟

طلب نقل

فريقنا

لماذا يعتبر نقل 1C أفضل؟

  • الشفافية
  • قبل نقل الكتب المرجعية 1C 8.2 وبياناتك الأخرى ، سيخبرك المتخصصون لدينا بالتفصيل عن جميع مراحل العمل. بإسناد قاعدتك إلينا ، فأنت تعلم دائمًا ما يتم القيام به وبأي ترتيب وكم تدفع مقابل كل مرحلة من مراحل العمل.

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

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

  • العمل من أجل النتائج
  • يعتبر العمل مكتملاً فقط بعد التأكد من إجراء نقل أدلة 1C 8 والبيانات الأخرى بشكل صحيح ، وأنك راضٍ عن النتيجة. نحن لا نتخلى عن عملائنا!

    المرحلة 1. التحليل العام لقاعدة المصدر

    ما العمل الذي يتم:

  • الحصول على تكوين إصدار نموذجي مشابه لقاعدة المصدر ؛
  • التحليل العام للتغيرات في هيكل البيانات (مقارنة مع التكوين النموذجي) ؛
  • التحليل العام للتغييرات في النماذج ووحدات التكوين (مقارنة مع التكوين النموذجي) ؛
  • السيطرة على توافر حسابات محاسبية غير نمطية للتكوينات المحاسبية ؛
  • التحكم العام في صحة المحاسبة في قاعدة المصدر (وجود أرصدة "حمراء" ، فترات مفتوحة ، تسلسلات غير مستردة ، إلخ) ؛
  • تحديث قاعدة البيانات المصدر إلى الإصدار المطلوب بموجب قواعد الترحيل القياسية ؛
  • نقل بيانات المحاكمة
  • إعداد التوصيات الممكنة لإعداد قاعدة البيانات المصدر لنقل الكتب المرجعية 1C 8 وغيرها من البيانات.
  • لماذا:

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

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

    السعر: 2000 روبل

    المرحلة 2. إعداد الوثائق الفنية للنقل غير النمطي

    ما العمل الذي يتم:

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

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

    السعر: يتم تحديده بناءً على نتائج تحليل عام لقاعدة المصدر.

    المرحلة 3. تحسين تكوين جهاز الاستقبال

    ما العمل الذي يتم:

  • يتم الانتهاء من التكوين القياسي لقاعدة المستلم على أساس التعيين الفني ، أو وفقًا لتعليمات العميل (للعمل بالساعة) ؛
  • يتم إجراء الاختبار الأولي للتعديلات ؛
  • يتم توثيق التحسينات في شكل تقرير عن التغييرات في التكوين النموذجي (لإمكانية إجراء مزيد من التحديث بواسطة مهندس الخدمة) ؛
  • يتم تنفيذ مظاهرة التحسينات للمستخدم (التسليم - قبول الأعمال) ؛
  • يجري تطوير دليل مستخدم للتحسينات (إذا لزم الأمر).
  • لماذا:

  • انت تحصل احدث اصدارالتكوينات مع التغييرات التي تطلبها ؛
  • تتلقى الوثائق الخاصة بالتحسينات التي تحتاجها لمزيد من المعلومات
    التحديثات من قبل مهندس الخدمة.
  • المرحلة 4. تنقيح قواعد النقل

    ما العمل الذي يتم:

  • يجري الانتهاء من القواعد القياسية للتحويل من 1C لمراعاة التغييرات في هيكل البيانات للتكوين القياسي لقاعدة المصدر ، وكذلك الحسابات المحاسبية غير القياسية المستخدمة في قاعدة المصدر ؛
  • يتم إجراء الاختبار الأولي للنقل مع مراعاة التغييرات.
  • لماذا:

    يتم توفير النقل الصحيح للبيانات ، والذي لا يتم نقله وفقًا لقواعد التبادل القياسية ؛

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

    السعر: تم تشكيله على أساس مجموعة من الوثائق الفنية.

    المرحلة 5. نقل البيانات

    ما العمل الذي يتم:

  • تحمل أكثر معلومات مرجعية(الكل ، أو عن طريق الروابط) ، تحويل الأرصدة إلى تاريخ معين ؛
  • التحكم في صحة النقل - مقارنة بيانات قاعدة البيانات المصدر وقاعدة البيانات الوجهة ؛
  • إعداد التوصيات الممكنة لتعديل الأرصدة في قاعدة الاستلام ، مع مراعاة خصوصيات المحاسبة في التكوينات المختلفة (إذا لزم الأمر).
  • لماذا:

    أنت على استعداد للذهاب قاعدة جديدةالبيانات مع الأرصدة الحالية الخاصة بك.

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