Skip to main content
Dostawca Wapro łączy Omnilinkera z Wapro Mag, systemem magazynowo-sprzedażowym firmy Asseco. Jest to obecnie jedyny dostępny dostawca ERP. Działa w agencie ERP Sync w Twojej sieci i komunikuje się bezpośrednio z bazą danych Wapro na SQL Server, ponieważ Wapro Mag nie ma webowego API.

Obsługiwane wersje

Dostawca podaje jako obsługiwane wersje Wapro Mag 10+ i WF-Mag. Agent pokazuje wersję Wapro wykrytą w bazie danych na karcie Agent połączenia, w polu Wersja ERP.

Co dostawca odczytuje

Dostawca tylko odczytuje Twoje dane biznesowe. Nigdy nie zmienia artykułów, cen, stanów magazynowych ani magazynów. Domyślne mapowania pole po polu znajdziesz na stronie Mapowania pól.

Czego dostawca nie robi

Dostawca nie zapisuje danych w Wapro. Możliwości, które Omnilinker pokazuje dla Wapro, obejmują Zapis produktów i Usuwanie produktów, ale nie są one zaimplementowane. Utworzenie, zmiana lub usunięcie produktu w Omnilinkerze nigdy nie zmienia Wapro. Zapisywanie cen i stanów magazynowych z powrotem do Wapro również nie jest dostępne. Zamówienia nie są synchronizowane w żadnym kierunku.

Jak identyfikowane są produkty

W Wapro każdy magazyn ma własny wiersz tego samego artykułu. Omnilinker traktuje wszystkie wiersze o tym samym indeksie katalogowym (INDEKS_KATALOGOWY) jako jeden produkt i używa tego indeksu jako SKU produktu. Spacje na początku i na końcu są ignorowane.
  • Artykułów z pustym indeksem katalogowym nie da się zidentyfikować, więc są pomijane.
  • Dane produktu (nazwa, kod kreskowy, wymiary itd.) pochodzą z wiersza jednego magazynu. Aby wybrać magazyn, ustaw ID magazynu źródłowego w połączeniu. Jeśli go nie ustawisz, agent użyje wiersza o najniższym ID artykułu. Zobacz Konfiguracja synchronizacji.
  • Stany magazynowe są wysyłane osobno dla każdego magazynu.
  • Ceny są pobierane z tego samego wiersza co dane produktu.

Kiedy produkt uznaje się za usunięty

Omnilinker usuwa odpowiadający produkt w katalogu, gdy artykuł zostanie usunięty w Wapro, oznaczony jako usunięty lub przestanie być oznaczony jako aktywny dla systemów zewnętrznych.

Bazy z wieloma firmami

Baza danych Wapro może zawierać kilka firm. Wpisz identyfikator firmy (ID_FIRMY) w ustawieniach agenta, w polu Company ID (optional, for multi-company databases). Agent będzie wtedy odczytywał tylko magazyny, poziomy cen i artykuły tej firmy. W bazie z jedną firmą zostaw to pole puste. Zobacz Kreator konfiguracji.

Wykrywanie zmian

Dostawca obsługuje oba tryby śledzenia zmian. Jak przełączać tryb, opisuje sekcja Tryb śledzenia zmian.
  • Skanowanie skrótów odczytuje produkty i marki według harmonogramu i porównuje skróty (hashe). Wymaga tylko dostępu do odczytu i niczego nie zapisuje w bazie danych. Nie synchronizuje cen, magazynów ani stanów magazynowych.
  • Śledzenie zmian WFM_INT korzysta z własnego frameworku integracyjnego Wapro, WFM_INT. Wyzwalacze Wapro rejestrują każdą zmianę w śledzonych tabelach, także zmiany wprowadzone bezpośrednio przez SQL, a agent odczytuje te zapisy mniej więcej raz na minutę.

Co agent zapisuje w Twojej bazie danych

