
ERPIT eCommerce Sync - ustawianie statusów BaseLinker'a
Wprowadzenie - potrzeba przekazania statusu do BaseLinker'a
Dodatek ERPIT eCommerce Sync pozwala przekazywać do BaseLinkera informacje o statusach. Funkcjonalność ta jest dostępna w czynnościach na liście zamówień. Można tu zaznaczyć zamówienia i czynnością ustawić status tego zamówienia w usłudze BaseLinker. W rzeczywistych procesach raczej chcielibyśmy aby pewne akcje działy się automatycznie i wynikały z procesu realizowanego po stronie systemu ERP enova365. Dlatego udostępniliśmy kilka tzw. workerów, które pozwolą zautomatyzować pewne procesy. W tym krótkim artykule pokażemy sposób wywołania jednego z nich, służącego do ustawiania statusów. Inną potrzebą może być konieczność przekazania dodatkowo informacji. Można to zrobić ustawiając np. pole dodatkowe. Do tego też mamy rozwiązanie opisane w dalszej części.
Wywołanie workera do zmiany statusu
Worker można wywołać z poziomu kodu będącego algorytmem cechy lub taska. Złóżmy cechę tekstową o nazwie UstawStatusBL dla Dokumentu Handlowego i oznaczmy ją jako cechę ze zdefiniowanym algorytmem wywoływanym podczas ustawiania. Dodatkowo ustawiamy Zasady edycji cechy na: "Możliwość edycji ograniczona tylko prawami..." gdyż nasza cecha powinna działać również na zatwierdzonych dokumentach.
W sekcji Algorytm, która pojawi się po ustawieniu należy wprowadzić odpowiedni kod.
W naszym przypadku kod będzie wyglądał następująco:
public string Feature_UstawStatusBL(string value) {
DokumentHandlowy[] dok = new DokumentHandlowy[]{Row};
enova365.EcommerceSync.UI.Api.ApiModel.ChangeOrdersStatus( "NazwaKontaBL", dok , "IDstatusu");
return value;
}
NazwaKontaBL - to nazwa konta zdefiniowana w dodatku ERPIT eCommerce Sync
IDstatusu - to identyfikator statusu w BaseLinker.
W dalszej kolejności należy spawdzić kod i jeżeli nie będzie błędów można zapisać cechę, a następnie ją przetestować. Najprościej wyjąć ją w formularzu zamówienia na zakładce cech i następnie wprowadzić do niej wartość.
Wywołanie workera do przesłania pola
Razem z ustawieniem statusu możemy drugim workerem przekazać dodatkowe dane do pola dodatkowego lub do uwag na zamówieniu. Zalecamy pole dodatkowe. Wówczas nasz kod do zmiany statusu możemy uzupełnić o linię:
enova365.EcommerceSync.UI.Api.ApiModel.ExportOrdersExtraFields( "NazwaKontaBL", dok, "treść wiadomości", null, null );
Oczywiście zamiast stałej "treść wiadomości" można podstawić inną zmienną tekstową np. budującą komunikat na podstawie innych pól w zamówieniu.
Podsumowanie
W artykule przedsatawiono prosty przykład kodu wywołującego workery dodatku ERPIT eCommerce Sync powodujące akcje po stronie BaseLinkera. Przykład oczywiście można rozbudowywać i dostosować rozwiązanie do własnych potrzeb.