عیبیابی پیشرفته محصولات و موجودی
ریشهیابی عدم نمایش، خطاهای واحد، رزرو، قیمت، CSV و انتشار
عیبیابی کامل محصولات؛ از دیدهنشدن کالا تا قیمت و موجودی اشتباه
اگر بعد از ذخیره محصول نتیجه درست نیست، بهجای تغییر تصادفی فیلدها ابتدا تشخیص دهید اشکال در کدام لایه رخ داده: اطلاعات محصول، تنوع، انبار، قیمت، انتشار، رسانه، فیلتر ویترین یا سفارش. تغییر یک لایه نامربوط ممکن است علت واقعی را پنهان کند و دادههای قبلاً درست را هم خراب کند.
مسئله ۱؛ محصول در فهرست پنل پیدا نمیشود
جستوجوی نام، SKU، برند یا دسته را پاک کنید و همه فیلترهای وضعیت/دسته/برند را بررسی کنید. صفحهبندی فهرست فعال است و ممکن است کالا در صفحه دیگری باشد. سپس املای فارسی، نیمفاصله و کد لاتین را بررسی کنید. اگر هنوز پیدا نمیشود، حساب/کسبوکار درست و سطح دسترسی را کنترل کنید؛ محصول Tenant دیگر به فهرست شما تعلق ندارد.
مسئله ۲؛ محصول در پنل هست اما در فروشگاه نیست
۱. آیا وضعیت پیشنویس یا آرشیو نیست؟ ۲. آیا عملیات انتشار واقعاً موفق بوده و خطای publication_error ندارد؟ ۳. آیا زمان انتشار آینده تعیین نشده؟ ۴. آیا تنوع فعال و داده لازم وجود دارد؟ ۵. آیا صفحه قالب فعلی فیلتر دسته، برند، کالکشن یا تعداد محصول دارد؟ ۶. آیا نشانی slug درست است؟ ۷. آیا محصول عمداً برای کانال خاص یا شرایط دیگر محدود شده؟ هر مرحله را جدا تست کنید.
مسئله ۳؛ قیمت در صفحه و سبد متفاوت است
قیمت تنوع انتخابشده را با قیمت پیشفرض محصول اشتباه نگیرید. پاسخ effective_price ممکن است منبع قیمت متفاوتی را نشان دهد. همچنین مقدار فروش وزنی، مالیات، تخفیف سبد و زمان تغییر قیمت روی مبلغ نهایی اثر میگذارند. برای تشخیص، یک مقدار ساده از همان تنوع را در محیط تست به سبد اضافه کنید و قدمبهقدم محاسبه را بررسی کنید؛ قیمت صفحه را صرفاً برای همخوانی ظاهری دستکاری نکنید.
مسئله ۴؛ کالا در انبار هست ولی ناموجود است
موجودی فیزیکی را از رزروشده کم کنید؛ انبار را از نظر فعال بودن و مجاز بودن کانال فروشگاه بررسی کنید؛ وضعیت تنوع و سیاست manage_inventory را ببینید؛ مقدار سفارش را با حداقل، حداکثر و گام مقایسه کنید. شاید کالایی ۲۰ عدد موجود است اما ۱۹ عدد رزرو شده و مشتری درخواست سه عدد دارد.
مسئله ۵؛ موجودی بیش از انتظار کم شده
ابتدا StockMovement و مرجعهای مرتبط با سفارش، مرجوعی و اصلاح را بررسی کنید. اگر یک خروج خودکار پس از قطعیشدن فروش انجام شده و شما نیز دستی کاهش دادهاید، دو رویداد متفاوت ایجاد شدهاند. تاریخچه را با حذف رکوردها پاک نکنید؛ اصلاح مغایرت باید مستند و قابل ردیابی باشد. برای خطای فقط ارزشی، موجودی تعدادی را تغییر ندهید.
مسئله ۶؛ نمیتوان واحد یا دقت وزنی را تغییر داد
اگر تنوع در سفارش یا گردش کالا استفاده شده، quantity_semantics_locked ممکن است تغییر را محدود کند. این حفاظت از تفسیر مقدارهای قدیمی است. وقتی لازم است از عدد به کیلوگرم بروید، برنامه انتقال و ایجاد تنوع جدید را بررسی کنید. تلاش برای دورزدن قفل با SQL میتواند تمام سابقه مقداری را بیمعنی کند.
مسئله ۷؛ ماتریس تنوع خطا میدهد
تعریف ویژگیهای دسته را بررسی کنید. محور تنوع باید در سطح variant، تکانتخابی و اجباری باشد. گزینهها باید یکتا و معتبر باشند. اگر ترکیبهای یکسان از قبل وجود دارند، اضافهکردن SKU متفاوت الزاماً آن برخورد را حل نمیکند. تغییر دسته روی محصول دارای تنوع نیز نیازمند بازبینی همه مشخصات است.
مسئله ۸؛ تصویر یا رنگ اشتباه نمایش داده میشود
تصویر اصلی، variant_id رسانه و تنوع پیشفرض را بررسی کنید. رسانهای که به محصول عمومی متصل است ممکن است در همه گزینهها تکرار شود؛ رسانه اختصاصی رنگ باید به انتخاب درست وصل باشد. سپس قالب فعال فروشگاه را آزمایش کنید، زیرا استفاده از داده رسانه در هر قالب یکسان نیست.
مسئله ۹؛ CSV وارد شده اما کالاها کامل نیستند
گزارش dry_run و تعداد ایجاد/بهروزرسانی را مرور کنید. موجودی از این مسیر تغییر نمیکند. اگر داده ویژگی رد شده، دسته یا نوع محصول و قرارداد ستونها را کنترل کنید. اگر SKUها اشتباه تطبیق داده شده، بدون تهیه نسخه مقایسهای دوباره فایل را بارگذاری نکنید؛ ورود تکراری ممکن است داده اشتباه را گسترش دهد.
مسئله ۱۰؛ بازگردانی نسخه مشکل سفارش قدیمی را حل نکرد
نسخههای محصول برای بازیابی بخشهایی از محتوا و وضعیت کاتالوگاند. سفارش، تراکنش بانکی، گردش انبار و سند حسابداری مسیرهای مستقل دارند. برای اصلاح سفارش یا موجودی، رویداد مربوط را در همان زیرسیستم پیدا کنید. بازگردانی توضیح محصول نباید ابزار برگشت پول یا کالا تلقی شود.
چه اطلاعاتی برای گزارش مشکل جمع کنیم؟
شناسه محصول و تنوع، SKU، Tenant مورد استفاده، مسیر صفحه، زمان وقوع، عملیات انجامشده، پیام خطای فرم یا API، وضعیت انتشار، قیمت یا موجودی قبل و بعد، و در صورت نیاز مرجع سفارش یا گردش انبار را آماده کنید. اطلاعات محرمانه مشتری، رمز عبور و کلید API را در تیکت عمومی قرار ندهید. برای اختلاف مالی، فقط اسکرینشات عدد کافی نیست؛ منبع و سند مربوط اهمیت دارد.
مسیر پیشنهادی تشخیص
از سادهترین لایه شروع کنید: محصول موجود است؟ تنوع درست است؟ در انبار موجود است؟ برای کانال مجاز است؟ منتشر شده؟ قیمت مؤثر چه میگوید؟ صفحه قالب چه فیلترهایی اعمال کرده؟ سفارش چه وضعیتی دارد؟ با این ترتیب، هر تغییر دارای علت مشخص است. اگر مسئله را نتوانستید بازتولید کنید، قبل از اصلاح، داده فعلی و زمان رخداد را ثبت کنید.