W trybie Śledzenie zmian WFM_INT agent zapisuje dane w tabelach frameworku WFM_INT Wapro. Nigdy nie zapisuje niczego w Twoich tabelach biznesowych. Przed rejestracją prosi w aplikacji w zasobniku o wyraźną zgodę: I consent to Omnilinker registering change tracking in the WFM_INT framework tables. Po kliknięciu Enable Change Tracking agent w jednej transakcji:
  1. Dodaje jeden wiersz do WFM_INT_SYSTEM z opisem OMNILINKER. W ten sposób rejestruje Omnilinkera jako odbiorcę zapisów zmian.
  2. Dodaje do WFM_INT_SYSTEM_TABLICE po jednym wierszu subskrypcji dla każdej śledzonej tabeli: ARTYKUL, CENA, CENA_ARTYKULU, MAGAZYN, KOD_KRESKOWY, KATEGORIA_ARTYKULU i KATEGORIA_ARTYKULU_TREE.
  3. Dodaje do odpowiedniej tabeli WFM_INT_<table> po jednym wierszu dla każdego istniejącego rekordu tych tabel, oznaczonym jako nowy. Dzięki temu pierwsza synchronizacja wysyła wszystko. W dużej bazie jest to duża operacja wstawiania, więc wykonaj ją poza godzinami największego obciążenia.
Ponowna rejestracja jest bezpieczna. Dodaje tylko to, czego brakuje. Po rejestracji:
  • Wyzwalacze Wapro dodają lub aktualizują wiersz w WFM_INT_<table> dla Omnilinkera za każdym razem, gdy zmieni się śledzony rekord, tak samo jak dla każdego innego zarejestrowanego odbiorcy.
  • Gdy agent zapisze paczkę zmian w swojej kolejce wychodzącej (outbox), oznacza te wiersze jako przetworzone (ustawia StatusObiektu na 0). Aktualizuje wyłącznie wiersze należące do rejestracji OMNILINKER.
Po kliknięciu Disable Change Tracking w aplikacji w zasobniku agent usuwa swoje wiersze subskrypcji, swoje wiersze w każdej tabeli WFM_INT_<table> i swój wiersz w WFM_INT_SYSTEM, również w jednej transakcji. Wiersze innych odbiorców nigdy nie są zmieniane. Samo przełączenie połączenia z powrotem na Skanowanie skrótów w aplikacji webowej sprawia, że agent przestaje odczytywać zapisy zmian, ale rejestracja pozostaje na miejscu. Agent wykonuje też kontrole stanu, które tylko odczytują dane. Odczytuje metadane wyzwalaczy (sys.triggers) dla wyzwalaczy WFM_INT w śledzonych tabelach oraz ustawienie serwera nested triggers (sys.configurations), a także liczy artykuły zablokowane obecnie do edycji (ARTYKUL.SEMAFOR).

Warunki poprawnego działania WFM_INT

  • Wyzwalacze WFM_INT Wapro muszą być włączone w śledzonych tabelach. Wyłączony wyzwalacz oznacza, że zmiany w tej tabeli nie są rejestrowane.
  • Opcja nested triggers SQL Server musi być włączona (1). Wapro wymaga, aby wyzwalacze mogły uruchamiać inne wyzwalacze.
  • Artykuły zablokowane do edycji w Wapro są pobierane po zwolnieniu blokady.

Aktualizacje Wapro

Aktualizacja Wapro tworzy wyzwalacze śledzenia zmian od nowa, a zmiany wprowadzone w jej trakcie nie są rejestrowane. Agent obserwuje wersję Wapro i historię poprawek (hotfixów). Gdy się zmienią, ponownie sprawdza śledzenie zmian i uruchamia uzgadnianie. W trakcie aktualizacji agent może natrafić na brakujące tabele lub kolumny. Wstrzymuje wtedy dany strumień danych i próbuje ponownie później, nie oznaczając zmian jako odczytanych.

Uzgadnianie

W trybie Śledzenie zmian WFM_INT agent nadal uruchamia skanowanie skrótów jako zabezpieczenie:
  • co tydzień oraz
  • po wykryciu aktualizacji Wapro.
Ponownie wysyła każdy produkt i każdą markę, których skrót różni się od tego, co Omnilinker otrzymał ostatnio. Marki są wysyłane właśnie podczas tego uzgadniania, więc nowa nazwa producenta może pojawić się jako marka dopiero po tygodniu.

