⚙️ الإعدادات
📋 سجل التحديثات
14-09-2026
  • جديد🗺️ زرار «ارفع على الزون بس» جنب «ارفع على المحافظة بس». قبل كده درجة الزون كانت تلقائية بس — الموظف اللي شايف المطابقة مش مظبوطة بس عارف الزون ماكانش قدامه غير المحافظة، وهي بتاخد هب افتراضي والزون بياخد هب محدد؛ يعني كان بينزل درجتين بدل واحدة. ⚠️ الزون بيتبعت بالـ zoneId مش بالاسم (الاسم بيتكرر بين المدن)، والـ Worker بيتحقق إنه في مدينة الرفع ومش كل مناطقه مقفولة — ولو لأ بيوقف الصف.
  • إصلاحالقايمة المنسدلة بقت بعرض الصف كله بدل عرض الخانة. أسماء المناطق (B1 Factories (10th of Ramadan) — B1 مصانع (العاشر من رمضان)) كانت بتتلف على تلات سطور والقراءة تبقى تخمين. ✅ وده كمان بيلغي خطر الخروج برّه النافذة من أصله: العرض = عرض الصف بالظبط.
  • إصلاح🗺️ خانة الزون ما كانتش بتتحدّث لما تختار منطقة. المنطقة جوّه زون واحد بالظبط، فأول ما منطقة تتحدد الزون بقى محسوم — وكانت الخانة لسه بتقول «الكل»، فالتلات خانات تقرا كأن العنوان ناقص درجة وهو كامل. دلوقتي بتعرض زون المنطقة المختارة (تلقائية كانت أو يدوية) بالأخضر. ⚠️ والزون هنا مشتقّ مش مبعوت: الأداة بتبعت districtId وبوسطة بتحطّ الزون لوحدها منه.
  • إصلاح🔴 البحث كان بيرجّع «مفيش مناطق مطابقة» على منطقة موجودة فعلًا. لما القايمة تكون مقصورة على زون، البحث كان بيدوّر جوّه الزون بس — فالموظف يكتب اسم منطقة في نفس المدينة ويلاقي طريق مسدود من غير أي خطأ. دلوقتي البحث بيلف على كل مناطق المدينة والقصر بيرجع أول ما خانة البحث تفضى. (الفخ ده بقى أقرب بعد ما القصر بقى بيتطبّق لوحده على صف الزون.)
  • تغيير🗺️ الزون بقى مكان واحد بدل تلاتة. كان فيه بانر «الشحنة هتترفع على زون…» وصف «اضغط عشان تشوف مناطقه بس» فوق القايمة، والاتنين بيقولوا نفس اللي خانة الزون في صف بوسطة بتقوله. الاتنين اتشالوا — والقايمة تحت بقت تتقصر على الزون تلقائيًا أول ما تفتح النافذة. (اقتراح المدن التانية فضل — ده بيغيّر المدينة ومش معروض في أي مكان تاني.)
  • إصلاحقايمة المنطقة كانت بتوسّع النافذة وتطلّع شريط تمرير أفقي. خانة المنطقة أقصى الشمال، ولوحتها كانت بتمتد لبرّه حافة النافذة. بقت تفتح لجوّه.
  • تغييرعدد المناطق المقفولة اتشال من قايمة المدن. الرقم مالوش أثر على أي قرار — اللي بيفرق إن المنطقة دي بالذات مقفولة، وده باين عليها في القايمة نفسها.
  • تغييررسالة «خارج التغطية» الطويلة اتشالت من الجدول. الجدول بيقول نفس المعلومة تلات مرات تانية (بادج الحالة · اسم المنطقة المقفولة في عمود المنطقة · حالة الرفع «موقوف»)، والجملة جنبهم كانت بتاكل خلية العميل. ⚠️ المنع ما اتغيّرش — الصف لسه موقوف، والشرح الكامل على الـ hover وفي رسالة الخطأ لو حد حاول يرفع.
  • تغييراسم الحالة بقى 🚫 خارج التغطية بدل «برّه تغطية بوسطة».
  • جديد🔽 صف بوسطة بقى تلات قوايم منسدلة ببحث: المدينة · الزون · المنطقة. قبل كده كانت المدينة بس قايمة، والمنطقة نص للقراءة — يعني الاختيار كله من القايمة الكبيرة تحت. دلوقتي التلاتة قابلة للتغيير من نفس المكان اللي الموظف بيقرا فيه القيمة. ⚠️ والزون بيقصّر القايمة، مابيختارش منطقة — الزون جواه مناطق كتير (زون العبور = ٦) واختيار واحدة منهم تلقائيًا تخمين.
  • تغييرالأعمدة بقت تقابل بعضها عمود بعمود: محافظة شوبيفاي ↔ مدينة بوسطة · مدينة شوبيفاي ↔ الزون (دي الخانة اللي العميل بيكتب فيها «العبور»). يعني السؤال «الأحمر ده جاي منين؟» بقى ليه إجابة فوقه على طول.
  • إصلاح🔴 القايمة المنسدلة كانت مقصوصة من تحت. الجدول كان عليه overflow:hidden (لتقويس الأركان) فكان بياكل نُص اللوحة — الموظف يفتح قايمة المنطقة ويشوف صفين ونُص. تقويس الأركان اتنقل للخانات الطرفية نفسها. ⚠️ باج بصري بحت: مفيش خطأ ومفيش سلوك بيتغيّر، عشان كده فيه اختبار بيحرس السطر ده تحديدًا.
  • تغييرخانة العنوان في سطر شوبيفاي اتشالت — كانت مكررة حرفيًا مع الصف الأخضر فوقها. الخانة نفسها فضلت فاضية عشان الأعمدة تفضل متطابقة بين الصفين.
  • إصلاح🔴 لون الزون كان بيقول «عدّلت» وهو مش بيعدّل حاجة. لما تقصّر القايمة على زون كان بيبقى برتقالي — والبرتقالي في الأداة كلها معناه «تدخّل يدوي غيّر اللي هيتبعت». بقى أزرق = ترشيح عرض بس، والأخضر متحجوز للقيمة اللي هتتبعت فعلًا (منطقة متحددة، أو زون الشحنة هترفع عليه). وكل خانة بقى عليها شرح على الـ hover.
  • جديد🚫 المناطق اللي بوسطة مش بتسلّم فيها بقت باينة. قبل كده كانت بتتشال من القايمة في صمت — الموظف يشوف ٧ مناطق بدل ٩ ومش عارف إن عنوان العميل أصلًا برّه تغطية بوسطة، فيضغط «ارفع على المحافظة بس» فاكرها مسار احتياطي سليم، والشحنة تتشحن بفلوس وترجع بعد أيام. دلوقتي بتتعرض في نفس القايمة معلّمة ومش قابلة للضغط، والعنوان اللي بيطابق واحدة منها بيوقف الصف بحالة جديدة 🚫 خارج التغطية — الأوردر يتحوّل لخدمة العملاء (عنوان بديل · كوريَر تاني · إلغاء).
  • جديد🗺️ درجة الزون — مستوى جديد بين المنطقة والمحافظة. الأوردر اللي مالوش مطابقة منطقة بس عنوانه طابق زون واحد بقى يترفع بالزون بدل ما ينزل على طول للمحافظة. الفرق مقيس على بوليصتين: «المحافظة بس» بتاخد هب افتراضي وكود فرز G-02، والزون بياخد هب محدد وكود G-08 — يعني تحويلة أقل. السلّم بقى منطقة ← زون ← محافظة، والنزول بيحصل لما اللي فوقه يترفض بس.
  • إصلاح🔴 قيمة البضاعة تحت ١٠٠ جنيه كانت بترجّع رفض مبهم من بوسطة. بوسطة عندها حد مش مكتوب في التوثيق (١٠٠–٥٠٠٠٠) ورسالة الرفض بتتكلم عن «قيمة الطرد» من غير ما تقول إن فيه حد أصلًا. دلوقتي الصف بيتوقف قبل النداء برسالة واضحة. ⚠️ الحالة دي أقرب بكتير في الاسترجاع/الاستبدال: القيمة هناك متحسبة من سعر القطع اللي بتسافر مش من إجمالي الأوردر.
  • إصلاح🔴 العميل اللي دفع زيادة كان هيتحصّل منه تاني. في الشحن العادي المبلغ السالب معناه العميل دافع زيادة — يعني مفيش حاجة تتحصّل — والكود كان بياخد قيمته المطلقة، فـ-200 كانت بتتحوّل لـ«حصّل منه 200». دلوقتي بتبقى صفر، والتسوية مكتبية.
  • إصلاحإلغاء شحنة اتلغت خلاص بقى بيتقال «كانت ملغية» مش «فشل». بوسطة بترجّع خطأ على الإلغاء المكرر، والأداة كانت بتعرضه كفشل — فالموظف يروح داشبورد بوسطة يدوّر على شحنة مش موجودة أصلًا.
  • تغييررسايل رفض بوسطة بقت بالعربي لحالات أكتر (حد التحصيل · حد قيمة البضاعة · الزون مش موجود · الشحنة مش لاقيينها)، وأي رفض شامل بيقول صراحةً إن مفيش أي جزء من الطلب اتنفّذ.
  • تغييرالسجل بقى بيكتب درجة العنوان اللي اتبعت فعلًا (منطقة · زون · محافظة) — من غيرها مفيش طريقة نقيس بعدين كام شحنة راحت بأنهي درجة، والزون والمحافظة بيروحوا على نفس العقد فمفيش حاجة تانية بتفرّق بينهم.
  • تغيير🔴 عدّادات نافذة النتيجة بقت مربعات — الرقم فوق والاسم تحته. كانت بادجات صغيرة في سطر واحد (نجاح 6 · فشل 0) بنفس حجم أي بادج تانية في الصفحة، فالرقم اللي بيقول إن فيه صف فشل أو «تم جزئيًا» كان بيتقرا كأنه وسم عادي. دلوقتي خمس مربعات: الإجمالي · نجاح · تحذير · فشل · اتخطّى. ⚠️ والصفر بيفضل رمادي — التلوين للقيمة اللي فيها شغل فعلًا، عشان «فشل 0» مايخليش شاشة كلها نجاح تبان فيها فشل.
  • تغييرالإجمالي والتفاصيل بقوا من مصدر واحد (RESULT_STATS) — الإجمالي كان مكتوب في خانة لوحده والتفاصيل في خانة تانية، فكان ممكن تتضاف حالة جديدة وتتحسب في الإجمالي من غير ما يبقى ليها مربع.
  • تغييرزرار «▾ عرض التفاصيل» و«⬇ تصدير النتيجة (Excel)» بقى ليهم تصميم واضح — الأزرق للتفاصيل والأخضر للتصدير بدل الرمادي الباهت. ⚠️ زرار «✕ إلغاء الشحنة» عايش جوّه التفاصيل دي حتى على الصفوف الناجحة، فالزرار اللي بيفتحها لازم يبان.
