برمجةحماية الدفعالتفاصيل
- التعديلات ضمن الباقة مجانية.
- إذا لم تردّ خلال 3 أيام من التسليم، يُقبل العمل تلقائيًا.
يُحجز المبلغ عند الدفع ولا يُحوَّل إلا بعد قبولك العمل.

مثال على النتيجة
دمج ملفات المبيعات الشهرية لـ 9 متاجر في تقرير Excel واحد
طريقة التشغيل
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO المجلد: sales/2026-10، عُثر على 9 ملفات
2026-11-02 09:14:03 INFO shop-01.csv: 1,284 صفًا
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 صفًا
2026-11-02 09:14:04 WARN shop-07.csv: تُخطّيت 3 صفوف بلا سعر (الأسطر 88، 412، 913)
2026-11-02 09:14:05 INFO تم: 10,412 صفًا -> report-2026-10.xlsx (الورقتان «المبيعات» و«الإجماليات»)
إعدادات لا كود
أسماء أعمدة كل متجر موجودة في settings.ini، فالمتجر الجديد أو العمود الذي تغيّر اسمه يعني سطرًا واحدًا هناك:
[columns]
date = التاريخ, تاريخ البيع, اليوم
product = المنتج, الصنف, الاسم
quantity = الكمية, العدد, قطع
price = السعر, سعر الوحدة
جزء من الكود
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""يقرأ ملف متجر واحد ويمنح أعمدته أسماء أعمدة التقرير."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: لا يوجد عمود لـ «{name}» (جرى البحث عن: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
الملفات: أرشيف ZIP يضم merge_sales.py (310 أسطر)، وsettings.ini، وrequirements.txt، وملف README يشرح تثبيت Python وتشغيل السكربت ومعنى كل رسالة في السجل. يشغّله العميل على كمبيوتره الخاص.
العميل: سلسلة صغيرة من 9 متاجر للأدوات المكتبية؛ يرسل كل متجر مبيعاته الشهرية في ملف CSV أو Excel، بأسماء أعمدة تختلف قليلًا من متجر إلى آخر. المهمة: سكربت واحد يقرأ كل ملف في مجلد، ويوحّد الأعمدة في شكل واحد، ويكتب تقرير Excel واحدًا يضم كل المبيعات وورقة بالإجماليات حسب المتجر.
العميل وجميع التفاصيل افتراضية.
عن هذه الخدمة
بطاقات طاولات لمطعم، وملصقات للمخزون أو المعدات، وتذاكر، وبطاقات منتجات، ورموز لكل صفحة في كتالوج: حين تحتاج إلى مئات من رموز QR، فإن إنشاءها واحدًا تلو الآخر على موقع ويب يستغرق وقتًا طويلًا جدًا. يقرأ سكربت Python هذا قائمتك (CSV أو Excel) ويُنشئ رمز QR لكل صف: رابطًا أو نصًا أو بطاقة اتصال أو بيانات Wi-Fi، محفوظًا بصيغة PNG للشاشات أو SVG للطباعة، ومسمّى باسم عمود مثل رقم الطاولة أو SKU. بدءًا من الباقة القياسية يضيف تعليقًا ويتحقق من أن كل رمز يُقرأ بشكل صحيح؛ وفي الباقة المميزة يرتبها على ورقة ملصقات بصيغة PDF. هذه رموز ثابتة: الرابط موجود داخل الرمز، لذا لا يمكن تغييره بعد الطباعة ولا تُحسب مرات المسح. امسح بضعة رموز تجريبيًا قبل طباعة الكثير.
ما المشمول
- ما الذي تحصل عليهأرشيف ZIP يضم سكربت Python وملف README بتعليمات خطوة بخطوة، ومن الباقة القياسية ملف إعدادات بالحجم والألوان والتعليقات؛ ويُعرض الكود أيضًا في صفحة الطلب.
- رمز لكل صفروابط أو نصوص أو بطاقات اتصال أو بيانات Wi-Fi
- للشاشة أو للطباعةPNG بالحجم الذي تحدده، أو SVG قابل للتكبير
- بأسماء على طريقتكملفات مسمّاة باسم عمود في قائمتك
- التحقق من القراءةبدءًا من الباقة القياسية، يُفك ترميز كل رمز للتأكد من مطابقته
- كود مقروءمع تعليقات، ليسهل تغيير المظهر لاحقًا
كيف يعمل
- 1القائمةترسل عينة من القائمة وطريقة استخدام الرموز
- 2الكودنكتب السكربت ودليل تشغيله
- 3جرّبهتُنشئ رموزًا لبضعة صفوف وتمسحها بهاتفك
- 4التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ
ما نحتاجه منك
10-20 صفًا من قائمتك بصيغة CSV أو Excel، وأي عمود يدخل في الرمز وأي عمود يعطي اسم الملف أو التعليق، وأين ستُستخدم الرموز: شاشة أو ملصق أو بطاقة أو لافتة، مع الحجم المطبوع إن كنت تعرفه. الألوان إن لم تكن أسود على أبيض، وشعارك بصيغة PNG أو SVG للباقة المميزة، وتخطيط ورقة الملصقات (حجم الورق، وعدد الرموز في كل صف وعمود). نظامك: Windows أو macOS أو Linux.
سنسألك:
- ما الغرض من الرموز؟
- ما الذي يدخل في كل رمز؟
- للشاشة أم للطباعة، وبأي حجم؟
قارن بين الباقات
| الباقات | الأساسيةرموز من قائمة16 US$ | القياسيةالرموز مع الإعدادات33 US$ | المميزةأداة QR67 US$ |
|---|---|---|---|
| مدة التنفيذ | 1 يوم | 2 يوم | 3 أيام |
| التعديلات | 1 | 2 | 3 |
| الكود | حتى 150 سطرًا | حتى 400 سطر | حتى 1,000 سطر |
| ملفات الكود | 1 | حتى 3 | حتى 8 |
| ملف الإعدادات | لا | نعم | نعم |
| رسائل خطأ واضحة وسجل | لا | نعم | نعم |
| خيارات التشغيل ودليل لتشغيله وفق جدول زمني | لا | لا | نعم |
| دليل التثبيت والتشغيل (README) | نعم | نعم | نعم |
| اللغة | Python | Python | Python |
| اطلب الأساسية | اطلب القياسية | اطلب المميزة |
حماية الدفع
تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.
- سعر ثابتلا يتغير سعر الباقة بعد الدفع.
- المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
- فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
- تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
- القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
- إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
الأسئلة والأجوبة
هل يمكنني تغيير وجهة الرمز بعد الطباعة؟
ليس مع هذه الرموز: العنوان موجود داخل الرمز نفسه. إن كنت قد تحتاج إلى تغييره، فاجعل الرموز تشير إلى صفحات في موقعك يمكنك تحويلها لاحقًا.
هل يمكنه حساب عدد من مسحوا الرمز؟
لا، الحساب يحتاج إلى خادم بين الرمز والصفحة، وهذا السكربت لا يملكه. يمكنك إضافة وسوم UTM إلى روابطك ورؤية الزيارات في أداة تحليلات موقعك.
هل وضع شعار في المنتصف آمن؟
يعمل الشعار الصغير حين يستخدم الرمز مستوى عاليًا من تصحيح الأخطاء، وهو ما تضبطه الباقة المميزة. يخبرك التحقق من القراءة والمسح التجريبي بهاتفك بذلك يقينًا.
كم رمزًا يمكنه إنشاؤه؟
بعدد الصفوف؛ الآلاف تستغرق دقيقة أو اثنتين على كمبيوتر عادي.
لم تجد إجابتك؟


