
تطور تكنولوجيا المعلومات يسمح للسيطرة على تدفق البيانات الضخمة. لدى Business الكثير من حلول تقنية المعلومات: CRM ، ERP ، BPM ، أنظمة المحاسبة أو على الأقل Excel و Word فقط. الشركات مختلفة جدا. بعض الشركات تتكون من فروع كثيرة. دعونا اسم مثل "الهرم". الأهرامات لديها مشكلة مزامنة البيانات لكومة من أنظمة تكنولوجيا المعلومات. يختلف بائعو البرامج والإصدارات عن الفروع بشكل كبير. بالإضافة إلى ذلك ، تقوم إدارة الشركة باستمرار بتعديل متطلبات الإبلاغ التي تسبب اعتداءات الإحباط في الفروع. هذه قصة عن المشروع الذي صادفته في مواجهة الفوضى التي كانت بحاجة إلى التنظيم والأتمتة. حدت الموازنة المنخفضة والمواعيد النهائية الضيقة من استخدام معظم الحلول الصناعية القائمة ، ولكنها فتحت المجال للإبداع.
تنسيق للأغراض العامة
قامت شركة العميل بتعيين مهمة لجمع بيانات التقارير من جميع الفروع. اسمحوا لي أن أشرح حجم التحدي - هناك العشرات من الأنظمة ، بما في ذلك: الوحوش التي يتم صنعها بنفسك والوحوش مثل SAP.
يمكن أن يحتوي أحد التقارير على بيانات من: المحاسبين والمصلحين ومديري العلاقات العامة و EMERCOM وعلماء الأرصاد الجوية.
قبل بدء المشروع ، تم إرسال جزء كبير من البيانات عبر البريد الإلكتروني إلى الشركة الرئيسية كمرفقات Word / Excel. بعد ذلك ، بدا الأمر وكأنه غروب الشمس تم إعداده يدويًا: تمت معالجة البيانات يدويًا بواسطة طاقم عمل تمت دراسته خصيصًا ووضعها في نظامين. في النهاية كان هناك العشرات من التقارير التي شكلت أساس قرارات الإدارة.
تم المطالبة باختيار النهج بتنسيقات الملفات المستخدمة - xlsx / docx. حتى البرنامج القديم يدعم تحميل البيانات إلى هذه التنسيقات. على الأقل يمكن أن تكون نسخة لصق آخر مكان للفروع.
لذلك كانت خطتنا التي تمت رؤيتها:
- صف هيكل وجدول كل تقرير.
- تزويد الفروع بأنظمة التقارير. يجب أن تستخدم الفروع البرامج الموجودة لإرسال التقارير عبر البريد الإلكتروني. إذا لم يكن هناك برنامج - أرسل التقارير يدويًا كما كان من قبل.
- تطوير النظام ، بحيث:
- يأخذ الوثائق الصحيحة من البريد الإلكتروني الوارد ؛
- مقتطفات البيانات من الوثائق ؛
- يكتب استخراج البيانات إلى DB ، ومعاقبة منتهكي اللوائح.

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

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

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

بعض الإعدادات الأخرى: قائمة المرسلين المسموح بهم ، ونوع المستند (Excel / Word) ، ومسار لتصدير البيانات.
الإخراج هو هيكل JSON (القالب) الذي يصف التقرير.
تطبيق البريد الإلكتروني
هذا التطبيق هو قارئ البريد الإلكتروني الوارد الذي يضع جميع المرفقات في صندوق الحماية ، ويحفظ سمات البريد الإلكتروني ، ويضع المرفقات على قائمة انتظار التحليل.
واجهنا فيها 2 مشاكل أمنية:
- ماذا لو تم استبدال اسم الفرع في التقرير بطريق الخطأ (أم لا) باسم فرع آخر؟
- ماذا لو تم إرسال التقرير من قبل المتسللين؟
يتم حل المشكلة الأولى عن طريق التحقق من عنوان البريد الإلكتروني للمرسل الفرعي واسم الفرع المحدد في نص التقرير.
يتم حل المشكلة الثانية باستخدام
SPF .
محلل المرفقات
تدعم كل مكتبات تحليل Word و Excel تقريبًا إصدارات / ملحقات معينة فقط. لهذا السبب قررنا استخدام تحويل "Libre Office" لنقل الملفات إلى تنسيق واحد. على سبيل المثال المدخلات: odt ، doc ، docx (2007 ، 2010 ، 2013) ... convert to docx (2016).
بعد التحويل:
- نقوم بتصفية مجموعة من قوالب التقارير استنادًا إلى السمات الأساسية مثل هل هي Word أو Excel ، ينتمي المرسل إلى القائمة المسموح بها ؛
- تهديد التقرير مع القوالب المتبقية ؛
- إذا كان هناك نموذج مطابق للتقرير - يمكنك استخراج البيانات ونقلها إلى المستودع.
استئناف
لقد صنعناها!
بعد شهرين من العمل المضني ، بدأ المكتب الرئيسي في تلقي البيانات للتقارير من جميع الفروع على أساس منتظم.
أصبحت جودة البيانات واكتمالها غير مسبوقة بشكل أفضل مما كانت عليه من قبل. أصدرت البرامج المنفذة الموارد البشرية التي سددت تكاليف المشروع بحلول نهاية العام.
لقد تعلمنا بأنفسنا أن عملية التكامل ليست مؤلمة دائمًا وقد حددنا الجوانب الرئيسية للنجاح:
- لم نحصل على الأنظمة الداخلية في الفروع ؛
- قمنا بإضفاء الطابع الرسمي على هيكل الإبلاغ الموحد والجدول الزمني للنقل ووافقنا عليه ؛
- قدمنا عينات الإخراج لكل نوع تقرير مع المدمج في التحقق ؛
- استخدمنا الطريقة الأكثر شيوعًا لتقديم البيانات - بريد إلكتروني.
ككلمة أخيرة ، هذا النهج له عيبان رئيسيان:
- انخفاض سرعة تسليم البيانات.
- يجب ألا يكون حجم حزمة البيانات أكبر من متوسط مرفق البريد الإلكتروني.