v2.2.0 14-09-2026
  • تغييراسم واحد للمفهوم: «حالة العنوان». الفلتر كان اسمه «شكل العنوان» والعمود اللي جنبه اسمه «نوع المطابقة» وهما نفس القيمة بالحرف — اسمين لحاجة واحدة معناهم إن الموظف يفتكرهم حاجتين. دلوقتي الاتنين (وتصدير XLSX وعنوان نافذة اختيار المنطقة) اسمهم حالة العنوان.
  • تغييرقيمة 📍 بالمنطقة (مطابقة مؤكدة) بقت 📍 عنوان مظبوط — في الفلتر والعمود والتصدير مع بعض (مصدر واحد).
  • تغيير🔴 جدول النتايج اتشال، والتوست بقى نافذة تأكيد. التوست كان بيختفي لوحده بعد ٨ ثواني — لو الموظف بصّ بعيد لحظة، الرقم الوحيد اللي بيقول إن فيه صف فشل أو «تم جزئيًا» كان بيروح. دلوقتي بتيجي نافذة مستنية ضغطة: في النجاح الكامل بتقول العدد بس، وفي أي حالة تانية بتفتح التفاصيل كاملة لوحدها. وزرار ▾ عرض التفاصيل بيفتحها بالإيد كمان — زرار ✕ إلغاء الشحنة على صفوف R/E الناجحة عايش جوّاها.
  • تغييرحالة الصف ✓ تم بقت ✓ نجاح — في النافذة وفي تصدير النتيجة. «تم» كانت بتتلخبط مع «⚠ تم جزئيًا»، واللي بينهم شحنة بفلوس حقيقية.
  • تغيير⚠️ نافذة الرفض (⛔ الرفع اتوقف) لسه هي الأولى. لو الحارس رفض الدفعة، نافذة النتيجة بتستنى لحد ما تقفلها — عشان سطر «✅ مفيش ولا شحنة اتعملت» مايتغطّاش.
  • تغيير🔴 سياق نافذة اختيار المنطقة بقى جدول واحد. الفاصل بين صف شوبيفاي الأزرق وصف بوسطة الأحمر اتشال، والخانات بقت متساوية العرض في الصفين — فخانة «المدينة» الزرقا بقت فوق خانة «المدينة» الحمرا بالظبط. المقارنة دي هي كل الشغل في النافذة دي.
  • تغيير«العنوان (سطر ١)» بقى «العنوان بالكامل» وطلع فوق الصفين بلون أخضر — وبيعرض نفس نص عمود «العنوان كامل» في الجدول (سطر ١ · سطر ٢ · المدينة). هو المصدر الوحيد اللي المطابقة بتقرا منه، والصفين اللي تحته نتيجة قراءته.
  • تغييرقايمة «مدينة بوسطة» اتنقلت جوّه صف بوسطة نفسه بدل صف لوحدها تحت — نفس الخانة اللي بتعرض المدينة هي اللي بتغيّرها.
  • تغييرسطر «الحالي: …» اتشال من جسم النافذة وطلع لعنوانها: 📍 اختر المنطقة — #12345 — حالة العنوان: 🏙️ بالمحافظة بس. الشرح الطويل بقى على الـ hover على البادج، والقيمة نفسها هي اللي في العمود والفلتر بالحرف.
