Elbuz сам наповнює склад кожного магазину — за категоріями, за постачальниками або даними з вашого сайту, — а вивантаження бере тільки товари цього складу.
Коли це знадобиться:
- Сайти діляться за розділами каталогу — одна операція розкладає тисячі товарів по магазинах за їхніми категоріями.
- Вітрина продає товари певних постачальників — оновлення базового каталогу саме заводить у магазин їхні товари.
- Магазини ведуться на сайті — склад приходить разом із даними сайту.
- Окремий товар має бути лише на одному сайті — прапорець у картці товару, з власною ціною й залишком.
З чого почати: розставте магазини в картках категорій і запустіть «Розкласти товари по магазинах».
Що вміє: звідки береться склад магазину
- Склад із сайту — якщо сайт підключений тунелем і присилає свої магазини, склад задає він.
- Картка товару й картка категорії — віднести до магазину окремий товар чи категорію, з ціною й залишком по магазину.
- «Розкласти товари по магазинах» — зібрати склад усього каталогу за категоріями; масштаб видно до запуску.
- Автоматичні шляхи — товари постачальника, джерела прайсу, нові категорії й нові товари потрапляють до магазину самі.
- Що прибирає товар зі складу — вісім дій, жодна з яких не попереджає про масштаб.
Поки активний магазин один, жоден із цих механізмів не працює — що таке магазин і навіщо їх кілька, описано в статті Як вести кілька магазинів з одного каталогу.
Де це і хто має доступ
- Меню
- Довідники → Базовий каталог товарів → Магазини → бургер
- Картки
- товару, категорії й контрагента — блок «Магазини»
- Картка джерела прайсу
- секція «Нові товари» → «Прив'язка товарів до магазину»
- Налаштування
- Кабінет → Налаштування системи → Каталог → «Правила обробки даних»
- Право доступу
- вікно «Магазини» і блок «Операція "Розкласти товари по магазинах"»
- Підготувати
- другий активний магазин у довіднику
Коли склад магазину задає ваш сайт
Спершу умова, яка скасовує все інше. Якщо ваш сайт підключений тунелем Elbuz і присилає свої магазини, джерелом істини стає сайт. Таке завантаження заводить і оновлює самі магазини в довіднику: назву, посилання, активність, порядок, опис, зображення й координати воно бере з сайту.
А в товарів, для яких сайт прислав склад, спершу знімаються всі магазини, потім записуються надіслані; якщо активних магазинів більше одного, до них дописується ще й основний.
Ручні галочки в Elbuz переживають оновлення базового каталогу, але не переживають завантаження даних із сайту: у товарів, по яких сайт щось прислав, склад перезаписується цілком.
Товари, по яких сайт складу не прислав, свої магазини зберігають, а якщо сайт не присилає магазинів узагалі — довідник завантаження не чіпає, а зв'язки пише тільки новим товарам: при двох і більше активних магазинах вони лягають в основний.
Висновок один: коли магазини приїжджають із сайту, розподіляйте асортимент на боці сайту — в Elbuz ця робота не втримається.
- Початок або кінець
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Усім іншим склад магазинів задають в Elbuz — руками або автоматично.
Як віднести до магазину окремий товар чи категорію
Картка товару, блок «Магазини»
У блоці перелічені всі магазини довідника, у кожного — прапорець «Відображати товар» і колонки «Ціна», «Ціна РРЦ», «Ціна собівартість», «Наявність», «Кількість».
- Поставили прапорець — товар входить до магазину, а введені ціна, наявність і кількість зберігаються саме для цього магазину.
- Зняли прапорець — рядок видаляється цілком, разом із ціною й залишком по цьому магазину. Повернути їх потім можна лише вручну.
- Правите рядок основного магазину — ті самі ціна, наявність і кількість записуються ще й у сам товар, тобто змінюють те, що видно в колонках базового каталогу.
Працює це й у зворотний бік: коли ви зберігаєте картку товару, ціна й кількість із неї переписуються в рядок основного магазину. Решти магазинів це не стосується — їхні ціни живуть окремо.
Дві особливості цього блоку, на яких спотикаються:
- проти магазину, до якого товар не входить, у колонці «Наявність» стоїть «Немає на складі» — це заглушка для відсутнього рядка, а не стан товару;
- собівартість за магазином задається саме тут — колонка «Ціна собівартість» у цьому блоці зберігається, а поле «Собівартість» у самій картці товару лише для читання, бо приходить із прайсу чи специфікації.
1
Відображати товар2
Наявність- Відображати товар — прапорець, яким товар відносять до конкретного магазину.
- Наявність — статус і кількість тут свої для кожного магазину.
Картка категорії, блок «Магазини»
Той самий принцип для категорій: прапорці активних магазинів. Блок показується, тільки коли активних магазинів два і більше — при одному вибирати нема з чого, і програма його не малює зовсім. Тому, поки вітрина у вас одна, шукати цей блок у картці категорії марно: він з'явиться сам, щойно ви заведете другий активний магазин.
Усередині — простий список: усі активні магазини, першим основний, навпроти кожного прапорець і назва. Знятий магазин прибирає категорію з його дерева й з вивантажень, налаштованих на цей магазин; сама категорія та її товари лишаються на місці. Подробиці — у статті про дерево категорій.
Важливо не переплутати: це прив'язка категорії. Товари всередині неї до магазину від цього не потрапляють — їх розкладає операція «Розкласти товари по магазинах».
Як розкласти товари по магазинах за категоріями
Єдина масова операція вікна й основний спосіб зібрати склад магазинів, коли товарів тисячі. Логіка одна: товар іде за своїми категоріями.
Пункт бургера спершу робить предрозрахунок — питає в сервера, скільки зв'язків додасться і скільки знімється, — і лише потім показує підтвердження з дослівним описом того, що станеться:
Розрахунок: буде додано звʼязків — ‹скільки›, знято — ‹скільки›.
Товар буде віднесено до тих магазинів, до яких входять його категорії. Склад магазинів у товарів перезбирається: зайві звʼязки знімаються, відсутні додаються. Звʼязки, де задано ціну, собівартість або залишок за магазином, зберігаються — вони містять дані.
Тобто масштаб операції видно до її запуску, а не після. Кнопка підтвердження називається «Розкласти». Далі програма робить три речі:
- додає зв'язок для кожної пари «товар — магазин», де хоча б одна категорія товару входить до цього магазину, а зв'язку ще немає;
- знімає зайві зв'язки — але тільки порожні: ті, де ціна, РРЦ, собівартість, кількість і статус наявності нульові, а до зв'язку не прив'язано ні постачальника, ні товар із його прайсу;
- не чіпає товари без категорій — у них немає джерела складу, і брати його нема звідки.
Вимкнені магазини операція не бачить зовсім: вона працює тільки з активними. Якщо другий магазин у вас поки вимкнений, кнопка його ані наповнить, ані почистить.
Результат приходить числами: «Готово. Додано звʼязків: ‹скільки›, знято: ‹скільки›.» Якщо серед зайвих трапилися непорожні зв'язки, додається другий рядок — «Збережено звʼязків із цінами або залишками: ‹скільки› — їхній склад правте в картці товару.» Тобто дані операція не втрачає ніколи: зв'язок із заповненою ціною чи залишком вона лишає на місці й повідомляє про це.
- Початок або кінець
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Порядок має значення: спершу розкладіть по магазинах категорії, і лише потім натискайте кнопку. Якщо жодна категорія до жодного магазину не віднесена, відповідь буде «Готово. Додано звʼязків: 0, знято: 0.» — операція відпрацювала, просто збирати склад їй не було з чого.
Операція синхронна й без обмеження за розміром: на великих каталогах вона йде хвилинами, поки висить синій напис «Зачекайте...». Порядок цифр такий: на акаунті з кількома десятками магазинів і повним каталогом одне натискання створило б понад 4,3 мільйона зв'язків — саме тому предрозрахунок і показують заздалегідь. Запускайте її тоді, коли можете зачекати.
Після виконання програма лишає в журналі роботи рядок із тим самим числом доданих і знятих зв'язків — операція незворотна, і слід у журналі єдиний спосіб згадати, коли її запускали.
Як склад наповнюється сам
П'ять випадків, коли зв'язок з'являється без вашої участі (і всі вони мовчать, поки активний магазин один). Два перші — масові: саме ними склад магазину набивають ті, у кого магазинів багато.
- Постачальник, віднесений до магазину. У картці контрагента є секція «Магазини», а всередині неї — перелік магазинів із колонками «Активність» і «Назва магазину». Кожне оновлення базового каталогу заводить у такий магазин усі товари, по яких у його постачальників є рядок прайсу з ціною або залишком, і одразу записує їм ціну, РРЦ, собівартість, статус наявності й кількість за цим магазином. Так вітрини діляться за постачальником, а не за каталогом. Наповнюються так тільки увімкнені магазини: магазин зі знятою «Активністю» в довіднику оновлення пропускає, навіть якщо постачальники до нього віднесені.
- Магазин, заданий джерелу прайсу. Поле «Прив'язка товарів до магазину» в картці джерела, секція «Нові товари», за замовчуванням
---. Попри назву секції, магазин проставляється всім рядкам цього прайсу, і при кожному оновленні каталогу до магазину потрапляють усі зіставлені товари цього постачальника, у яких є ціна, — не тільки нові. - Нова категорія. Створена всередині гілки конкретного магазину — потрапляє тільки до нього; створена деінде — до всіх активних магазинів, основний включно. Руками нічого доводити не треба. Виняток один: коли активний магазин у системі один, зв'язків програма не пише взагалі — вони там ні до чого.
- Новий виробник і новий контрагент. Дописуються в усі активні магазини.
- Новий товар з імпорту файлів або каналу за API. Імпорт кладе товар у магазин свого джерела; канали (Rozetka, Shopify, eBay, Amazon та інші) — у магазин з
ID= 1, і тільки Хорошоп — в основний.
1
Колонка «Активність»2
Колонка «Назва магазину»- Колонка «Активність» — позначка, що постачальник входить до складу магазину.
- Колонка «Назва магазину» — перелік вітрин, до яких віднесено цього постачальника.
Понад це є ще одне налаштування, яке змінює правило для всіх завантажень одразу: «Склад магазинів у нових товарів — за категоріями» у Кабінет → Налаштування системи → Каталог → «Правила обробки даних». За замовчуванням вимкнене. Опис у самій програмі: «Новий товар із прайс-листа чи імпорту потрапляє до тих магазинів, до яких віднесено його категорії.»
Увімкнене, воно після кожного завантаження проганяє ту саму розкладку за категоріями, але тільки по товарах цього завантаження й тільки на додавання: зайвого не знімає, магазин джерела зберігає. Потрібне воно тоді, коли ваші магазини діляться структурою каталогу, а не постачальником.
1
Режим кількох магазинів2
Склад магазинів у нових товарів — за категоріями- Режим кількох магазинів — вимкнено за замовчуванням; вмикають, коли ведуть кілька вітрин.
- Склад магазинів у нових товарів — за категоріями — вимкнено за замовчуванням; визначає, як новий товар потрапляє до магазинів.
Через що товар випадає з магазину
Зворотний бік того самого списку. Вісім причин, і жодна з них не показує попередження про масштаб:
| Що сталося | Що саме прибирається |
|---|---|
| Знято прапорець «Відображати товар» у картці товару | Один товар з одного магазину, разом із його ціною й залишком по магазину |
| Кнопка «Розкласти товари по магазинах» | Тільки порожні зайві зв'язки; ті, де є ціна або залишок, лишаються |
| Видалено магазин | Усі зв'язки цього магазину: товари, категорії, контрагенти, виробники, статті |
| Видалено категорію або гілку дерева | Товари, для яких ця категорія основна, видаляються цілком — разом з усіма своїми магазинами, цінами й залишками. Товари, що лежать у категорії додатковим зв'язком, лишаються. Сама категорія при цьому зникає з усіх магазинів |
| Видалено товар — поштучно або пакетно | Усі магазини цього товару |
| Завантаження даних із сайту тунелем | Усі магазини товару, далі повертаються надіслані сайтом плюс основний |
| Імпорт CommerceML, YML або Prom | Магазини товарів, які імпорт позначив видаленими |
| «Перевірка цілісності БД» | Зв'язки товарів і магазинів, яких уже не існує |
А ось чого в цьому списку немає, хоча багато хто цього очікує: зв'язків із магазинами не видаляє.
Якщо товар втратив зв'язок із поставкою, рядок лишається на місці — програма обнуляє ціну й залишок і ставить статус «немає в наявності». Товар при цьому зі складу магазину не зникає, і повертати його руками не доведеться.
Але для магазинів, які збираються за постачальником, це і є найчастіша причина зникнення товару з вітрини: постачальник перестав давати рядок із ціною — товар лишився в магазині зі статусом «немає в наявності», і у вивантаження з галочкою «Лише в наявності в цьому магазині» він більше не піде.
Сценарії
Вітрини діляться за розділами каталогу
Задача: у кожного сайту свій набір категорій, і товари мають іти за своїми категоріями.
Що ввімкнути: у картці кожної категорії, блок «Магазини», поставити прапорці потрібних магазинів; у вікні «Магазини» натиснути «Розкласти товари по магазинах»; щоб нові товари з прайсів та імпорту розкладалися так само, увімкнути «Склад магазинів у нових товарів — за категоріями».
Що вийде: товар потрапить до кожного активного магазину, до якого входить хоч одна його категорія, а порожні зв'язки з іншими магазинами знімуться.
Чого не станеться: товари без категорій лишаться як були; зв'язки з ціною, собівартістю чи залишком за магазином не знімуться — програма назве їхню кількість; вимкнений магазин ні наповниться, ні почиститься. Налаштування для нових товарів лише додає зв'язки й нічого не знімає.
Вітрина збирається з товарів певних постачальників
Задача: на сайт мають іти тільки ті товари, які дають конкретні постачальники, зі своїми цінами й залишками.
Що ввімкнути: у картці контрагента-постачальника, секція «Магазини», відмітити в колонці «Активність» потрібний магазин.
Що вийде: кожне оновлення базового каталогу заводить у магазин товари, по яких у цих постачальників є рядок прайсу з ціною або кількістю, і записує їм ціну, РРЦ, собівартість, наявність і кількість саме за цим магазином. Магазин при цьому має бути увімкнений у довіднику — вимкнений оновлення не наповнює.
Чого не станеться: товар, якого постачальник більше не дає, з магазину не зникне — він лишиться з нульовою ціною й статусом «немає в наявності». Прибрати його з вивантаження допоможе галочка «Лише в наявності в цьому магазині» в шаблоні вивантаження.
Магазини й асортимент ведуться на сайті
Задача: сайт підключений тунелем Elbuz, і розподіл товарів по вітринах уже зроблено на боці сайту.
Що ввімкнути: в Elbuz нічого — магазини й склад приходять із завантаженням даних із сайту.
Що вийде: довідник магазинів оновлюється даними сайту, а у товарів, для яких сайт надіслав склад, записуються надіслані магазини; якщо активних магазинів більше одного, кожному товару завантаження ще й дописується основний магазин.
Чого не станеться: ручні прапорці в картках цих товарів не збережуться — наступне завантаження знову перезапише склад. Товари, для яких сайт складу не надіслав, свої магазини зберігають.
Що робити, коли склад зібрався не так
Розкладку перервано
Розкладка робить два кроки підряд: спершу знімає зайві порожні зв'язки, потім додає відсутні. Перед першим кроком програма пише в журнал роботи рядок «Розкладка товарів по магазинах за категоріями запущена.», а рядок із числами — тільки після того, як обидва кроки завершилися.
Якщо відповідь від сервера не прийшла, замість чисел з'явиться червоне повідомлення з текстом помилки, а в журналі буде рядок про запуск без підсумкового. Що встигло записатися, те й лишиться — наприклад, зайве вже зняте, а відсутнє ще не додане.
Запускати операцію повторно безпечно: вона щоразу заново рахує, чого бракує і що зайве, а двох однакових зв'язків «товар — магазин» програма не допускає, тож повтор нічого не задвоїть, лише доробить решту. Скільки лишилося, покаже предрозрахунок перед повтором.
Розклали не так
Списку знятих зв'язків програма не зберігає: у журналі роботи тільки два числа, а колонки з магазинами в сітці базового каталогу немає.
Знімає операція за правилом, яке відтворюється: з активного магазину зникли порожні зв'язки тих товарів, у яких є категорії і жодна з них до цього магазину не входить. Тому склад повертають не пошуком по товарах, а тим самим механізмом, яким він збирався:
- склад збирався за категоріями — поставте потрібні прапорці в блоці «Магазини» карток категорій і натисніть «Розкласти товари по магазинах» ще раз. Операція додасть зв'язок кожному товару, чия категорія входить до магазину. Знімалися лише зв'язки з нульовими ціною, РРЦ, собівартістю, кількістю й статусом наявності й без прив'язаного постачальника чи товару з його прайсу, тож повернений зв'язок такий самий порожній, як знятий, — даних за магазином ви не втратили;
- склад збирався за постачальником — зв'язки, які хоч раз заповнило оновлення базового каталогу, мають ціну, кількість або статус наявності (після втрати поставки — «немає в наявності»), і під зняття не потрапляють. Зняті ж зв'язки наступне оновлення базового каталогу заведе знову тим товарам, по яких у постачальників магазину є дані, так само, як наповнює такий магазин завжди;
- склад приїжджає з сайту тунелем — наступне завантаження з сайту знову запише склад тим товарам, для яких сайт його надішле.
Перевірити результат можна в режимі кількох магазинів: вузол магазину в дереві показує його склад.
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| «Готово. Додано звʼязків: 0, знято: 0.» | Жодна категорія не віднесена до жодного активного магазину | Розставити прапорці в картках категорій, блок «Магазини», і натиснути кнопку ще раз (розкласти товари) |
| «Збережено звʼязків із цінами або залишками: ‹скільки› — їхній склад правте в картці товару.» | Зайві зв'язки із заповненою ціною чи залишком операція не знімає: у них лежать дані | Зняти вручну: картка товару → блок «Магазини» → прапорець «Відображати товар» (картка товару) |
| Під вузлом магазину в дереві сітка порожня, хоча товари в каталозі є | До цього магазину не віднесено жодного товару — режим кількох магазинів показує саме склад | Прапорець у картці товару або кнопка «Розкласти товари по магазинах» (розкласти товари) |
| У картці товару проти магазину написано «Немає на складі», хоча товар у наявності | Рядка для цього магазину немає зовсім, і в колонці показується заглушка | Поставити прапорець «Відображати товар» і задати наявність по магазину (картка товару) |
| Треба задати собівартість, а поле «Собівартість» у картці товару не редагується | У самій картці це поле для читання: значення приходить із прайс-листа або зі складу набору | Задавати собівартість у блоці «Магазини» картки товару — колонка «Ціна собівартість» там зберігається (картка товару) |
| «Зачекайте...» висить довго | Розкладка товарів по магазинах іде одним синхронним запитом і на великому каталозі триває хвилини | Дочекатися відповіді з числами; вікно не закривати |
| Розставлені вручну магазини зникли після завантаження з сайту | Завантаження тунелем знімає всі магазини товару й повертає склад за даними сайту | Розподіляти асортимент на боці сайту — в Elbuz ці галочки не втримаються (склад із сайту) |
Часті запитання
Магазини в нас діляться за постачальниками. Кнопка «Розкласти товари по магазинах» допоможе?
Ні, вона збирає склад тільки за категоріями. Відмітьте магазин у картці контрагента, секція «Магазини», — кожне оновлення базового каталогу саме заведе в нього товари постачальника з ціною або залишком (автоматичні шляхи).
Що станеться з ручними галочками, якщо сайт підключений тунелем?
Вони не втримаються: кожне завантаження даних із сайту знімає з товару всі магазини й повертає надіслані сайтом плюс основний. Розподіляйте асортимент на боці сайту (склад із сайту).
Чому в картці категорії немає блоку «Магазини»?
Блок показується, тільки коли активних магазинів два і більше. Заведіть або увімкніть другий магазин — блок з'явиться сам (картка категорії).
Чи можна вказати магазин колонкою в прайсі постачальника?
Можна, але програма шукає магазин за точним збігом назви з колонки з назвою в довіднику, тож будь-яка розбіжність лишить товар без магазину. Надійніше задати магазин у картці джерела, поле «Прив'язка товарів до магазину» (автоматичні шляхи).
Чи зменшується залишок магазину, коли проводжу замовлення?
Ні. Проведення документа змінює залишок і резерв на складі документа, а «Наявність» і «Кількість» у блоці «Магазини» картки товару не чіпає. Їх записують оновлення базового каталогу, завантаження з сайту тунелем і ручна правка в картці.
Суміжні теми
- Якщо потрібна загальна картина — Як вести кілька магазинів з одного каталогу.
- Якщо склад зібрано, а товару на сайті немає, — перевірки за магазином.
- Якщо склад наповнює постачальник і треба зрозуміти, коли приходять ціни й залишки, — Оновлення базового каталогу.
- Якщо треба розставити категорії по магазинах — Дерево категорій.

