PS PrestaShop Średnio zaawansowany

Receptury / BOM: Zestawy i Montaż, kompletny przewodnik

Instalacja, konfiguracja i praca z recepturami (BOM): zestawy wirtualne z obliczanym stanem, zmniejszanie komponentów przy sprzedaży, zlecenia montażu, cena obliczana i zakładka Skład w sklepie dla PrestaShop 8 i 9.

Zaktualizowano Wersja modułu 1.0.0

Prezentacja i wymagania

Moduł Receptury / BOM dodaje do PrestaShop zarządzanie Bill of Materials: każdy produkt może zadeklarować listę swoich komponentów wraz z ilościami, a sklep automatycznie wyciąga z tego konsekwencje dla stanu magazynowego i ceny. Dostępne są dwie logiki, zależnie od Twojej działalności: zestaw wirtualny (stan obliczany, zmniejszanie komponentów przy sprzedaży) oraz montaż fizyczny (zlecenia produkcyjne zasilające stan produktu gotowego).

  • Zgodny z PrestaShop 8.0 do 9.x, motyw Classic i motywy pochodne.
  • PHP 7.4 do 8.3.
  • Multisklep i wielojęzyczność.
  • Komponenty z wariantami, receptury wielopoziomowe, ochrona przed referencjami cyklicznymi.
  • Architektura zgodna ze standardami PrestaShop (ModuleAdminController, ObjectModel), bez zależności Composer.

W trybie zestawu wirtualnego stan produktu nie jest już wpisywany ręcznie: moduł oblicza go jako minimum, na które pozwalają komponenty, i aktualizuje przy każdym ruchu magazynowym.

Instalacja

Zainstaluj moduł jak każdy inny moduł PrestaShop:

  1. Pobierz archiwum datafireflybom.zip ze swojego konta klienta.
  2. W panelu administracyjnym przejdź do Moduły > Menedżer modułów.
  3. Kliknij Wgraj moduł i wskaż archiwum.
  4. Po instalacji kliknij Konfiguruj, jeśli chcesz zmienić ustawienia globalne.

Podczas instalacji moduł tworzy swoje tabele (dfbom, dfbom_component, dfbom_assembly_log), rejestruje hooki i dodaje zakładkę Receptury / BOM w menu Katalog. Samymi recepturami zarządzasz następnie z poziomu każdej karty produktu.

Ustawienia ogólne modułu

Strona konfiguracji (Moduły > DataFirefly BOM > Konfiguruj) zbiera ustawienia globalne oraz listę istniejących receptur:

  • Synchronizacja w czasie rzeczywistym: automatycznie przelicza stan zestawów wirtualnych i ceny obliczane, gdy tylko komponent zmieni stan lub cenę. Włączona domyślnie.
  • Dopuść stany ujemne: pozwala montować lub sprzedawać nawet wtedy, gdy stan komponentów jest niewystarczający (praca just-in-time). Wyłączona domyślnie.
  • Resynchronizuj wszystkie stany i ceny: przycisk, który za jednym razem przelicza stan i cenę wszystkich aktywnych receptur. Przydatny po imporcie lub migracji danych.

Tworzenie receptury

Otwórz kartę produktu, a następnie zakładkę Moduły: pojawi się panel Receptura / BOM. Włącz recepturę przełącznikiem u góry i wykonaj ponumerowane kroki.

1. Wybór trybu magazynowego

  • Zestaw wirtualny: stan produktu jest obliczany automatycznie z komponentów, a każda sprzedaż je zmniejsza. Idealny dla zestawów prezentowych i pakietów kompletowanych na zamówienie.
  • Montaż fizyczny: produkt gotowy ma własny stan, zasilany zleceniami montażu. Idealny dla produkcji seryjnej.

2. Wybór trybu cenowego

  • Cena stała: cena pozostaje tą zdefiniowaną na karcie produktu. Bez przeliczania.
  • Cena obliczana: cena staje się sumą cen komponentów pomniejszoną o rabat procentowy, który podajesz. Przeliczana automatycznie, gdy komponent zmieni cenę.

3. Dodawanie komponentów

Użyj pola wyszukiwania, aby znaleźć produkt po nazwie, indeksie lub identyfikatorze. Wyniki pokazują miniaturę, indeks, stan i cenę; kliknij, aby dodać komponent. Każdy wiersz pozwala ustawić wymaganą ilość przyciskami plus i minus. Jako komponent możesz dodać konkretny wariant, pojawia się on w wyszukiwaniu osobno.

Cztery wskaźniki u góry panelu (komponenty, ilość możliwa do zmontowania, koszt komponentów, cena obliczana) aktualizują się na żywo podczas zmiany ilości i rabatu, jeszcze przed zapisaniem.

4. Zapis

Kliknij Zapisz recepturę. Moduł zapisuje recepturę, natychmiast przelicza stan zestawu (tryb wirtualny) i w razie potrzeby stosuje cenę obliczaną.

Tryb zestawu wirtualnego