Zestawy

Artykuł rodzaju Zestaw staje się w katalogu produktem typu zestaw. Jego składniki pochodzą z definicji produktu w Wapro:
  • Agent odczytuje składy zestawów przy uruchomieniu, a potem co 6 godzin. Zmiany składu nie są śledzone przez WFM_INT, więc za każdym razem jest to pełny odczyt.
  • Jeśli zestaw ma kilka wariantów, agent używa wariantu domyślnego, który nie jest zablokowany, a w przeciwnym razie wariantu o najniższym ID.
  • Ilości tego samego składnika są sumowane.
  • Składniki są dopasowywane po indeksie katalogowym. Składniki z pustym indeksem są pomijane.
  • Zestaw bez składników w Wapro ma wyczyszczone składniki w Omnilinkerze.
  • Zestaw jest pomijany, dopóki sam produkt zestawu i wszystkie jego składniki nie dotrą do Omnilinkera.
  • Zestaw nie może zawierać innego zestawu. Taki zestaw jest pomijany.
Sposób zapisywania cen zestawów zależy od ustawienia Źródło ceny zestawu w połączeniu. Zobacz Ceny zestawów.

Login SQL Server

Agent łączy się za pomocą loginu SQL Server wpisanego w jego ustawieniach albo przez uwierzytelnianie Windows.
  • Skanowanie skrótów wymaga dostępu do odczytu bazy danych Wapro, na przykład roli db_datareader.
  • Śledzenie zmian WFM_INT wymaga dodatkowo uprawnień INSERT i DELETE do WFM_INT_SYSTEM i WFM_INT_SYSTEM_TABLICE oraz INSERT, UPDATE i DELETE do siedmiu tabel WFM_INT_<table> wymienionych wyżej.
Dokładne polecenia GRANT znajdziesz na stronie Wymagania. Jeśli nadajesz dostęp do odczytu obiekt po obiekcie zamiast przez db_datareader, pamiętaj, że agent odczytuje te obiekty: ARTYKUL, CENA, CENA_ARTYKULU, MAGAZYN, KOD_KRESKOWY, KATEGORIA_ARTYKULU, JEDNOSTKA, FIRMA, DEFINICJA_PRODUKTU, PRODUKT_WARIANT, Api_V_Price, WAPRODBSTATE, aktywnosc_wfs, WFM_INT_SYSTEM, WFM_INT_SYSTEM_TABLICE oraz tabele WFM_INT_<table>.

Znane ograniczenia

  • Tylko odczyt: nic nie jest zapisywane z powrotem w Wapro. Zobacz Czego dostawca nie robi.
  • Ceny produktów, magazyny i stany magazynowe wymagają śledzenia zmian WFM_INT.
  • W trybie WFM_INT marki są aktualizowane tylko przez cotygodniowe uzgadnianie.
  • Synchronizowany jest tylko podstawowy kod kreskowy (KOD_KRESKOWY w artykule). Dodatkowe kody kreskowe i kategorie nie są synchronizowane.
  • Wyzwalacz cen Wapro nie rejestruje samej zmiany waluty, więc cena, w której zmieniła się tylko waluta, nie zostanie wysłana, dopóki nie zmieni się w niej coś innego.
  • Zmiany wprowadzone w trakcie aktualizacji Wapro są wychwytywane dopiero przez następujące po niej uzgadnianie.
  • Ceny i stany magazynowe pominięte z powodu niezmapowanego poziomu cen lub magazynu są stosowane przy ich następnej zmianie, a nie w chwili dodania mapowania. Zobacz Dane słownikowe.
  • Artykuły z pustym indeksem katalogowym nie są synchronizowane.

Powiązane strony

Wymagania

Sieć, login SQL Server i uprawnienia.

Mapowania pól

Domyślne mapowania pól Wapro.

Konfiguracja synchronizacji

Tryb śledzenia zmian, interwały i ceny zestawów.

Dane słownikowe

Zmapuj poziomy cen i magazyny z Wapro.