v2.1.1 14-09-2026
  • تغييرعمود «القطع» اتشال من الجدول. كان بياخد عرض كبير في كل صف استرجاع/استبدال بوصف القطع الراجعة والخارجة. الوصف ده لسه بيتبعت لبوسطة زي ما هو (هو اللي المندوب بيقراه)، ولسه موجود في تصدير XLSX وفي ملف بوسطة (Excel) — العرض في الجدول بس هو اللي اتشال.
  • جديدعمود «الدورة المفتوحة» بقى سطرين — زي أداة التصدير القديمة. فوق بادج الحالة: دورة واحدة (أخضر) · تحذير بالبرتقالي · ⛔ موقوف بالأحمر. وتحته اسم الدورة ومعاه «من كام دورة» لو الأوردر عليه أكتر من دورة. قبل كده الخلية كانت بتقول اسم الدورة بس، فالأوردر اللي عدّى بتلات دورات كان شكله زي اللي ليه دورة واحدة.
  • تغيير🔴 سبب التوقيف بقى بالعربي. الخلية كانت بتعرض الكود الخام (CYCLE_OVERLAP_OPEN) للموظف. دلوقتي بتعرض «أكتر من دورة مفتوحة»، والقيمة اللي وقّفت الصف بتبان تحتها — والكود نفسه فاضل في الـ tooltip عشان التتبع مع الدعم.
  • تغيير🔴 ونفس الترجمة في نافذة الرفض وفي جدول النتايج. النافذة كانت لسه بتعرض الكود الخام في بادج كل أوردر متوقّف، والصف في جدول النتايج كان سببه مكتوب CYCLE_OVERLAP_OPEN: …. دلوقتي التلاتة بيقروا من نفس المصدر — الموظف بيقرا نفس الجملة في الجدول وفي النافذة وفي تصدير النتايج. الكود الخام فاضل في الـ tooltip وفي سجل D1.
  • إصلاح🔴 تلات إشارات لونية كانت مش ظاهرة خالص. «↩ استرداد» في عمود المبلغ، وبادج الدورة الموقوفة، وسطر «✅ مفيش ولا شحنة اتعملت» في نافذة الرفض — كلهم كانوا بيقروا ألوان مش معرّفة في الصفحة (--danger / --success، اتنقلوا مع كود الدمج)، فكانوا بيطلعوا بلون عادي. اللون هو الإشارة نفسها هنا: المبلغ السالب معناه بوسطة بتدفع للعميل عند الباب.
v2.0.1 13-09-2026
  • إصلاح🔴 رفع الاسترجاع/الاستبدال كان بيقدّم حالة الأوردر — اتشال. الرفع كان بيكتب status_2_r_e = In-Return/Ready وcustom.printing_time_s2 على طول بعد الشحنة. الاتنين اتشالوا: الانتقال بيحصل عند الطباعة مش عند الرفع، وتقديم الحالة من هنا بيكسر بوابة الطباعة. دلوقتي الرفع بيكتب رقم التتبع والتاج بس — نفس الشحن العادي بالحرف. (اتمسك على أول شحنة استبدال حية، بطلب أحمد.)
  • تغييرالأوردر بيفضل في القايمة بعد الرفع ومعاه بادج 🔁 مرفوع — لأن حالته ما اتغيّرتش. ده نفس سلوك الشحن العادي بالظبط: اللي بيحمي من الرفع المكرر هو التاج ورقم التتبع، وبوسطة نفسها بترفض الشحنة المكررة.
  • تغييرمسار الإكسيل ما اتغيّرش — نافذة «تحديث الحالة» بعد التصدير لسه شغّالة زي ما هي. هناك الشحنة بتتعمل من داشبورد بوسطة بالإيد، فتحديث الحالة خطوة منفصلة الموظف بيضغطها بنفسه مش أثر جانبي للرفع.
  • جديد🔀 الأداة بقت بترفع كل شحنات بوسطة. أداة Bosta-Return-Exchange-Exporter اتنقلت هنا بالكامل. فوق الفلاتر فيه مبدّل نوع الرفع: 🚚 شحن عادي · ↩️ استرجاع · 🔄 استبدال. كل وضع ليه استعلامه وأعمدته ونوع الشحنة بتاعه عند بوسطة (10 · 25 · 30).
  • تغيير🔴 رقم التتبع اتقسم على ميتافيلدين. custom.bosta_tracking_number وقف، وبدله custom.bosta_tracking_number_s1 للشحنة العادية وcustom.bosta_tracking_number_s2 للاسترجاع/الاستبدال. الميتافيلد القديم لسه بيتقرا عشان الشحنات اللي اترفعت قبل كده تفضل باينة «مرفوعة» — بس مابيتكتبش تاني.
  • تغييرالتاج بقى حسب النوع: Bosta_Uploaded_S1 للشحن وBosta_Uploaded_S2 للاسترجاع/الاستبدال. تاج واحد للاتنين كان معناه إن أوردر أول ما يتعمل له استرجاع يبان «مرفوع» في شاشة الشحن، والعكس.
  • تغيير🔴 في الاسترجاع/الاستبدال الأداة مابتكتبش custom.courier. بتتأكد إنه Bosta بالفعل قبل ما تعمل الشحنة، والأوردر اللي كوريَره حاجة تانية بيتوقف برسالة. شحنة الاسترجاع بتسحب من عند العميل — فالسؤال هنا «هو ده مندوبنا أصلاً؟» مش «خليه مندوبنا».
  • جديد🔴 عمود المبلغ بيقول الاتجاه. في الاسترجاع/الاستبدال المبلغ السالب معناه بوسطة بتدفع للعميل عند الباب، فبيتعرض «↩ استرداد» بالأحمر مش رقم عادي. ولو المبلغ أكبر من حد بوسطة (٢٠٠٠) بيتقص — والقص بيتعلّم بعلامة ✂ والباقي مكتوب، مش بيحصل في صمت.
  • جديدعمود الدورة المفتوحة والقطع. كل رقم في صف الاسترجاع/الاستبدال متحسب من الدورة المفتوحة الواحدة بس. الأوردر اللي دورته مش واضحة (أكتر من دورة مفتوحة · مفيش دورة · استبدال بلا قطع خارجة) بيتوقف ومعاه السبب.
  • جديدزرار «✕ إلغاء الشحنة» في جدول النتايج. لو شحنة استرجاع/استبدال اتعملت غلط، الإلغاء بيشيلها من بوسطة وبيحرّر المرجع الفريد فتقدر ترفع تاني مصحّحة. ⚠️ مابيرجّعش حالة الأوردر ولا بيمسح رقم التتبع — دول بإيدك.
  • جديدزرار «📄 ملف بوسطة (Excel)» في وضعي الاسترجاع والاستبدال — الخطة البديلة زي ما كانت في الأداة القديمة (٢٠ عمود، فحص تكرار بالدورة، وبعدها نافذة تأكيد تحديث الحالة). موجود عشان لو عقد بوسطة اتغيّر أو المفتاح مش متاح، المخزن مايقفش.
  • إصلاح🔴 مدينة مش في كتالوج بوسطة كانت بتوقّع الشاشة كلها. صف واحد محافظته الـ cityId بتاعها مش موجودة عند بوسطة كان بيرمي استثناء بيقفل القايمة بالكامل. دلوقتي بيوقف الصف ده لوحده برسالة بتسمّي السبب («كتالوج بوسطة اتغيّر») بدل ما يتدهور لـ«مفيش مطابقة منطقة» — اللي كان معناه شحنة على مدينة غلط.
  • تغييرسجل العمليات بقى بيعرض تاريخ الأداتين مع بعض — الفلتر فيه أنواع الرفع الجديدة كلها، والصفوف القديمة بتاعة أداة الاسترجاع ما اتيتّمتش.
  • إصلاح🔴 الوقت كان هيغلط بساعة من ٢٩ أكتوبر. إزاحة القاهرة كانت مكتوبة ثابتة (+٣ ساعات)، ومصر بتوقف التوقيت الصيفي في 29-10-2026. من غير الإصلاح ده كان كل وقت في الأداة هيبان متأخر ساعة — من غير أي رسالة — وأي فلتر تاريخ كان هيزحف معاه. دلوقتي الإزاحة بتتحسب لكل لحظة.
  • إصلاح🔴 سهم الترتيب في سجل العمليات كان بيرتّب الصفحة المعروضة بس. السجل بيتحمّل صفحة صفحة من السيرفر، فالسهم كان شكله ترتيب على كل النتايج وهو بيرتّب ١٠٠ صف. دلوقتي الترتيب بيتعمل في السيرفر على كل النتايج، والضغط بيرجّعك لصفحة ١.
  • إصلاحرقم التليفون بقى بيتظبّط قبل ما يتبعت لبوسطة. فيه أرقام في المتجر متسجّلة بمسافات (+20 12 71043044) وكانت بتتبعت زي ما هي.
  • جديدمهلة ٤٥ ثانية على كل نداء. لو الـ Worker علّق، الصفحة كانت تفضل مستنية للأبد بسبينر شغّال. ⚠️ ورسالة المهلة بتقول صراحةً إن العملية ممكن تكون تمّت والرد اتأخر — راجع السجل قبل أي إعادة محاولة.
  • تغييرالأداة اتحاذت على آخر إصدارات المهارات (جولة جرد 13-09-2026).
