الجواب القصير. استرجاع البيانات ليس استيراداً عشية الإطلاق: بل ورشة من ستة أسابيع تُدار بالتوازي مع بناء التطبيق. تبدأ بـ جرد للمصادر وما هو المرجع، ثم جدول مطابقة موقَّع: من أين يأتي كل حقل، بأي قاعدة، وما يُترك خلفنا. والتنظيف يأخذ وقتاً أكثر من كل الباقي: أسماء وهواتف وتواريخ ومبالغ تُطبَّع، مكررات تُدمج بقاعدة، والقيم التي أتلفها الجدول، تاريخ صار رقماً ومعرّف من عشرين رقماً قُطع إلى خمسة عشر، تُطلب من جديد ولا تُخمَّن أبداً. ثم يُحمَّل كل شيء تجريبياً ثلاث مرات في نسخة، بتقرير للمرفوضات. ودليل أن لا شيء ضاع مطابقة: عدد الزبائن، الفواتير المفتوحة، الرصيد الإجمالي، المخزون، متساوية في القديم والجديد. والتحويل يتم في عطلة نهاية أسبوع، والنظام القديم للقراءة فقط، بتراجع مؤرَّخ. ولا يُسترجع إلا ما زال حياً؛ والباقي يُؤرشَف.
هذا الدليل موجّه إلى المسيّر في الجزائر الذي يعيش نشاطه في مصنفات Excel وبرنامج عمره عشر سنوات، وإلى المؤسس المقيم في فرنسا الذي يستلم مؤسسة عائلية وملفاتها، وإلى من يقارن عروضاً يكون فيها «ترحيل البيانات» سطراً واحداً. لا يتناول الربط الدائم بين برنامجين، الموصوف في دليل الدمج؛ بل يصف العبور، مرة واحدة، من القديم إلى الجديد.
ما تقوله الأرقام
الجدول يخزّن ما يُكتب فيه، وله حدود مكتوبة. صفحة مواصفات Excel التي تنشرها Microsoft تعطي ورقة من 1 048 576 سطراً على 16 384 عموداً، ودقة رقمية من خمسة عشر رقماً، وتواريخ تُحسب من 1 يناير 1900. هذه الأسطر الثلاثة تفسّر ثلاثة أعطال في الاسترجاع. التواريخ أرقام: 45123 هو 16 يوليو 2023، وعمود يُصدَّر بلا تنسيقه يصل سلسلة أرقام. ومعرّف أطول من خمسة عشر رقماً يُدخل رقماً يفقد أرقامه الأخيرة وتحل محلها أصفار: هذا حال RIB من عشرين رقماً، ولا قاعدة تستعيدها. وملف يتجاوز مليون سطر قُسم إلى عدة ملفات في مكان ما.
وللتواريخ مفاجأة أخرى موثَّقة. تشرح Microsoft أن Excel يعتبر خطأً سنة 1900 كبيسة، للتوافق مع جدول Lotus 1-2-3، وأن تصحيح ذلك سيزيح كل تواريخ المصنفات الموجودة تقريباً بيوم واحد؛ ويوجد أيضاً نظام تواريخ ثانٍ يبدأ سنة 1904. وما يفرضه ذلك: تحويل التواريخ يتم بقاعدة الجدول لا بطرح بسيط، ويُتحقَّق منه على تواريخ معروفة، تاريخ إنشاء الشركة وأول فاتورة، قبل تطبيقه على مائة ألف سطر.
والتحميل نفسه هو الجزء السهل. توصي وثائق PostgreSQL بتحميل السطور بأمر النسخ بالجملة بدل سلسلة إدراجات، لأن له «كلفة إضافية أقل بوضوح في التحميلات الكبيرة»، وبإنشاء الفهارس بعد التحميل، وتشغيل تحليل الجداول بعده؛ ولتحميل في معاملة واحدة ميزة أخرى مكتوبة في الصفحة نفسها: إن فشل سطر أُلغي كل شيء، فلا «نعلق ببيانات محمَّلة جزئياً». وما يفرضه ذلك: مائة ألف فاتورة تُحمَّل في دقائق، وكل الوقت في مكان آخر، في التنظيف والمطابقة. وما لم نجده: إحصائية عن حال ملفات الشركات الجزائرية؛ وما نراه أن ملف زبائن عمره عشر سنوات يحتوي عادةً بضعة بالمائة من المكررات، ونقوله ملاحظةً.
سطران من Excel يصيران بطاقة زبون
الاسترجاع لا يُفهم على مخطط قواعد بيانات بل على سطرين من ملف حقيقي.
الاسم: «sarl el baraka» بمسافة في آخره و«EL-BARAKA (SARL)» هما الزبون نفسه؛ حالة الأحرف والمسافات والشرطات تُطبَّع، والشكل القانوني يذهب إلى حقله. الهاتف: رقمان في الخلية نفسها، أحدهما بالصفر والآخر بدونه؛ رقم واحد لكل حقل، بالصيغة الدولية برمز 213+، وهو الذي سيخدم الدخول الموصوف في دليل OTP. التاريخ: 45123 في سطر و16/07/23 في الآخر هما التاريخ نفسه؛ الأول يُحوَّل من الرقم التسلسلي للجدول، والثاني يُقرأ بتنسيق الحاسوب الذي أدخله، وحين يمكن أن ينقلب اليوم والشهر يُسرد السطر.
المعرّف البنكي: عشرون رقماً أُدخلت رقماً، معروضة بالترميز العلمي، وضاعت الخمسة الأخيرة؛ والسطر الثاني يحمله نصاً لكنه مبتور؛ فيُعلَّم «يُطلب من الزبون من جديد» وتدخل البطاقة بدونه. لا قاعدة تعيد بناء رقم ضائع، وتطبيق يخمّن RIB تطبيق يرسل تحويلاً إلى الحساب الخطأ. المدينة: «blida» و«Blida ctr» تُلحقان برمز الولاية 09. الدمج: السطران لهما الهاتف نفسه واسم متقارب؛ فيصيران بطاقة واحدة، ويُجمع رصيداهما، ويبقى السطران الأصليان ملحقين بالبطاقة ليمكن فكّ الدمج.
استرجاع البيانات، في ست خطوات
خلف هذين السطرين ست خطوات، والثالثة تأخذ وقتاً أكثر من الخمس الأخرى.
الجرد يسرد كل مصدر ومن يمسكه ومنذ متى، وخصوصاً ما المرجع حين يتناقض مصدران: ملف المحاسب أم ملف المندوب. المطابقة جدول، عموداً عموداً: من أين يأتي كل حقل في التطبيق الجديد، بأي قاعدة تحويل، وما يُترك خلفنا؛ يوقّعه المسيّر، ويخدم المطورين أيضاً، الذين يكتشفون فيه الحقول التي يستعملها النشاط فعلاً. التنظيف يطبّق القواعد ويكشف المكررات وينتج قائمة ما لا يُصلَح ويجب طلبه من جديد؛ وتذهب هذه القائمة إلى الفرق منذ الأسبوع الثاني، لأن معاودة الاتصال بمائتي زبون تأخذ وقتاً.
التحميل التجريبي يحمّل كل شيء في نسخة من التطبيق الجديد، ويوقّت العملية، وينتج تقريراً: كذا سطراً دخل وكذا رُفض ولماذا. ويُنجَز ثلاث مرات: الأول يكشف القواعد المنسية، والثاني يصححها، والثالث هو التمرين العام للتحويل. المطابقة الحسابية تقارن مجاميع بين القديم والجديد. التحويل يتبع مساراً مكتوباً ساعةً بساعة، مجرَّباً، مع تراجع. وكل ذلك يجري والتطبيق يُبنى، بمنهج الدفعات الموصوف في دليل التسليم.
«لا قاعدة تعيد بناء رقم ضائع: ما أتلفه الجدول يُطلب من جديد ولا يُخمَّن.»
التحويل في عطلة نهاية أسبوع
التحويل هو اللحظة التي تغيّر فيها الشركة نظامها؛ ويتسع في عطلة لأن كل ما كان يمكن أن يفشل فشل ثلاث مرات من قبل.
الجمعة السادسة مساءً يصير النظام القديم للقراءة فقط: يُستشار ولا يُدخل فيه؛ وهذا ما يضمن ألا تتحرك الأرقام التي تُقارَن في الغد. السبت آخر تحميل، مطابق للتحميل التجريبي الثالث، ثم المطابقة. مساء السبت تُقرأ أربعة أرقام من الجهتين: عدد الزبائن النشطين، الفواتير المفتوحة واحدة واحدة، الرصيد الإجمالي للزبائن بالدينار الواحد، مراجع المخزون بكمياتها لكل مستودع. تتساوى، أو لا نفتح يوم الاثنين. والمكررات المدموجة ليست فارقاً: هي مسرودة مع السطور الأصلية.
الاثنين الثامنة صباحاً يفتح التطبيق الجديد، ويبقى القديم قابلاً للاستشارة. حتى ظهر الاثنين التراجع ممكن: يعود النظام القديم للكتابة ويُعاد إدخال الصباح؛ وبعد هذه الساعة تكثر الإدخالات الجديدة فيكون التصحيح إلى الأمام. وهذه المهلة تُكتب قبل العطلة ولا تُقرَّر في العجلة. في الأسبوع التالي تبلّغ الفرق عن الفوارق التي تراها، زبون غير موجود أو رصيد معترَض عليه، ويُتتبَّع كل منها إلى سطره الأصلي؛ وتُحفظ النسخة المؤرَّخة من النظام القديم، كما ينص دليل الاستضافة.
ستة مصادر، كيف نسترجعها وما نتحقق منه
ستة مصادر نلقاها، ولكل منها طريقة قراءته وما يُفحص فيه.
ملفات Excel تُقرأ ورقةً ورقة، مع استبعاد الخلايا المدموجة ومجاميع أسفل الأعمدة وأسطر العناوين المتنكرة في بيانات؛ ويُفحص فيها التواريخ الرقمية والمعرّفات الطويلة والأصفار البادئة وترميز العربية. البرنامج القديم بقاعدة بيانات يُقرأ بالتصدير أو بوصول للقراءة فقط، دون كتابة فيه أبداً؛ وتوجد فيه حقول حُوّلت عن استعمالها، حقل «الفاكس» الذي يحتوي اسم المندوب، ورموز بلا تسمية. البرنامج بلا تصدير يُسترجع من مطبوعاته PDF التي تُقرأ كما في دليل قراءة الوثائق، ومجموع كل كشف رقم تحقق.
الورق والدفاتر تُصوَّر وتُقرأ أو تُدخل يدوياً، بإدخال مزدوج على عينة وأرصدة تُؤكَّد مع الزبائن المعنيين. عدة ملفات لكل وكالة تتطلب بناء مفتاح مشترك، الهاتف والمعرّف، لأن الزبون نفسه يظهر بثلاثة أسماء. الرسائل والصور لا تُسترجع إلا لما له أثر بعد، رصيد مفتوح أو طلبية غير مسلَّمة. وليس كل شيء يُسترجع: عشر سنوات من الطلبيات المسلَّمة والمدفوعة تبقى قابلة للبحث في أرشيف؛ وما يجب أن يدخل نظيفاً هو ما زال حياً، الزبائن والمنتجات والأرصدة والمخزون والطلبيات المفتوحة.
«دليل أن لا شيء ضاع أربعة مجاميع تُقرأ مساء السبت، متساوية من الجهتين.»
ستة فخاخ في الاسترجاع
ستة فخاخ نراها في عمليات الاسترجاع التي نتداركها، وما تفعله المنهجية ضد كل منها.
المكرر: الزبون نفسه موجود ثلاث مرات ورصيده موزَّع؛ مفتاح على الهاتف والمعرّف، أسماء تُقارَن بتسامح، دمج بقاعدة، قائمة يتحقق منها المسيّر. التاريخ الذي صار رقماً: تحويل من الرقم التسلسلي للجدول، والتواريخ التي يمكن أن ينقلب يومها وشهرها تُسرد ولا تُخمَّن. المعرّف التالف: يُكشف بطوله وأصفاره الأخيرة، يُطلب من الزبون من جديد، ولا يُعاد بناؤه أبداً.
الرصيد الذي لا يتطابق: مجموع أرصدة الزبائن يختلف عن المحاسبة حتى قبل الاسترجاع؛ الفارق يُشرح سطراً سطراً أو ينتظر التحويل، لأن فارقاً مستورَداً يصير فارقاً لا يُفسَّر. العربية غير المقروءة: الأسماء تصير علامات استفهام؛ الترميز يُكشف ملفاً ملفاً، يُحوَّل، ويُتحقَّق بالعين على عينة. التحويل بلا عودة: رقم خاطئ يوم الاثنين والنظام القديم عُدّل في الأثناء؛ قراءة فقط، نسخة مؤرَّخة، تراجع مكتوب بمهلته. الثلاثة الأولى تأتي من الجدول نفسه؛ والثلاثة الأخيرة من المنهجية؛ ولا واحد يظهر قبل أول تحميل تجريبي.
رأيناه في مكان آخر: حدود Excel وPostgreSQL، وما ينتقل
مصدران يقولان الجوهر. تقول مواصفات Excel إن للرقم خمسة عشر رقماً من الدقة فقط وإن التواريخ أرقام تُعدّ من 1900 بسنة كبيسة زائدة؛ وما ينتقل هو أن ثلاثة من الفخاخ الستة ليست أخطاء إدخال بل السلوك العادي للجدول، وتُعالَج بقواعد لا بلوم الفريق على الملف. وتقول وثائق PostgreSQL إن التحميل بالجملة سريع وإن معاملة واحدة تلغي كل شيء عند الفشل؛ وما ينتقل هو أننا نحمّل ثلاث مرات بلا خوف، وأن تحميلاً نصف منجز لا وجود له.
وما لا تقوله هذه المصادر: أي مصادر لديكم، وأيها المرجع، وكم مكرراً، وأي أرقام يريد محاسبكم أن يراها متساوية مساء السبت؛ والأسبوع الأول من المشروع يجيب، والملفات مفتوحة على الطاولة.
قواعد استرجاع لا يضيّع شيئاً
ست قواعد تُكتب في الأسبوع الأول. الاسترجاع يبدأ مع المشروع لا في نهايته. جدول مطابقة موقَّع: لكل حقل مصدر وقاعدة، أو يُترك خلفنا كتابةً. لا نخمّن أبداً: التالف يُسرد ويُطلب من جديد. ثلاثة تحميلات تجريبية بتوقيت وتقرير للمرفوضات. المطابقة هي المرجع: مجاميع متساوية من الجهتين تُختار مع المحاسب، أو ينتظر التحويل. تراجع مكتوب بمهلته، والنظام القديم للقراءة فقط.
قاعدة سابعة تخص عرض السعر: «ترحيل البيانات» ليس متطلباً بل سطر؛ المتطلب يُكتب «جرد المصادر، جدول مطابقة متحقَّق منه، قواعد التنظيف ودمج المكررات، قائمة القيم التي تُطلب من جديد، ثلاثة تحميلات تجريبية بتقرير المرفوضات، مطابقة على المجاميع كذا، تحويل في عطلة نهاية أسبوع بمسار وتراجع، أرشيف قابل للبحث للتاريخ غير المسترجَع»، ويُتحقَّق منه كما يوصي دليل دفتر الشروط. وعرض السعر الذي يسعّر «استيراد Excel» سعّر التحميل لا الاسترجاع.
ست شركات، وما نسترجعه أولاً
ست شركات نرافقها كثيراً، ولكل منها ما يُسترجع أولاً.
- تاجر الجملة والموزّع، قبل فتح البوابة الموصوفة في الدليل المخصص. الزبائن برصيدهم وسقفهم، الكتالوج بالأسعار لكل زبون، المخزون لكل مستودع؛ وتاريخ الطلبيات في الأرشيف.
- المصحة والعيادة، الموصوفتان في دليل العيادة. المرضى بلا مكررات على الهاتف وتاريخ الميلاد، المواعيد القادمة، خطط العلاج المفتوحة؛ والملفات القديمة ممسوحة وملحقة.
- الوكالة العقارية وفضاء المالك، الموصوفان في الدليل المخصص. العقارات، الملاك، عقود الإيجار الجارية، الإيجارات غير المدفوعة؛ والوصولات السابقة في الأرشيف.
- المدرسة الخاصة. التلاميذ والأولياء بهواتفهم المطبَّعة، تسجيلات السنة، الأقساط المتبقية.
- ناشر SaaS، الموصوف في دليل تعدد المستأجرين. أداة استيراد لكل زبون، بجدول المطابقة نفسه وتقرير المرفوضات نفسه، لأن كل زبون جديد يأتي بملفاته.
- المؤسسة المستلَمة من فرنسا. كل ما يعيش في رأس المسيّر السابق ومصنفاته: الاسترجاع هو أيضاً لحظة اكتشاف ما تعرفه المؤسسة عن نفسها، ومنه تخرج لوحة القيادة الموصوفة في الدليل المخصص.
تقويم 2027
التقويم تقويم استرجاع كامل في ستة أسابيع، يُدار والتطبيق يُبنى.
الأسبوع 0 إلى 1 ينجز الجرد والمطابقة: كل المصادر، ما المرجع، الجدول عموداً عموداً، ما يُسترجع أو يُؤرشَف أو يُترك؛ موقَّعة. الأسابيع 1 إلى 3 تكتب التنظيف: قواعد التطبيع، كشف المكررات، وقائمة القيم التي تُطلب من جديد تُرسل للفرق فور وجودها. الأسبوع 3 إلى 4 ينجز أول تحميل تجريبي، بتقرير مرفوضاته ومطابقة أولى خاطئة دائماً تقريباً، وهذا دورها.
الأسبوع 4 إلى 5 ينجز الثاني والثالث: قواعد مصحَّحة، مكررات يتحقق منها المسيّر واحداً واحداً حين تتردد القاعدة، مدة مقاسة، مطابقة صحيحة. الأسبوع 5 إلى 6 هو التحويل والمتابعة: العطلة، الفتح، وأسبوع لتتبّع كل فارق مبلَّغ عنه إلى سطره الأصلي. والأسماء والمنتجات المنظَّفة تخدم البحث أيضاً، وتطبيعه موصوف في دليل البحث.
ما يُفشل الاسترجاع
عمليات الاسترجاع التي نتداركها فشلت دائماً تقريباً لأحد هذه الأسباب.
- الاستيراد عشية الإطلاق. يُكتشف في الأسبوع الأخير ويُنجَز مرة واحدة مساء جمعة.
- استرجاع كل شيء. عشر سنوات من التاريخ تُستورَد بأخطائها بدل ما زال حياً.
- التخمين. معرّف يُكمَّل وتاريخ يُفترض؛ والخطأ يُكتشف عند أول تحويل.
- لا قاعدة للمكررات. تُدمج يدوياً، وبطريقة مختلفة عند كل شخص.
- لا مطابقة. «يبدو جيداً»؛ والرصيد الإجمالي لم يُقارَن قط.
- النظام القديم ما زال مفتوحاً. إدخالات من الجهتين أثناء التحويل.
- لا تراجع. صباح الاثنين لا طريق للعودة.
أسئلة شائعة
الأسئلة التي نتلقاها من مسيّرين ومحاسبين ومؤسسين.
- هل يمكن إدخال ملفات Excel إلى التطبيق الجديد؟
- نعم، وهي ورشة قائمة بذاتها: جرد الملفات، جدول مطابقة عموداً عموداً، تنظيف، ثلاثة تحميلات تجريبية، ومطابقة للمجاميع. يُسترجع ما زال حياً، الزبائن والمنتجات والأرصدة والمخزون والطلبيات المفتوحة؛ والتاريخ القديم يبقى قابلاً للبحث في أرشيف بدل أن يُستورَد بأخطائه.
- ماذا يحدث للمكررات؟
- تُكشف بمفتاح، الهاتف والمعرّف، ثم بمقارنة متسامحة للأسماء، وتُدمج بقاعدة مكتوبة؛ وحين تتردد القاعدة يتحقق المسيّر من القائمة. تُجمع الأرصدة، وتبقى السطور الأصلية ملحقة بالبطاقة، وكل دمج يمكن فكّه.
- كيف نثبت أن لا شيء ضاع؟
- بمطابقة تُقرأ يوم سبت التحويل: مجاميع تُختار مع محاسبكم، عدد الزبائن النشطين، الفواتير المفتوحة واحدة واحدة، الرصيد الإجمالي بالدينار الواحد، المخزون لكل مستودع، متساوية في النظام القديم والجديد. وإن اختلف رقم واحد يُؤجَّل الفتح؛ ليست انطباعاً بل مساواة.
- لماذا تواريخنا وأرقامنا خاطئة في التصدير؟
- لأن الجدول يخزّن التواريخ أرقاماً تُعدّ من 1900 ولا يحفظ للرقم إلا خمسة عشر رقماً من الدقة: 45123 تاريخ، ومعرّف من عشرين رقماً أُدخل رقماً فقد أرقامه الأخيرة. التواريخ تُحوَّل بقاعدة الجدول؛ والرقم الضائع لا يُسترجع بل يُطلب من جديد.
- هل يتوقف النشاط أثناء التحويل؟
- لا، إن حُضّر: يصير النظام القديم للقراءة فقط مساء الجمعة، والتحميل والمطابقة يتمّان في العطلة، ويفتح التطبيق الجديد صباح الاثنين. ويبقى التراجع ممكناً حتى مهلة مكتوبة مسبقاً، ويبقى النظام القديم قابلاً للاستشارة بعدها.
- كم من الوقت لاسترجاع البيانات؟
- ستة أسابيع، بالتوازي مع بناء التطبيق: واحد للجرد والمطابقة، اثنان للتنظيف، اثنان للتحميلات التجريبية الثلاثة، واحد للتحويل والمتابعة. وقائمة القيم التي تُطلب من جديد تذهب إلى الفرق منذ الأسبوع الثاني، لأنها ما يأخذ أكثر وقت تقويمي.