Łączy się z systemami ERP i MES takimi jak

Integracje / ERP / Microsoft Dynamics 365 Supply Chain Management

Przewodnik po integracji Dynamics 365 Supply Chain Management ze SkyPlanner APS do harmonogramowania produkcji

Ten przewodnik po integracji Dynamics 365 Supply Chain Management pokazuje partnerom i zespołom IT, jak połączyć Microsoft Dynamics 365 Supply Chain Management ze SkyPlanner APS. Integracja SkyPlanner z Dynamics 365 Supply Chain Management działa dwukierunkowo i korzysta ze standardowych jednostek danych tego systemu:

  • Do SkyPlanner trafiają zlecenia produkcyjne, operacje i zadania marszruty, wiersze BOM, zasoby produkcyjne, kalendarze, zwolnione produkty, dostępne zapasy oraz wiersze zamówień zakupu.
  • Zaplanowane terminy rozpoczęcia i zakończenia oraz wybrany zasób produkcyjny są zapisywane z powrotem w zleceniu produkcyjnym i jego operacjach marszruty.
  • Godziny pracy operatorów i ilości wracają przez arkusz karty marszruty.
  • Webhooki SkyPlanner przesyłają zmiany w harmonogramie na bieżąco.
Wykres Gantta w SkyPlanner APS z operacjami zaplanowanymi na stanowiskach roboczych i listą zleceń poniżej.

Podczas wdrożenia zespół SkyPlanner dostosowuje integrację do konfiguracji Supply Chain Management i zapewnia jej wsparcie po uruchomieniu produkcyjnym. Ten przewodnik jest przeznaczony dla partnerów i programistów, którzy chcą uczestniczyć w pracach lub samodzielnie tworzyć rozwiązania na podstawie udokumentowanego REST API SkyPlanner (dokumentacja API).

Możliwości integracji z Dynamics 365 SCM

Supply Chain Management udostępnia dane przez jednostki danych. W harmonogramowaniu znaczenie mają cztery możliwości:

  1. Punkt końcowy REST OData v4. [Your organization's root URL]/data udostępnia każdą jednostkę danych oznaczoną jako IsPublic, zapewniając pełną obsługę tworzenia, odczytu, aktualizacji i usuwania rekordów. Obsługuje $filter, $count, $orderby, $skip, $top, $select oraz $expand na pierwszym poziomie. Stronicowaniem steruje serwer, a limit wynosi 10 000 rekordów. Żądania wsadowe mogą grupować zapisy w zestawy zmian. OData działa synchronicznie. (źródło)
  2. API do wsadowego przesyłania danych. Data management package REST API i integracje cykliczne przesyłają duże ilości danych asynchronicznie. Microsoft: „If the volume is more than a few hundred thousand records, use the batch data API.” (Jeśli liczba rekordów przekracza kilkaset tysięcy, użyj API do wsadowego przesyłania danych). Ten interfejs API jest również obsługiwany w środowiskach lokalnych. (źródło)
  3. Zdarzenia biznesowe. Aplikacje finansowe i operacyjne publikują zdarzenia biznesowe w Azure Service Bus, Event Grid, punktach końcowych HTTPS lub Power Automate. (źródło)
  4. Usługi niestandardowe i akcje OData. Usługi niestandardowe X++ i powiązane akcje OData uruchamiają logikę biznesową na żądanie.

Integracja SkyPlanner korzysta z punktu końcowego OData do bieżącej wymiany danych, a przy dużym początkowym imporcie używa API do wsadowego przesyłania danych. W Supply Chain Management niczego nie trzeba instalować.

Uwierzytelnianie

Zarejestruj aplikację w Microsoft Entra ID (service principal). W Supply Chain Management powiąż ją z użytkownikiem mającym role zabezpieczeń wymagane przez integrację. Integracja odczytuje dane produkcji, zasobów produkcyjnych i zapasów, a zapisuje dane harmonogramowania zleceń produkcyjnych oraz arkusze. Tokeny są pobierane z Entra ID przy użyciu poświadczeń klienta.

O tym, jakie dane są widoczne dla integracji, decydują dwie zasady:

  • Firmy. OData zwraca dane domyślnej firmy, chyba że do żądania dodano ?cross-company=true. W zakładach wielooddziałowych dane filtruje się według dataAreaId.
  • Nazwy publiczne. Podane poniżej nazwy jednostek to nazwy używane w zarządzaniu danymi. Publiczne nazwy kolekcji OData mogą być inne, dlatego odczytaj je z /data/$metadata w swoim środowisku.

Po stronie SkyPlanner REST API korzysta z uwierzytelniania tokenem API (SkyPlanner Settings > API) i ma dokumentację w formacie Swagger/OpenAPI. Samouczek integracji prowadzi przez pierwsze wywołania.

Mapowanie danych

Jednostka D365 SCMObiekt SkyPlannerKierunekCzęstotliwość
Zwolnione produkty (ItemNumber)Produkty i materiałySCM → SkyPlannerImport początkowy, potem przyrostowo
Wiersze produkcyjnego BOM (ProdProductionOrderBillOfMaterialsLineEntity), wiersze BOMStruktura produktu, materiały dla każdego zleceniaSCM → SkyPlannerPrzy każdej synchronizacji zleceń
Marszruta, wersje marszruty, operacje marszruty, właściwości operacji (RouteOperationPropertiesV2Entity)Etapy procesu z czasami przezbrojenia i wykonaniaSCM → SkyPlannerImport początkowy, potem przy zmianach
Zasoby produkcyjne (OpResOperationsResourceEntity), grupy zasobów produkcyjnych, możliwościStanowiska robocze, grupy stanowisk roboczych, wskaźniki wydajnościSCM → SkyPlannerImport początkowy, później sporadycznie
Kalendarze czasu pracy, dni kalendarza i przedziały czasowe, przypisania kalendarzyZmiany roboczeSCM → SkyPlannerCodziennie lub prowadzenie zmian roboczych w SkyPlanner
Nagłówki zleceń produkcyjnych (ProdProductionOrderHeaderEntity)Zlecenia z terminami realizacji i statusemSCM → SkyPlannerCo kilka minut lub po zdarzeniu biznesowym
Operacje marszruty (ProdProductionOrderRouteOperationEntity), zadania marszruty (ProdProductionOrderRouteJobEntity)Operacje z czasem trwania i wymaganiami dotyczącymi zasobów produkcyjnychSCM → SkyPlannerPrzy każdej synchronizacji zleceń
Dostępne zapasyStany magazynoweSCM → SkyPlannerCo godzinę lub przy uruchomieniu harmonogramowania
Wiersze zamówień zakupu z datą dostawyOczekiwane materiały; aktualizacja zapasów po nadaniu zamówieniu zakupu statusu DeliveredSCM → SkyPlannerCo godzinę lub przy uruchomieniu harmonogramowania
Zaplanowane daty i godziny rozpoczęcia i zakończenia oraz zasób produkcyjny dla każdej operacji marszrutyPlanowany początek, koniec i stanowisko robocze każdej operacjiSkyPlanner → SCMPo zmianie harmonogramu, przez webhook SkyPlanner
Arkusz karty marszruty (ProdRouteCardProductionJournalEntryEntity: RegisteredHours, ReportedGoodInventoryQuantity)Wpisy czasu pracy i ilościSkyPlanner → SCMPrzy każdym potwierdzeniu lub raz na zmianę roboczą, jeśli wybrano tę opcję
Konfiguracja ograniczeń w SkyPlannerMacierz czasów przezbrojeń, narzędzia jako zasoby o ograniczonej dostępności, liczba operatorów, alternatywne zasoby produkcyjneDane utrzymywane w SkyPlannerKonfiguracja podczas wdrożenia

Schematy integracji

1. Początkowy import danych podstawowych. Zaimportuj zasoby produkcyjne, ich grupy, kalendarze, zwolnione produkty, marszruty i BOM. Przy setkach tysięcy rekordów użyj API do wsadowego przesyłania danych, a przy mniejszych ilościach — stronicowania OData. Każdemu zasobowi produkcyjnemu SCM przypisz stanowisko robocze w SkyPlanner. Nie mapuj wyłącznie grup zasobów: harmonogramowanie operacji rezerwuje grupy, ale na hali praca odbywa się na konkretnych zasobach produkcyjnych.

2. Synchronizacja zleceń. Odczytaj zatwierdzone zlecenia produkcyjne o statusach, za które odpowiada SkyPlanner — zazwyczaj Scheduled i Released — wraz z ich operacjami marszruty, zadaniami marszruty i wierszami BOM. Odczytaj również otwarte wiersze zamówień zakupu. SkyPlanner uznaje zamówiony materiał za dostępny w dniu dostawy podanym w zamówieniu zakupu i aktualizuje zapasy po nadaniu mu statusu Delivered.

Pomiń planowane zlecenia produkcyjne, chyba że zostały wyraźnie objęte zakresem integracji. Planning Optimization generuje je na nowo przy każdym uruchomieniu.

3. Zapis zwrotny harmonogramu. Dla każdej operacji, którą silnik umieścił lub przesunął w harmonogramie, SkyPlanner zapisuje w operacji marszruty zaplanowane daty i godziny rozpoczęcia i zakończenia oraz zasób produkcyjny. Używa przy tym nazw pól z /data/$metadata w danym środowisku. Zmiany są przesyłane w zestawach zmian żądań wsadowych OData, dzięki czemu wynik jednego uruchomienia harmonogramowania jest zapisywany jako jedna spójna aktualizacja.

4. Potwierdzenia z hali produkcyjnej. Operatorzy rejestrują pracę za pomocą SkyPlanner Mobile Confirmations lub Production Timer, a wpisy czasu pracy zapewniają aktualność harmonogramu. Godziny i ilości wyrobów dobrych mogą wracać jako wiersze arkusza karty marszruty. Funkcja Report as finished pozostaje tam, gdzie jest używana obecnie — w SCM lub Production floor execution.

Wybierz jeden kanał dla każdego rodzaju księgowania. Rejestrowanie tych samych godzin ze SkyPlanner i Production floor execution powoduje ich podwójne naliczenie.

5. Odpowiedzialność za dane i zasady rozstrzygania konfliktów. Spisz je przed uruchomieniem produkcyjnym:

DaneSystem odpowiedzialny
Produkty, BOM, marszruty, ilości, status zlecenia, kalkulacja kosztówSupply Chain Management
Planowane zlecenia produkcyjnePlanning Optimization
Kolejność operacji, zaplanowany początek i koniec, przypisanie zasobów produkcyjnychSkyPlanner
Macierz czasów przezbrojeń, narzędzia, liczba operatorów, alternatywne zasoby produkcyjneSkyPlanner
Zmiany robocze i nieobecnościJeden system, wybrany podczas określenia zakresu
Księgowanie godzin i wielkości produkcjiSupply Chain Management, na podstawie wpisów czasu pracy ze SkyPlanner, jeśli wybrano tę opcję

Głównym źródłem konfliktów jest harmonogramowanie zadań w samym SCM. Jeśli planista zmieni harmonogram zlecenia w SCM, nadpisze terminy ustalone przez SkyPlanner. W nagłówkach zleceń, za których harmonogram odpowiada SkyPlanner, użyj IsProductionOrderSchedulingLocked. Każde zlecenie zmienione w SCM traktuj jako nową wersję i zsynchronizuj je ponownie. Autopilot automatycznie przelicza harmonogram, gdy zmienia się sytuacja na produkcji.

Co obejmuje projekt

Wdrożenie zwykle kończy się w ciągu kilku tygodni od rozpoczęcia prac wdrożeniowych. Wcześniej możesz skorzystać z 30-dniowego bezpłatnego okresu próbnego na własnych danych. Wyeksportuj zasoby produkcyjne, marszruty i otwarte zlecenia produkcyjne za pomocą projektu eksportu w module zarządzania danymi lub dodatku do programu Excel. Następnie zaimportuj je w formacie CSV lub Excel i sprawdź poprawność harmonogramu.

  1. Określenie zakresu. Ustal tabelę mapowania, statusy, przy których za harmonogram odpowiada SkyPlanner, częstotliwość synchronizacji i kanał księgowania.
  2. Dostęp. Zarejestruj aplikację Entra ID, powiąż ją z użytkownikiem SCM z rolami o minimalnych niezbędnych uprawnieniach i potwierdź publiczne nazwy jednostek danych w /data/$metadata. Najpierw zrób to w środowisku testowym, potem w produkcyjnym.
  3. Początkowe załadowanie danych. Zasoby produkcyjne, kalendarze, zwolnione produkty, marszruty i BOM.
  4. Synchronizacja zleceń i zamówień zakupu. Cyklicznie pobieraj zmienione rekordy z użyciem $filter i korzystaj ze zdarzeń biznesowych, jeśli są dostępne w katalogu.
  5. Konfiguracja ograniczeń w SkyPlanner. Macierz czasów przezbrojeń, narzędzia, liczba operatorów oraz alternatywne maszyny lub pracownicy.
  6. Zapis harmonogramu do SCM. Wsadowe aktualizacje operacji marszruty i blokada harmonogramowania zleceń, za które odpowiada SkyPlanner.
  7. Testy równoległe. Uruchom SkyPlanner równolegle z bieżącym planem, porównaj terminy i popraw dane podstawowe.
  8. Uruchomienie produkcyjne. Włącz zapis do SCM, gdy dane będą zgodne.

Co uwzględnić przy integracji z Dynamics 365 SCM

  • Podwójne uwzględnienie wydajności. SCM oblicza czas według wzoru „Scheduling time = Time x 100 / Efficiency percentage.” (Wzór na czas harmonogramowania z uwzględnieniem procentu wydajności). Zmapuj wydajność na wydajność stanowiska roboczego w SkyPlanner tylko raz — nie stosuj jej ponownie do już skorygowanych czasów.
  • Kalendarze są przypisane do grup zasobów. Odczytuj przypisania kalendarzy zarówno dla grup, jak i poszczególnych zasobów produkcyjnych. Inaczej zdolności produkcyjne nie będą się zgadzać.
  • Planowanie operacji a planowanie zadań. Zlecenia zaplanowane na poziomie operacji nie mają godzin rozpoczęcia i zakończenia ani przypisanego konkretnego zasobu produkcyjnego. Synchronizuj operacje marszruty i wymagania dotyczące zasobów produkcyjnych, a nie tylko daty.
  • Ustawienia ograniczonej zdolności produkcyjnej. Zasoby produkcyjne z polem Finite capacity ustawionym na No mogą zostać przeciążone w SCM. W SkyPlanner odwzoruj każde rzeczywiste ograniczenie jako ograniczoną dostępność.
  • 32 zasoby produkcyjne na operację. W SCM planowanie zadań obsługuje maksymalnie 32 zasoby produkcyjne na operację. W SkyPlanner alternatywy definiuje się za pomocą grup stanowisk roboczych i alternatywnych stanowisk roboczych.
  • Stronicowanie i ilość danych. OData zwraca strony po 10 000 rekordów i rozwija relacje o jeden poziom. Do początkowego ładowania dużych ilości danych używaj interfejsu API do wsadowego przesyłania danych.
  • Osoby prawne. Bez cross-company=true i filtrów dataAreaId w zakładzie działającym w ramach wielu firm synchronizowana będzie tylko firma domyślna.

Kto konfiguruje integrację

Prace obejmują mapowanie zgodne z marszrutami, zasobami produkcyjnymi i konfiguracją SCM oraz konfigurację ograniczeń w SkyPlanner: macierzy czasów przezbrojeń, narzędzi, liczby operatorów i alternatywnych zasobów produkcyjnych.

  1. Zespół SkyPlanner konfiguruje integrację podczas wdrożenia i zapewnia wsparcie po uruchomieniu produkcyjnym — po stronie SkyPlanner oraz w zakresie uzgodnionych jednostek danych SCM. Każdy zakład korzysta z D365 SCM inaczej i właśnie tutaj przydaje się znajomość tych różnic.
  2. Twój partner Dynamics może wziąć udział w projekcie. Zna Twoją konfigurację, rozszerzenia i role zabezpieczeń. Może skonfigurować aplikację Entra ID oraz dostęp do jednostek danych. SkyPlanner udostępnia REST API, dokumentację Swagger/OpenAPI i webhooki.
  3. Twoi programiści mogą rozwijać integrację, korzystając z tego samego udokumentowanego REST API i tokena API. Do rozpoczęcia prac wystarczy token API, a zespół SkyPlanner pomaga w razie potrzeby.

Po połączeniu systemów silnik Arcturus tworzy harmonogram na podstawie aktualnych zleceń produkcyjnych z SCM, a zaplanowane terminy są zapisywane w operacjach marszruty. Cena SkyPlanner zaczyna się od 199 € miesięcznie i obejmuje 5 stanowisk roboczych, z rozliczeniem co miesiąc. Integrację wyceniamy z góry, zgodnie z Twoim procesem i potrzebami, razem z wybranym planem. Dzięki temu znasz pełny koszt przed rozpoczęciem prac.

Sprawdź, jak wypadają w porównaniu funkcje planowania samego SCM, w artykule Harmonogramowanie produkcji w Dynamics 365 SCM z uwzględnieniem ograniczeń zdolności produkcyjnych. Ogólne informacje znajdziesz na stronie Dynamics 365 SCM, a pozostałe systemy ERP — w centrum integracji z ERP.

Rozpocznij bezpłatny okres próbny Porozmawiaj z działem sprzedaży

Opinie producentów o SkyPlanner

Kalle Kalliomäki, specjalista ds. łańcucha dostaw w UTU, w hali produkcji rozdzielnic w Ulvila

2 hoszczędności co tydzień

„Dzięki SkyPlanner przeszliśmy od planowania produkcji w arkuszach Excel do optymalizacji produkcji w czasie rzeczywistym.”

Kalle Kalliomäki, specjalista ds. łańcucha dostaw
UTU · Rozdzielnice i aparatura rozdzielcza

Planowanie produkcji zajmuje o 2 godziny mniej tygodniowo, a nowa kolejka zadań trafia na linię w kilka sekund.

Przeczytaj opinię UTU

Operatorzy w kombinezonach do pomieszczeń czystych przy linii napełniania butelek w zakładzie farmaceutycznym Laboratory & Allied w Nairobi

+90%wydajności produkcji

„Wydajność produkcji wzrosła o 90%.”

Abdul Rucyinga, szef działu IT
Laboratory & Allied · Produkcja farmaceutyczna

Wydajność produkcji wzrosła o 90%, a przygotowanie zoptymalizowanego planu na trzy miesiące dla wszystkich stanowisk roboczych zajmuje mniej niż 30 minut.

Przeczytaj opinię Laboratory & Allied

100%terminowości dostaw od 2021 roku

„SkyPlanner daje nam wgląd w zdolności produkcyjne i sprawia, że planowanie staje się przewidywalne.”

Dan Berglund, COO/CFO
Opes Corporation · Produkcja chemiczna i spożywcza

Terminowość dostaw wynosi 100% przez cały okres korzystania ze SkyPlanner, od 2021 roku.

Przeczytaj opinię Opes Corporation

Hannu Ryynänen, prezes Mamec, w hali produkcyjnej firmy w Lohja

1 000+zleceń produkcyjnych harmonogramowanych automatycznie

„Mamy zupełnie inną kontrolę nad produkcją, a nasza wiedza o zdolnościach produkcyjnych jest na całkowicie innym poziomie.”

Hannu Ryynänen, prezes
Mamec · Mieszadła przemysłowe, pompy i zaawansowana technologicznie produkcja kontraktowa

Tysiące zleceń produkcyjnych są harmonogramowane automatycznie, a cała organizacja ma wgląd w produkcję w czasie rzeczywistym.

Przeczytaj opinię Mamec

Najczęściej zadawane pytania

Z którego API D365 SCM korzysta integracja?

Z punktu końcowego REST OData v4 pod adresem /data, który udostępnia wszystkie publiczne jednostki danych z pełną obsługą tworzenia, odczytu, aktualizacji i usuwania. Do początkowego ładowania dużych ilości danych służy interfejs API do wsadowego przesyłania danych. Zdarzenia biznesowe umożliwiają wyzwalanie działań niemal w czasie rzeczywistym, jeśli są dostępne w katalogu.

Czy trzeba coś instalować w Supply Chain Management?

Nie. Integracja korzysta ze standardowych jednostek danych przez OData. Administrator rejestruje aplikację Microsoft Entra ID i wiąże ją z użytkownikiem SCM mającym wymagane role.

Jak zaplanowane terminy są zapisywane z powrotem w Supply Chain Management?

SkyPlanner zapisuje zaplanowane daty i godziny rozpoczęcia oraz zakończenia, a także zasób produkcyjny operacji, w operacjach marszruty zlecenia produkcyjnego, korzystając z wsadowych zestawów zmian OData. Zlecenia, za których harmonogram odpowiada SkyPlanner, są chronione za pomocą IsProductionOrderSchedulingLocked.

Dlaczego warto połączyć SCM ze SkyPlanner zamiast dostrajać planowanie zadań w SCM?

Planning Optimization uwzględnia ograniczenia zdolności produkcyjnych tylko w określonym horyzoncie czasowym, a poza nim zakłada nieograniczone zdolności produkcyjne (źródło). Planowanie zadań w SCM umieszcza w harmonogramie po jednym zleceniu produkcyjnym, uwzględniając już zarezerwowane zdolności produkcyjne i traktując przezbrojenie jako czas operacji (źródło). Microsoft odradza przy tym planowanie główne z ograniczonymi zdolnościami produkcyjnymi, gdy zmiany robocze wpływają na ich wielkość (źródło). SkyPlanner harmonogramuje wszystkie zatwierdzone zlecenia razem, korzystając z macierzy czasów przezbrojeń, a Autopilot automatycznie przelicza harmonogram po każdej istotnej zmianie. Zespół SkyPlanner konfiguruje i wspiera dwukierunkową integrację, a Twój partner Dynamics może odpowiadać za stronę SCM.

Czy SkyPlanner powinien harmonogramować planowane zlecenia produkcyjne?

Zwykle nie. Planning Optimization generuje planowane zlecenia produkcyjne od nowa przy każdym uruchomieniu. SkyPlanner harmonogramuje zatwierdzone zlecenia produkcyjne o statusach uzgodnionych podczas określenia zakresu.

Czy integracja działa z lokalną instalacją Supply Chain Management?

W instalacjach lokalnych integracja korzysta z interfejsu API do wsadowego przesyłania danych, który Microsoft obsługuje w tym środowisku. Po stronie SkyPlanner w obu przypadkach działa to samo REST API, a sposób integracji potwierdzamy podczas określenia zakresu.

Czy możemy przetestować SkyPlanner przed zbudowaniem integracji?

Tak. W ramach 30-dniowego bezpłatnego okresu próbnego możesz korzystać z maksymalnie 20 stanowisk roboczych i importować dane z Supply Chain Management w formacie CSV lub Excel. Karta kredytowa nie jest wymagana. Rozpocznij okres próbny lub porozmawiaj z działem sprzedaży, aby określić zakres integracji.