v1.5.0 08-09-2026
  • جديدزرار «⬆ رفع الكل» في شريط الجدول — بيحدد كل المعروض حسب الفلتر الحالي ويرفعه، والعدّاد جوّه الزرار بيقول هيرفع كام. صفوف 🟠 المدينة مشكوك فيها مستثناة زيها زي «تحديد الكل». وقبل الرفع فيه نافذة تأكيد بتقول العدد وكام صف مستثنى وكام أوردر مرفوع قبل كده — دي شحنات بفلوس حقيقية.
  • تغييرأزرار الرفع بقت بشكل أداة الطباعة: رفع الكل (أخضر) · رفع المحدد (أزرق) · إلغاء التحديد، والعدّاد جوّه الزرار نفسه مش بادج جنبه. كل الأرقام إنجليزية عبر fmtNum.
  • إصلاح🔴 المنطقة المطابقة كانت مدفونة في مكانها الأبجدي وسط ٤٠٠ صف بلون أزرق باهت — الموظف كان بيدوّر بالبحث على الحاجة اللي الأداة لقتها له أصلًا. دلوقتي بتتثبّت أول القايمة تحت ترويسة خضرا، بشريط أخضر على الحافة وبادج «✅ المطابقة الحالية»، وسبب المطابقة مكتوب تحتها. وبتفضل مميّزة في مكانها الأبجدي كمان.
  • تغييرسياق الأوردر في النافذة اتقسّم بالمصدر مش بالحقول: صف أزرق 🛍️ شوبيفاي (المحافظة · المدينة) وصف أحمر 🚚 بوسطة (المدينة · المنطقة · شكل المطابقة)، وبعدهم العنوان (سطر ١) لوحده. القرار في النافذة دي هو «الأزرق ده يساوي الأحمر ده ولا لأ؟».
  • تغييرمربعات رقم الأوردر والعميل وحالة S1 اتشالوا من النافذة — الرقم في عنوان النافذة، والاتنين التانيين مالهمش دخل بقرار المنطقة.
  • تغييرالنافذة بقت Compact: حشو أقل، سطر حالة أقصر، وشرح الزون اتلمّ في سطر واحد وتفاصيله بتتفتح بالطلب — كان بينزّل القايمة تحت طيّة الشاشة.
  • تغييرعمود «سبب المطابقة» اتشال من القايمة وبقى سطر تحت اسم المنطقة — كان بيعرض «—» في كل الصفوف ماعدا واحد وياكل عرض الاسم. والقايمة بقت مرتّبة أبجديًا بعدّاد صريح.
v1.4.0 08-09-2026
  • تغييرسياق الأوردر في نافذة اختيار المنطقة بقى حقول منفصلة. كان سطر واحد كله جنب بعضه (المحافظة + العنوان الكامل مدموجين)، دلوقتي كل خانة شوبيفاي في حقل لوحدها: المحافظة · المدينة · سطر ١ · سطر ٢ — والترجيح بيفرّق بين خانة المدينة وخانة العنوان، فدمجهم كان بيخفي الخانة اللي المطابقة اتبنت عليها.
  • تغييرالنافذة بقت أعرض (960px بدل 560px) والقايمة بقت جدول بأعمدة: المنطقة · الزون · سبب المطابقة، بترويسة ملزوقة فوق.
  • إصلاح🔴 اسم الزون كان بيتقص بـ ellipsis عند 150px — والقص كان بيخفي بالظبط الجزء اللي بيفرّق بين زونين (برج العرب الجديده - احياء…). الزون هو اللي بيحسم المدينة، فاسمه بيتعرض كامل دلوقتي.
  • تغييرالجدول: التاريخ بقى بعد رقم الأوردر على طول · عمود المحافظة بقى «المحافظة (شوبيفاي)» (والفلتر كمان) · عمود جديد «نوع المطابقة» بنفس قيم فلتر «شكل العنوان» بالحرف.
  • تغييرعمودي التليفون وتليفون إضافي اتشالوا من الجدول ومن تصدير XLSX. الأرقام لسه بتتبعت لبوسطة زي ما هي — العرض بس هو اللي اتشال، والبحث لسه بيلاقي بالتليفون.
  • إصلاحملحوظة الزون جوّه النافذة كانت لسه بتقول إنه «مش داخل في المطابقة التلقائية» — كلام اتغيّر في v1.3.0 وفضل مكتوب.
v1.3.0 07-09-2026
  • جديد🎯 المطابقة بقت تشوف الزون — وده اللي بيحلّ العبور. اسم المنطقة عند بوسطة تسمية إدارية مركّبة (المنطقة 01 (العبور)) محدش بيكتبها، لكن الزون اسمه «العبور» وهو اللي العميل كاتبه. دلوقتي أوردرات العبور بتطلع 🟠 Cairo؟ ومعاها اقتراح جاهز بضغطة واحدة بدل «المحافظة بس» صامتة.
  • جديدالضغط على اقتراح الزون بيظبّط المدينة ويقصّر القايمة على مناطق الزون بس — ٦ مناطق بدل ٥٩٠. مفيش بحث يدوي.
  • تغييربادج الجدول بقى بيسمّي المدينة المقترحة (🟠 Cairo؟) بدل «المدينة مشكوك فيها» العامة — تعرف من الجدول من غير ما تفتح.
  • جديدلو العنوان طابق زون في نفس المدينة (المدينة صح والمنطقة ناقصة)، الزون بيتعرض كاختصار برضه — ضغطة تقصّر القايمة.
  • تغيير⚠️ اقتراح الزون بيحسم المدينة بس، مش المنطقة — الزون فيه مناطق كتير واختيار واحدة منها تخمين. الموظف بيختار من القايمة المقصورة.
  • إصلاحالضغط على اقتراح والنافذة أصلًا واقفة على المدينة المقترحة كان مش بيسجّل المدينة على الصف — والرفع كان هيمشي على مدينة الجدول الغلط في صمت. المقارنة بقت بمدينة الصف مش بالمعروضة في النافذة.
v1.2.1 07-09-2026
  • جديدالزون بقى ظاهر في نافذة اختيار المنطقة — شبشة 🗺️ جنب كل منطقة بالاسمين (إنجليزي وعربي)، والبحث بيشمله فكتابة «العبور» بتجيب كل مناطق زون العبور. الزون هو المستوى فوق المنطقة عند بوسطة (مدينة ← زون ← منطقة).
  • تغييرالمنطقة اللي مالهاش زون بتتكتب «بلا زون» صراحةً بدل خانة فاضية — الفراغ كان بيخلط بين «المنطقة دي بلا زون» و«الكتالوج مابيرجّعش الحقل أصلًا»، وسطر جديد في النافذة بيقول كام منطقة من كام ليها زون.
  • جديدالفحص الذاتي (🩺) بقى فيه بند تغطية الزون في الكتالوج — عدد المناطق اللي ليها زون وعدد الزونات وعيّنة منها.
  • تغيير⚠️ الزون لسه مش داخل في المطابقة التلقائية — العرض ده للتشخيص، وهو اللي هيحدد إزاي نعالج حالة العبور.
v1.2.0 07-09-2026
  • إصلاحمطابقة المنطقة كانت بتختار غلط في صمت. القاعدة القديمة «الأطول يكسب» كانت بتفضّل اسم المحافظة على المركز لما العميل يكتب الاتنين — كفر الشيخ مركز قلين كانت بتترفع على Kafr ElSheikh بدل Qalin، وبعلامة خضرا ✅. الترجيح دلوقتي: المنطقة اللي اسمها اسم المحافظة بتتأخّر · خانة المدينة تغلب خانة العنوان · التطابق الكامل يغلب الجزئي · والطول بيفصل بس لو الأقصر جوّه الأطول (مدينة نصر / نصر).
  • تغييرمطابقتين منفصلتين في نفس الخانة (زي المنصورة / اجا) بقت غامضة بدل ما الأطول يكسب — ضغطة زيادة من الموظف أرخص من شحنة في فرع غلط.
  • جديدالاحتمالات بقت مثبّتة فوق القايمة وقابلة للضغط، ومكتوب جنب كل واحدة طابقت إيه ومن أنهي خانة. قبل كده كانت نص رمادي في سطر السياق والموظف لازم يدوّر عليها وسط ٤٠٠ منطقة.
  • جديدحالة 🟠 «المدينة مشكوك فيها» — لما مفيش مطابقة جوّه مدينة الجدول والعنوان يطابق منطقة في مدينة تانية. بيحصل لأن تصنيف بوسطة مش التقسيم الإداري (العبور إداريًا القليوبية وعند بوسطة تحت القاهرة) وكمان لما العميل يغلط في اختيار المحافظة. الصفوف دي ليها فلتر خاص ومستثناة من «تحديد الكل».
  • جديدمنتقي المدينة جوّه نافذة اختيار المنطقة + اقتراحات المدن التانية بضغطة واحدة. قبل كده حالة زي العبور مكانش ليها حل يدوي أصلًا — النافذة كانت بتعرض مناطق مدينة الجدول بس.
  • إصلاحنص العنوان الطويل كان بيطلع بره خليته ويركب على العمود اللي جنبه (قاعدة white-space بوزن أعلى كانت بتلغي اللف). دلوقتي بيلف وبيتقص على سطرين، والنص الكامل على الـ hover وفي النافذة وفي تصدير XLSX.
v1.1.0 06-09-2026
  • جديدعمودين جداد في الجدول: تليفون إضافي والعنوان كامل.
  • تحسيناتشالت أعمدة التحصيل وقيمة البضاعة والقطع والوقت من الجدول — لسه كلها في تصدير XLSX.
  • تحسينعمود الحالة بقى اسمه حالة S1.
  • إصلاحزرار «↺ رجّع للمطابقة التلقائية» كان بيثبّت الصف على المحافظة بدل ما يشيل الاختيار اليدوي، وكان شكله إنه مش بيعمل حاجة. دلوقتي بيشيل الاختيار فعلًا ومعاه رسالة، وفيه زرار منفصل 🏙️ ارفع على المحافظة بس للتثبيت الصريح.
  • جديدسطر «الحالي» جوه نافذة اختيار المنطقة + شرح على كل زرار منطقة في الجدول — بيوضّح الفرق بين المنطقة المطابَقة والمحافظة بس.
  • إصلاحالترتيب بعمود التاريخ وحالة الرفع كان بيقرأ حقول مش موجودة على الصف فما كانش بيرتّب أصلًا.
v1.0.0 06-09-2026
  • جديدإطلاق الأداة — رفع جماعي للأوردرات المؤهَّلة على بوسطة بنداءات فردية.
  • جديداختيار شكل العنوان لكل أوردر لوحده: المنطقة لما المطابقة تنجح، والمحافظة لما تفشل — مع رجوع تلقائي لو بوسطة رفضت المنطقة.
  • جديداختيار المنطقة يدويًا للأوردرات اللي مطابقتها غامضة أو مالهاش مطابقة.
  • جديدتحذير + تأكيد صريح قبل إعادة رفع أوردر مرفوع قبل كده.
  • جديدحارس وقت تشغيل على فلتر الحالة — بيقارن العدّ المدمج بالعدّين المنفصلين عند كل فتح.
  • جديدسجل عمليات كامل بفلاتر وتصدير XLSX.
ℹ️ About — رفع بوسطة (شحن · استرجاع · استبدال)
📋 وصف الأداة

الهدف: كل شحنات بوسطة من مكان واحد. بديل زرار Send to Bosta بتاع بلجن بوسطة على شوبيفاي للشحن العادي، وبديل أداة Bosta-Return-Exchange-Exporter بالكامل للاسترجاع والاستبدال (اتدمجت هنا في v2.0.0).

المستخدمون المستهدفون: فريق العمليات / المخزن.

حدود الأداة: شغلها بيخلص عند الرفع. متابعة حالة الشحنة بعد كده مش من شغلها — ولا الطباعة، ولا تقديم مرحلة الأوردر (custom.manual_status مبتتلمسش، وcustom.zone مبتتكتبش أبدًا).

🔀 تلات أوضاع — المبدّل فوق الفلاتر

الوضعنوع بوسطةالأوردرات اللي بتظهربيكتب إيه بعد النجاح
🚚 شحن عادي10 custom.zone = Other_Regions · created_at >= 2026-08-01 · custom.manual_status = Confirmed أو Confirmed + Edit custom.courier = Bosta · custom.bosta_tracking_number_s1 · تاج Bosta_Uploaded_S1
↩️ استرجاع25 (CRP) custom.status_2_r_e = Confirmed + RETURN و custom.courier = Bosta custom.bosta_tracking_number_s2 · تاج Bosta_Uploaded_S2
🔄 استبدال30 custom.status_2_r_e = Confirmed + EXCHANGE و custom.courier = Bosta نفس الاسترجاع بالظبط

🔴 الرفع مابيحركش حالة الأوردر — في التلات أوضاع. الانتقال بيحصل عند الطباعة مش عند الرفع، وتقديم الحالة من هنا بيكسر بوابة الطباعة. الشحن العادي كان كده من أول يوم، والاسترجاع/الاستبدال اتظبطوا عليه في v2.0.1 (كانوا بيكتبوا status_2_r_e وprinting_time_s2 وقت الرفع). ⚠️ الاستثناء الوحيد هو مسار الإكسيل: هناك الشحنة بتتعمل من داشبورد بوسطة بالإيد، فنافذة «تحديث الحالة» خطوة منفصلة الموظف بيضغطها بنفسه.

🔴 في الاسترجاع والاستبدال الأداة مابتكتبش custom.courier. بتتأكد إنه Bosta بالفعل قبل الشحنة، والأوردر اللي كوريَره حاجة تانية بيتوقف برسالة. شحنة الاسترجاع بتسحب من عند العميل — فالسؤال «هو ده مندوبنا أصلاً؟» مش «خليه مندوبنا».

🔴 المبلغ في الاسترجاع/الاستبدال ليه اتجاه. السالب معناه بوسطة بتدفع للعميل عند الباب، وبيتعرض «↩ استرداد» بالأحمر. حد بوسطة للاسترداد ٢٠٠٠ جنيه — واللي فوقه بيتقص، والقص بيتعلّم بعلامة ✂ والباقي مكتوب (بيتسوّى مكتبيًا).

🔴 كل رقم في صف الاسترجاع/الاستبدال متحسب من الدورة المفتوحة الواحدة. الأوردر ممكن يكون عدّى بأكتر من دورة، والحساب من كلهم كان بيشحن قطع رجعت المخزن خلاص. الأوردر اللي دورته مش واضحة (أكتر من دورة مفتوحة · مفيش دورة · استبدال بلا قطع خارجة) بيتوقف ومعاه السبب — مش بيترفع بتخمين.

📄 تصدير ملف بوسطة (Excel) لسه موجود في وضعي الاسترجاع والاستبدال كـخطة بديلة — لو عقد بوسطة اتغيّر أو المفتاح مش متاح أو الـ API رفض أوردر، المخزن مايقفش. المسار ده مالوش رقم تتبع (الشحنة بتتعمل من داشبورد بوسطة بالإيد)، وهو الوحيد اللي بيحدّث الحالة — عبر نافذة تأكيد منفصلة بـchecklist.