W trybie zestawu wirtualnego stan produktu to minimum tego, na co pozwalają jego komponenty: dla zestawu wymagającego 2 młotków i 1 walizki, przy 120 młotkach i 40 walizkach na stanie, zestaw pokazuje 40 dostępnych sztuk.

  • Przy zatwierdzeniu zamówienia stan każdego komponentu jest zmniejszany zgodnie z ilościami receptury, a następnie stan zestawu, oraz wszystkich zestawów współdzielących te komponenty, jest przeliczany.
  • W razie anulowania lub zwrotu pozycji komponenty są automatycznie przywracane.
  • Jeśli synchronizacja w czasie rzeczywistym jest włączona, każda zmiana stanu komponentu (sprzedaż bezpośrednia, dostawa, inny zestaw) aktualizuje stan powiązanych zestawów.

Tryb zestawu wirtualnego zakłada, że sam zestaw jest produktem bez wariantów: obliczony stan jest zapisywany na produkcie (wariant 0). Komponenty natomiast mogą być wariantami.

Tryb montażu fizycznego

W trybie montażu produkt gotowy zachowuje własny stan. Zasilasz go zleceniami montażu z panelu na karcie produktu:

  1. Podaj ilość (przycisk Max pokazuje, ile sztuk pozwala wytworzyć Twój stan komponentów).
  2. Kliknij Zmontuj: komponenty zostają zużyte, a stan produktu gotowego rośnie.
  3. Kliknij Zdemontuj, aby wykonać operację odwrotną: produkt gotowy jest zmniejszany, a komponenty przywracane.

Każda operacja jest rejestrowana w historii wraz z pracownikiem, datą, operacją i ilością. Pełna historia jest dostępna w Katalog > Receptury / BOM.

Jeśli stany ujemne nie są dopuszczone, montaż jest blokowany, gdy stan komponentów jest niewystarczający, a demontaż, gdy niewystarczający jest stan produktu gotowego. Komunikat wskazuje maksymalną możliwą ilość.

Cena obliczana

W trybie ceny obliczanej cena netto zestawu równa się sumie cen netto jego komponentów (pomnożonych przez ich ilości), pomniejszonej o zdefiniowany rabat procentowy. Ta cena jest zapisywana na karcie produktu i przeliczana:

  • przy każdym zapisie receptury;
  • gdy zmienia się cena komponentu, o ile synchronizacja w czasie rzeczywistym jest włączona;
  • przy globalnej resynchronizacji ze strony konfiguracji.

W trybie ceny stałej moduł nigdy nie dotyka ceny na Twojej karcie produktu. Cena obliczana pozostaje widoczna w panelu orientacyjnie, ale nie jest stosowana.

Receptury wielopoziomowe i warianty

Komponentem może być konkretny wariant produktu (rozmiar, kolor…) albo sam zestaw posiadający własną recepturę. Podzespoły zagnieżdżają się wtedy na wielu poziomach, a obliczenia stanów propagują się kaskadowo. Moduł wykrywa i blokuje referencje cykliczne, także pośrednie, w momencie zapisu: zestaw nie może zawierać samego siebie.

Skład w sklepie

Pole wyboru Pokaż zakładkę Skład na karcie produktu w sklepie pozwala, produkt po produkcie, zaprezentować klientom zawartość zestawu. Zakładka Skład wymienia wtedy każdy komponent z jego obrazem, ilością i linkiem do karty. Wyłączona sprawia, że receptura pozostaje całkowicie niewidoczna po stronie sklepu.

FAQ i rozwiązywanie problemów

Stan zestawu się nie aktualizuje

Sprawdź, czy receptura jest aktywna, w trybie zestawu wirtualnego, i czy synchronizacja w czasie rzeczywistym jest włączona w ustawieniach. Przycisk Resynchronizuj wszystkie stany i ceny na stronie konfiguracji wymusza pełne przeliczenie.

Cena obliczana nie jest stosowana

Cena jest zapisywana na karcie produktu wyłącznie w trybie ceny obliczanej. W trybie ceny stałej wyświetlana wartość ma charakter orientacyjny. Sprawdź też, czy komponenty mają uzupełnioną cenę.

Nie mogę zmontować

Bez dopuszczenia stanów ujemnych montaż jest ograniczony stanem komponentów. Przycisk Max pokazuje maksymalną możliwą ilość. Włącz opcję Dopuść stany ujemne w ustawieniach, jeśli Twój przepływ tego wymaga.

Pojawia się komunikat o referencji cyklicznej

Próbujesz dodać jako komponent produkt, który już zawiera (bezpośrednio lub przez podzespół) edytowany właśnie produkt. Usuń ten komponent albo przebuduj strukturę swoich receptur.

Czy mogę sprzedawać komponenty osobno?

Tak, to wręcz typowy scenariusz. Każdy komponent pozostaje normalnym produktem, sprzedawalnym indywidualnie. Moduł dba o spójność: każda sprzedaż, samego komponentu lub zestawu, aktualizuje stany i ilości możliwe do zmontowania wszystkich powiązanych zestawów.

Co dzieje się przy deinstalacji?

Deinstalacja usuwa zakładkę i hooki modułu, kasuje jego tabele (dfbom, dfbom_component, dfbom_assembly_log) oraz zmienne konfiguracyjne. Stany i ceny już zapisane na kartach produktów pozostają bez zmian.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia