Proces synchronizacji produktów jest najbardziej skomplikowanym etapem synchronizacji. Parametrami synchronizacji po stronie Magazynu DGCS System są magazyn i cennik.
Proces synchronizacji bazuje na słowniku definicji towarów i uwzględnia widoczność danego towaru w danym magazynie/cenniku. Definicje dostępności towarów konfiguruje się po stronie aplikacji Magazyn.
Lista produktów istniejących w sklepie OsCommerce jest ładowana do pamięci aby przyspieszyć proces synchronizacji. Z drugiej strony ładowana jest lista towarów dostępnych w danym magazynie DGCS System. Na podstawie listy towarów pobranej z OsCommerce podejmowana jest decyzja czy dany towar istnieje. Warunkiem istnienia jest znalezienie w liście produktów OsCommerce produktu o kodzie towaru identycznym jak indeks towaru w kartotece towarów DGCS System.
UWAGA: W podstawowej konfiguracji sklep OsCommerce przewiduje, że oznaczenie pole modelu towaru, wykorzystywane przez dodatek jako indeks towaru może mieć maksymalnie 12 znaków!!! W tej sytuacji należy albo zmodyfikować strukturę bazy danych sklepu (tabela: products pole: products_model) przed wysłaniem towarów lub zadbać o to by indeksy w aplikacji Magazyn DGCS System nie były dłuższe niż te 12 znaków. W przeciwnym wypadku indeks zostanie ucięty i towar nie będzie mógł być znaleziony w bazie sklepu co spowoduje jego każdorazowe wysyłanie jako nowy towar.
Transfer danych nowego produktu
W przypadku nowego towaru do kartoteki produktów OsCommerce przenoszona jest większość danych z definicji produktu dostępnej w magazynie DGCS System.
- Date Available – data synchronizacji (dzisiejsza)
- Products Name – Nazwa towaru.
- Products Model jest indeksem towaru w kartotece towarów DGCS System (uwaga na ograniczenie do 12 znaków w domyślnej konfiguracji OsCommerce)
- Products Status jest ustawiany na „Wyłączony”.
- Products Description wypełniany jest opisem z kartoteki.
- Products Price (Net) ustalana jest na podstawie podanego cennika lub wg definicji. Przenoszona jest cena netto lub brutto. Jakie ceny są używane uzależnione jest od podanych parametrów synchronizacji
- Dostępność towaru – Products Quantity – pobierana jest ze stanu w podanym magazynie.
- Products Image towaru w definicji towaru DGCS System zostaną przeniesione wszystkie w ich oryginalnych rozmiarach.
- Products Weight – waga towaru z kartoteki towarów DGCS System
- Kategoria nowych towarów jest ustawiana na domyślną 0 co powoduje, że wszystkie towary są widoczne na pierwszej stronie asortymentu [Catalog] => [Categories/Products]
Po wprowadzeniu nowych produktów aby włączyć je w sklepie OsCommerce należy po zakończeniu synchronizacji przejść do konfiguracji towarów w OsCommerce i dokończyć edycję towaru wprowadzając brakujące informacje. Operację tą wykonujemy tylko jednorazowo. Po stronie sklepu OsCommerce znajduje się więcej informacji o towarze niż po stronie magazynu dlatego też towar wprowadzany jest w stanie wyłączonym i wymaga ręcznej ingerencji.
Aktualizacja danych istniejącego produktu
Produkt istniejący w sklepie OsCommerce zidentyfikowany wg pola „Products Model” i jest aktualizowany w minimalnym stopniu. Zakłada się bowiem, że zmiana najczęściej dotyczy tylko i wyłącznie stanu magazynowego (po sprzedaży lokalnej, po przyjęciu towaru, itp.) lub cena. Zakłada się też, że z uwagi na konieczność ręcznej modyfikacji nowych towarów dane w sklepie OsCommerce są bardziej rozbudowane. Dlatego też podczas synchronizacji ograniczamy się do minimum i aktualizowana jest właśnie cena i stan magazynowy.