كيف تعمل — Workflow

  1. الموظف يدخل بالـ PIN، والأداة بتستعلم من شوبيفاي لحظيًا (مفيش عدد محفوظ — الرقم بيتحرك خلال اليوم).
  2. لكل أوردر: المحافظة بتتحوّل لمدينة بوسطة بجدول حتمي مقفول، وبعدين الأداة بتحاول تطابق المنطقة من نص العنوان الحر (عربي وإنجليزي) على كتالوج بوسطة.
  3. عمود المنطقة بيقول بالظبط هيتبعت إيه: 📍 اسم منطقة = المطابقة نجحت والشحنة هتترفع بالمنطقة · 🗺️ اسم زون = محافظة اتلغت إداريًا وبتتبعت كزون · ❓ N احتمالات = المطابقة غامضة والاحتمالات مثبّتة فوق قايمة النافذة · 🟠 المدينة مشكوك فيها = مفيش مطابقة جوه مدينة الجدول والعنوان طابق منطقة في مدينة تانية · 🏙️ المحافظة بس = مفيش مطابقة، الشحنة بتترفع على المحافظة وبتدخل مسار العناوين غير الواضحة عند بوسطة (مش فشل). الشرح كامل على الـ hover، وعمود حالة العنوان جنبه بيكرّر نفس التصنيف بنص فلتر حالة العنوان بالحرف — نفس الاسم ونفس القيمة في الفلتر والعمود وعنوان نافذة اختيار المنطقة.
  4. 🟠 «المدينة مشكوك فيها» حالة مختلفة عن «المحافظة بس»، ومش أقل خطورة منها. «المحافظة بس» = المدينة صح والمنطقة ناقصة. «المدينة مشكوك فيها» = المدينة نفسها على الأرجح غلط — والمدينة بتحدد الفرع والتسعيرة، مش بس دقة العنوان. بيحصل لسببين: تصنيف بوسطة مش التقسيم الإداري (العبور إداريًا القليوبية وعند بوسطة تحت القاهرة)، أو العميل غلط في اختيار المحافظة. الصفوف دي مستثناة من «تحديد الكل» وليها فلتر خاص — تتراجع وتتحدد بالإيد.
  5. 🎯 الزون داخل في المطابقة دلوقتي. لما نص العنوان مايطابقش أي منطقة، الأداة بتدوّر على اسم الزون — وده اللي بيلقط العبور: اسم المنطقة عند بوسطة المنطقة 01 (العبور) محدش بيكتبها، لكن الزون اسمه «العبور». الاقتراح بيطلع جاهز، والضغطة بتظبّط المدينة وتقصّر القايمة على مناطق الزون بس. ⚠️ الزون بيحسم المدينة مش المنطقة — فيه مناطق كتير واختيار واحدة تخمين.
  6. 🗺️ الزون عمود قايم بذاته في قايمة النافذة (القايمة جدول: المنطقة · الزون · سبب المطابقة). بوسطة هرمها مدينة ← زون ← منطقة، والزون هو المستوى الأوسط. البحث بيشمله (كتابة «العبور» بتجيب كل مناطق زون العبور)، والمنطقة اللي مالهاش زون بتتكتب «بلا زون» صراحةً. 🔴 اسم الزون بيتعرض كامل من غير قص — الجزء المقصوص هو بالظبط اللي بيفرّق بين زونين، والزون هو اللي بيحسم المدينة.
  7. سياق نافذة المنطقة جدول واحد بأعمدة متطابقة: فوق العنوان بالكامل (أخضر) — هو المصدر الوحيد اللي المطابقة بتقرا منه — وتحته صف 🛍️ شوبيفاي (المحافظة · المدينة) وصف 🚚 بوسطة (المدينة · المنطقة) من غير أي فاصل بينهم، فالخانة الزرقا بتقع فوق الخانة الحمرا بالظبط. خانات شوبيفاي بتفضل منفصلة: الترجيح بيفرّق بين خانة city وخانة address1، فدمجهم في العرض بيخفي الخانة اللي المطابقة اتبنت عليها. وحالة العنوان بقت في عنوان النافذة نفسه (📍 اختر المنطقة — #12345 — حالة العنوان: …) والشرح الكامل على الـ hover عليها.
  8. منتقي المدينة جوّه صف بوسطة نفسه — نفس الخانة اللي بتعرض المدينة هي اللي بتغيّرها، مش صف تاني تحت. لو غيّرت المدينة، الرفع بيتبعت عليها هي — وعمود «مدينة بوسطة» في الجدول بيوريها بعلامة ✎ والمدينة الأصلية على الـ hover. اقتراحات المدن التانية بتتحط فوق القايمة، والضغط عليها بيغيّر المدينة والمنطقة مع بعض.
  9. أي صف ينفع يتفتح بزرار اختر المنطقة — والنافذة فيها ↺ رجّع للمطابقة التلقائية (بتشيل التدخّل اليدوي) و🏙️ ارفع على المحافظة بس (بتثبّت الصف على المحافظة حتى لو المطابقة نجحت وقت الرفع). الاختيار كله اختياري، والرفع شغّال من غيره.
  10. الموظف يحدد الأوردرات ويضغط رفع المحدد، أو يضغط ⬆ رفع الكل اللي بيحدد كل المعروض حسب الفلتر الحالي (والعدد مكتوب جوّه الزرار) ويسأل تأكيد قبل ما يرفع. صفوف 🟠 المدينة مشكوك فيها مستثناة من الاتنين — تتحدد بالإيد بعد المراجعة. والأوردر المرفوع قبل كده بيطلب تأكيد صريح.
  11. الرفع بيحصل على دفعات، وكل صف بيجيب نتيجته الخاصة ومعاه رقم تتبعه.
  12. بعد كل نجاح: اللي في عمود «بيكتب إيه» في جدول الأوضاع فوق — بيختلف بالوضع.
  13. بعد ما الرفع يخلص بتيجي نافذة نتيجة الرفع — مستنية ضغطة، مش توست بيختفي لوحده. في النجاح الكامل بتقول العدد بس، وفي أي حالة تانية بتفتح التفاصيل لوحدها (صف بصف: رقم التتبع · العقد · المدينة والمنطقة المبعوتة · ما تم فعليًا · السبب). وزرار ▾ عرض التفاصيل بيفتحها بالإيد حتى لما يكون كله نجاح.
  14. 🔴 لو الشحنة اتعملت وحاجة بعدها فشلت، الصف بيبقى أصفر مش أحمر. الأصفر معناه الشحنة موجودة عند بوسطة ومعاها رقم تتبع — إعادة الرفع بتشتري شحنة تانية بفلوس. الحل: صلّح باليد، أو اضغط ✕ إلغاء الشحنة في تفاصيل نافذة النتيجة وبعدين ارفع تاني (الإلغاء بيحرّر المرجع الفريد عند بوسطة).

نتيجة كل صف — أربع حالات

الحالةمعناها
✓ نجاحالشحنة اترفعت واتأكدت، والكتابة على شوبيفاي تمت
⚠ تم جزئيًاالشحنة موجودة فعلًا على بوسطة، بس حاجة بعدها ما تمّتش (الكتابة على شوبيفاي مثلًا). متعيدش الرفع — هتعمل شحنة مكررة
✗ فشلالشحنة ما اترفعتش، والسبب معروض
⏭️ اتخطّىالأوردر مرفوع قبل كده ومفيش تأكيد صريح

الـ Endpoints الرئيسية

actionالوصف
get_ordersالأوردرات المؤهَّلة + خطة العنوان لكل أوردر + حارس الفلتر
get_districtsمن غير cityId: قايمة كل مدن بوسطة (لمنتقي المدينة) · مع cityId: مناطق المدينة (متاحة للتسليم فقط)
uploadرفع دفعة (٢٥ أوردر كحد أقصى) + الكتابة على شوبيفاي + السجل
diagفحص ذاتي بدون أي كتابة
get_configنسخة الـ Worker — لحارس النسخة
get_logs · get_logs_count · get_logs_exportسجل العمليات
🔧 تشريح الكود

FEATURE MAP

  • §CONFIGWORKER_URL · LS_SECRET · apiGet/apiPost/apiRequest · orderLink()
  • §SHELL-JS — الإعدادات · النسخة · التوست · الوقت · حارس نسخة الـ Worker · الفحص الذاتي · Freeze on Scroll
  • §AUTH-JS — Universal D1 Auth (check_employee / register_pin / verify_employee / log_logout)
  • §TOOL-JS::filters — سجل الـ multi-select الموحّد للجدولين (owner بيوجّه التغيير للجدول الصح)
  • §TOOL-JS::dateFilter — مصنع فلتر التاريخ (نسخة للجدول الرئيسي وواحدة للسجل، بنفس السلوك)
  • §TOOL-JS::table — الفلترة والترتيب والعرض والتحديد
  • §TOOL-JS::district — نافذة اختيار المنطقة والمدينة يدويًا · الاحتمالات المثبّتة · اقتراحات المدن والزونات · قصر القايمة على زون (effCity · chooseCity · chooseCrossCity · chooseZone · zoneSuggestRow · dpZoneFilter)
  • §TOOL-JS::upload — التأكيد على المكرر · الرفع على دفعات · لوحة النتائج
  • §LOG-JSlogParams · pagination · تصدير XLSX + بانر التقصّ

KEY VARIABLES

  • currentEmployee{ username, displayName } في الذاكرة فقط، مش في التخزين
  • LS_SECRET = 'bosta_orders_upload_worker_secret' — المفتاح الوحيد المخزَّن
  • TOOL_VERSION — مصدر واحد لرقم نسخة الواجهة
  • MIN_WORKER_VERSION — أقل نسخة Worker الواجهة دي بتشتغل معاها (مالهاش علاقة بـ TOOL_VERSION)
  • UPLOAD_CHUNK = 10 — حجم الدفعة من الواجهة (الـ Worker سقفه ٢٥)
  • allRows · selected · districtOverride — بيانات الجدول والتحديد والاختيار اليدوي

NOTES / QUIRKS

  • «اتخطّى» حالة رابعة مقصودة جنب التلاتة القياسية — العقد المرجعي (SPEC §٦.٢) بيفرضها، لأن «نجح/فشل» لوحدهم بيخفوا الأوردر اللي محتاج تأكيد.
  • «تم جزئيًا» مش فشل. معناها الشحنة موجودة عند بوسطة فعلًا — إعادة الرفع بتعمل شحنة مكررة بفلوس حقيقية.
  • الأوردر المرفوع قبل كده بيفضل ظاهر في القايمة ومعاه تنبيه — مش بيتشال، لأن فيه حالات حقيقية بتحتاج إعادة رفع.
  • بانر أحمر «فلتر الحالة مش متسق» معناه عدّ Confirmed + عدّ Confirmed + Edit مش بيساوي العدّ المدمج — بلّغ فورًا، والأداة بتفضل شغّالة على الاستعلام المدمج.
  • المحافظة اللي مش في جدول ecommoda-constants §3.5 بتوقف رفع الصف بتاعها برسالة صريحة — مفيش تخمين.
  • «النتائج» في الجدول الرئيسي بتتحسب على البيانات المحمّلة، وفي تاب السجل بتيجي من السيرفر (الفلترة كلها server-side).
  • الترتيب في تاب السجل server-side زي الفلترة والترقيم — الضغط على عمود بيرتّب كل النتايج وبيرجّع لصفحة ١. (كان بيرتّب الصفحة المعروضة بس — ١٠٠ صف — والسهم شكله ترتيب عام؛ اتصلح في v1.6.0.)
  • ترجيح المطابقة مش «الأطول يكسب». الترتيب: المنطقة اللي اسمها اسم المحافظة بتتأخّر (العميل بيكتب محافظته كعادة) ← خانة city تغلب address1 ← التطابق الكامل يغلب الجزئي ← الطول بيفصل بس عند الاحتواء (مدينة نصر / نصر). مطابقتين منفصلتين = غموض معلَن، مش اختيار بالطول.
  • اقتراح الزون بيحسم المدينة مش المنطقة. زون واحد فيه مناطق كتير (زون العبور فيه ٦)، فاختيار منطقة منه تلقائيًا تخمين. الضغطة بتظبّط المدينة وتقصّر القايمة، والموظف بيختار.
  • اختيار زون بيمسح أي منطقة كانت متختارة قبله. اختيار زون = إعادة تحديد نطاق، ومنطقة من مدينة قديمة مع اسم مدينة جديد = شحنة في المكان الغلط.
  • 🗺️ الزون كان بيتعرض ومش بيتطابق (v1.2.x) — بقى بيتطابق في v1.3.0. المطابقة بتسأل «هل نص العنوان فيه اسم المنطقة؟» — فبتنجح لما اسم المنطقة اسم مكان بسيط (مدينة السادات · قلين) وبتفشل لما يكون تسمية مركّبة محدش بيكتبها (العبور - المنطقة 05). عشان كده أوردرات العبور بتقع على «المحافظة بس». الزون معروض دلوقتي عشان نقرر إزاي نعالجها.
  • اقتراح المدينة التانية اقتراح — مش قرار. أسماء المناطق بتتكرر بين المحافظات، فالتطبيق التلقائي هيكون نفس الفخ اللي جدول المحافظات المقفول اتكتب عشان يمنعه. الاقتراح بيتعرض، والموظف بيضغط.
  • لو الموظف اختار منطقة والـ Worker مالقهاش في المدينة المختارة، الصف بيوقف بخطأ — مش بيرجع للمطابقة التلقائية بصمت. الرفع على حاجة تانية غير اللي الموظف وافق عليه = شحنة بفلوس على عنوان مش المقصود.
  • الرفع بيتقسّم دفعات من UPLOAD_CHUNK صف. لو دفعة كاملة ما وصلتش للـ Worker، صفوفها بتتعرض بحالة «فشل» مع رسالة صريحة إن حالتها مش معروفة ولازم تتراجع على بوسطة قبل إعادة المحاولة.
📍 اختر المنطقة
🔍
نتيجة الرفع
⬆ رفع كل المعروض
⚠️ أوردرات مرفوعة على بوسطة قبل كده
الأوردرات دي عليها رقم تتبع أو تاج رفع بالفعل. لو أكدت، هتتبعت لبوسطة عادي — وبوسطة غالبًا هترفضها كتكرار، لكن لو قبلتها هتبقى شحنة تانية بفلوس حقيقية. أكّد بس لو إنت متأكد إن الشحنة القديمة اتلغت عند بوسطة.
⛔ الرفع اتوقف
⚠️ دورات اتصدّرت Excel قبل كده
الأوردرات دي نفس دورتها اتصدّرت في ملف بوسطة قبل كده. لو الملف القديم اترفع فعلًا على بوسطة، التصدير تاني معناه شحنة مكررة بفلوس حقيقية.
✅ تحديث حالة الأوردرات
نوع الرفع:
الحالة (S1)
تحديد الكل
المحافظة (شوبيفاي)
تحديد الكل
حالة الرفع
تحديد الكل
حالة العنوان
تحديد الكل
🔍
فترة سريعة
اليوم
أمس
آخر 3 أيام
آخر 7 أيام
آخر 30 يوم
آخر 90 يوم
📅 شهر محدد
اختَر الشهر والسنة — الفلتر بيتطبّق تلقائيًا. لسنة أقدم اختَر «سنة تانية...» واكتبها يدويًا.
الشهر الحالي
الشهر السابق
الربع الحالي
العام الحالي
العام السابق
من تاريخ
إلى تاريخ
النتائج:
نوع العملية
تحديد الكل
🔍
فترة سريعة
اليوم
أمس
آخر 3 أيام
آخر 7 أيام
آخر 30 يوم
آخر 90 يوم
📅 شهر محدد
اختَر الشهر والسنة — الفلتر بيتطبّق تلقائيًا. لسنة أقدم اختَر «سنة تانية...» واكتبها يدويًا.
الشهر الحالي
الشهر السابق
الربع الحالي
العام الحالي
العام السابق
من تاريخ
إلى تاريخ
الموظف
تحديد الكل
النتائج:
التاريخ الوقت الموظف نوع العملية رقم الأوردر النتيجة رقم التتبع العقد المنطقة ملاحظات