Przykłady modyfikacji procesów realizacji

1. Modyfikacja pola Description dla kroku wyboru towaru

Modyfikacja polega na zmianie napisu (nakazu) wyświetlanego w polu tekstowym, na kroku z wyborem towaru, przy procesie wystawiania dyspozycji AWD z ręki. Standardowe ustawienia Comarch WMS Magazynier w przypadku kroku wyboru towaru dla procesu AWD z ręki wygląda następująco:
Rekord z tabeli WMS.ProcessTasks dla kroku:

IdAssemblyNameType NameNameDescriptionViewStyleArgumentsProcessGroupId
8Documents.Acceptance.
NewPositionArticle
NULL{res:article}{res:scanEanOfArticle}ProcessViewStyle@ShowList=true3

modproc_rys1

W celu modyfikacji opisu na tym kroku należy wykonać następujące polecenie na tabeli WMS.ProcessTasks:

update WMS.ProcessTasks set Description='Zeskanuj EAN towaru znajdujący się na pudełku' where AssemblyName='Documents.Acceptances.NewPositionArticle'

W powyższym zapytaniu za frazą Description=, należy podać tekst jaki ma być wyświetlany przy danym kroku. Poniżej wynik zmiany opisu kroku.

modproc_rys2

Zmiany można również dokonać wywołując opcję „Edit Top 200 Rows” i modyfikując wpis w kolumnie Description.

2. Ukrycie kroku z wyborem cechy dla procesu wydania

W przykładzie zaprezentowane zostanie ukrycie kroków z wyborem cech dostawy oraz wydania dla procesu wydania „z ręki”.
W tabeli WMS.ProcessTasks należy sprawdzić Id dla kroków związanych z cechą:


SELECT Id, AssemblyName FROM WMS.ProcessTasks WHERE AssemblyName
in('Documents.Releases.NewPositionSFeature',
'Documents.Releases.NewPositionSFeatureValue',
'Documents.Releases.NewPositionTFeature',
'Documents.Releases.NewPositionTFeatureValue')

Wynik powyższego zapytania:
modproc_rys3

Dla Id równego 50, 51, 57 oraz 58 w tabeli WMS.StageProcesstasks należy zmienić wartość IsOptional na 1.

update WMS.StageProcessTasks set IsOptional=1 where ProcessTaskId in (50,51,57,58)

Ustawienie wartości IsOptional na 1 sprawia, że kroki wyboru klasy oraz wartości cechy zostają ukryte, a więc w razie konieczności mogą zostać wywołane na kolektorze za pomocą przycisku „Dodatkowe”. Okno z wywołanym ekranem przedstawiono na rysunku poniżej.

modproc_rys4

3. Usunięcie kroku z wyborem jednostki logistycznej

W aplikacji Comarch WMS Magazynier obsługa jednostek logistycznych jest domyślnie wyłączona i krok wyboru jednostki logistycznej nie pojawia się na kolektorze w procesie realizacji dyspozycji. Jednak jeżeli obsługa jednostek logistycznych zostanie wybrana w ustawieniach aplikacji Comarch WMS Zarządzanie nie będzie późniejszej możliwości jej wyłączenia z poziomu aplikacji.

W takim przypadku aby ukryć krok z wyborem jednostki logistycznej na kolektorze należy zmodyfikować zawartość tabeli WMS.StageProcessTasks. Przykład ilustruje wyłączenie kroku z wyborem jednostki logistycznej dla przyjęcia z systemu ERP.

W tabeli WMS.ProcessTasks należy sprawdzić Id dla kroków związanych z jednostką logistyczna dla przyjęć z systemu.

SELECT Id, AssemblyName FROM WMS.ProcessTasks WHERE AssemblyName in('Documents.Acceptances.PositionLogisticUnitElements','Documents.Acceptances.PositionLogisticUnitCode','Documents.Acceptances.PositionLogisticUnitType','Documents.Acceptances.PositionLogisticUnitReqParameters')

Wynik zapytania:

modproc_rys5

Dla Id równego 24-27 w tabeli WMS.StageProcesstasks należy zmienić wartość IsAvailableExpression na 0.

UPDATE WMS.StageProcessTasks set IsAvailableExpression=0 WHERE ProcessTaskId in (24,25,26,27)

Po takiej zmianie podczas realizowania dokumentu AWD z systemu w aplikacji Comarch WMS Magazynier krok z wyborem jednostki logistycznej zostanie pominięty, a pierwszym wyświetlonym krokiem będzie nakaz zeskanowania kodu towaru.

4. Zmiana kolejności kroków dla procesu przyjęcia

Kolejnym przykładem modyfikacji dla procesów może być zmiana ich kolejności. Aby zmienić kolejność kroków należy dokonać pewnych zmian w kolumnie Order w tabeli WMS.StageProcessTasks.

Załóżmy, że wymagana jest zmiana kolejności kroków w procesie realizacji dokumentu AWD z ręki.

Standardowo przy dodawaniu AWD z ręki (i włączonej opcji „obsługa jednostek logistycznych” w Comarch WMS Zarządzanie) najpierw należy zeskanować kod jednostki logistycznej, wybrać typ jednostki logistycznej, a dopiero w kolejnym kroku następuje zeskanowanie kodu towaru.

W tym przykładzie pokazane zostanie jak zmienić kolejność tych kroków tak, aby na kolektorze najpierw pojawiał się nakaz zeskanowania kodu towaru, a w późniejszej kolejności opcje dotyczące jednostek logistycznych.

W tabeli WMS.ProcessTasks należy sprawdzić Id dla kroków związanych z jednostką logistyczna oraz skanem towaru:

SELECT Id, AssemblyName FROM WMS.ProcessTasks WHERE AssemblyName in ('Documents.Acceptances.NewPositionLogisticUnitElements','Documents.Acceptances.NewPositionLogisticUnitCode','Documents.Acceptances.NewPositionLogisticUnitType','Documents.Acceptances.NewPositionLogisticUnitReqParameters', 'Documents.Acceptances.NewPositionArticle')

Wynik zapytania:
modproc_rys6

Następnie dla powyższych Id należy zmienić wartości w kolumnie Order w tabeli WMS.StageProcessTasks. Aby przesunąć krok z zeskanowaniem towaru na początek procesu wydania należy zmienić dla niego wartość w kolumnie Order na najniższą (10). Następnie należy analogicznie zmienić te wartości dla pozostałych kroków, tak, aby następowały po sobie:


UPDATE WMS.StageProcessTasks set [Order]=10 WHERE ProcessTaskId=8
UPDATE WMS.StageProcessTasks set [Order]=20 WHERE ProcessTaskId=5
UPDATE WMS.StageProcessTasks set [Order]=30 WHERE ProcessTaskId=6
UPDATE WMS.StageProcessTasks set [Order]=40 WHERE ProcessTaskId=7


5. Ustawienie położenia dla przyjęcia „sztuka po sztuce” przy wyłączonym kroku z wyborem położenia

Aby wyłączyć krok z wyborem położenia dla przyjęcia „sztuka po sztuce” inicjowanego z kolektora należy odszukać ten krok w tabeli WMS.ProcessTasks i sprawdzić jego id:


SELECT * FROM WMS.ProcessTasks WHERE TypeName='MobileWarehouseOnline.Documents.Processes.Definitions.Acceptance.NewDocumentAcceptanceLocationProcessTask'

Następnie należy wyłączyć krok w tabeli WMS.StageProcessTasks poprzez ustawienie wartości kolumny IsAvailableExpression na 0:


UPDATE WMS.StageProcessTasks SET IsAvailableExpression=0 WHERE id=205

Po wyłączeniu kroku należy ustawić położenie, na które będą trafiały przyjęte towary. Do argumentów na kroku należy dodać parametr @LocationId z Id położenia pobranego z tabeli WMS.StructureObjects:


UPDATE WMS.Processtasks SET Arguments='@IsRequired=True; @LocationId=5179' WHERE TypeName='MobileWarehouseOnline.Documents.Processes.Definitions.Acceptance.NewDocumentAcceptanceLocationProcessTask'


6. Zablokowanie pominięcia wyboru sposobu dostawy w procesie przesunięcia międzymagazynowego

W procesie przesunięcia magazynowego, po wyborze magazynu docelowego operator jest proszony o wybranie sposobu dostawy. Standardowo krok ten jest opcjonalny (może zostać pominięty poprzez naciśnięcie strzałki lub klawisza Enter). Aby sposób dostawy był krokiem obowiązkowym, który nie może zostać pominięty należy zmienić wartość parametru @IsRequired na „true” dla tego kroku w tabeli WMS.ProcessTasks.


UPDATE WMS.ProcessTasks SET Arguments='@CustomerInfoBoxStyle=CustomerInfoBox;@RealizePositionAfterSave=false;@IsRequired=true;' WHERE TypeName='Documents.InterwarehouseMovementMinus.Header.NewHeaderDeliveryMethodProcessTask'


7. Włączenie obsługi wydania dwuetapowego

Aby włączyć obsługę wydania dwuetapowego (kompletacja i wydanie) należy wprowadzić odpowiednie zmiany w tabeli WMS.Processes. Dla procesu wydania oraz przesunięcia należy ustawić wartość parametru IsAvailableExpression na 1.
Zmiany można dokonać wykonując następujące zapytanie:


UPDATE WMS.Processes set IsAvailableExpression=1 where Name in ('Processes_ReleaseDocument', 'Processes_MovementReleaseDocument')

Wynik zapytania:

modproc_rys7

Po włączeniu obsługi wydania dwuetapowego w aplikacji Comarch WMS Magazynier po wybraniu wydania do realizacji wyświetlone zostanie okno wyboru wydania: wydanie z systemu ERP lub kompletacja i wydanie.

modproc_rys8

Przebieg procesu kompletacji i wydania
Etap 1: Kompletacja

  • rozpoczęcie procesu realizacji pozycji,
  • wybór położenia źródłowego towaru,
  • zeskanowanie kodu towaru,
  • potwierdzenie cechy dostawy,
  • określenie wartości cechy,
  • określenie ilości towaru,
  • wybór położenia docelowego.

modproc_rys9

Aby zakończyć etap kompletacji należy wybrać przycisk [Zakończ]. Na liście dyspozycji widoczna będzie realizowana dyspozycja z oznaczonym etapem wydania.

modproc_rys10

Etap 2: Wydanie
Aby rozpocząć drugi etap dwuetapowego wydania należy wybrać na liście dyspozycję oznaczoną odpowiednim numerem etapu (2/2). Etap ten realizowany jest analogicznie do standardowego procesu wydania.


8. Włączenie procesu wydania „miksów”

Aby włączyć obsługę wydania „miksów” należy wprowadzić odpowiednie zmiany w tabeli WMS.Processes.

Zmiany można dokonać wykonując następujące polecenie:

UPDATE WMS.Processes set IsAvailableExpression=1 where Name='Processes_ReleaseMix'

Udostępniono obsługę takiego procesu wydania magazynowego, gdzie etap kompletacji zamówienia przebiega następująco:

  • Magazynier pobiera nowy nośnik (paletę) oznaczaną nowym kodem i układa na nią kolejne towary (realizuje kolejne pozycje zamówienia dla klienta)
  • Po zapełnieniu palety, drukuje etykietę logistyczną, a następnie oklejoną paletę zawozi do strefy załadunku, lub bezpośrednio na rampę załadunkową.
  • Następnie pobiera kolejną paletę i kontynuuje kompletację (lub rozpoczyna kompletację kolejnego zamówienia jeżeli poprzednie zmieściło się na jednej palecie).

W kolejnym etapie wydania, magazynier potwierdza załadunek danej palety/palet na samochód dostawczy.
W Comarch WMS Magazynier obsłużono proces, gdzie etap kompletacji przebiega następująco:

  • Magazynier potwierdza pobranie nowej jednostki logistycznej,
  • Następnie rozpoczyna się pętla realizacji kolejnych pozycji, gdzie przykładowo dla każdej pozycji wykonywane są 2 kroki: potwierdzające EAN i ilość towaru pakowanego na nośnik
  • Magazynier skanuje kolejne kody EAN i potwierdza ilości, a po zapełnieniu palety lub skompletowaniu zamówienia przerywa pętlę realizacji pozycji i drukuje etykietę logistyczną, tym samym kończąc etap
    • Magazynier nie musi dodatkowo potwierdzać położenia na które zawozi przygotowany nośnik – istnieje możliwość zdefiniowania w procesie domyślnego adresu poprzez dodanie argumentu @LocationId= id_położenia na kroku z położeniem docelowym. (krok ten jest domyślnie wyłączony).

modproc_rys11

modproc_rys12


9. Dodatkowe skanowanie towaru przy wydaniu

Dla procesu wydań oraz przesunięć dostępne są kroki umożliwiające dodatkową kontrolę wydawanej ilości towaru. Pierwszy na liście skanowany jest towar, a następnie należy zeskanować każdą sztukę towaru z osobna. Podczas skanowania rejestrowane są kody na liście pozycji. Skanowanie odbywa się na plus (dodawanie towarów) lub na minus (w przypadku pomyłki skanowanie na minus usuwa kod z listy).

uz_rys5

Modyfikacja oparta jest o kroki:

'MobileWarehouseOnline.Documents.Processes.Definitions.Releases.ReleaseDocumentPositionQuantityCodesProcessTask' dla wydań
‘MobileWarehouseOnline.Documents.Processes.Definitions.Movements.MovementDocumentPositionQuantityCodesProcessTask’ dla przesunięć.

Krok dla wydań można dodać za pomocą instrukcji:


INSERT INTO WMS.ProcessTasks (AssemblyName, TypeName, [Name], [Description], ViewStyle, Arguments, ProcessGroupId)
VALUES ('MobileWarehouseOnline.Documents.Processes', 'MobileWarehouseOnline.Documents.Processes.Definitions.Releases.ReleaseDocumentPositionQuantityCodesProcessTask', '{res:quantity}', '{res:processTasks_QuantityCodesDescription}', 'QuantityCodesViewStyle', '@ListStyle=QuantityCodesListStyle', 8)

Konfiguracja dla procesu wydania:

  • Odnalezienie id procesu wydania:
    uz_rys6
  • Odnalezienie id etapu:
    uz_rys7
  • Wyłączenie kroków z cechami, datą ważności i ilością:
    uz_rys8
  • Sprawdzenie id kroku:
    'MobileWarehouseOnline.Documents.Processes.Definitions.Releases.ReleaseDocumentPositionQuantityCodesProcessTask'
    uz_rys9
  • Dodanie kroku:

    'MobileWarehouseOnline.Documents.Processes.Definitions.Releases.ReleaseDocumentPositionQuantityCodesProcessTask' do etapu:

    uz_rys10

    Konfiguracja dla procesu przesunięcia przebiega analogicznie.


    10. Przykład stworzenia nowego procesu – dwuetapowe przyjęcie

    Przykład prezentuje dwuetapowe przyjęcie składające się z przyjęcia i przesunięcia dla dokumentu AWD wystawionego w programie ERP (Comarch ERP XL lub Comarch ERP Altum). Domyślnie, po wskazaniu powyższego dokumentu w aplikacji Comarch WMS Magazynier, pojawia się od razu proces realizacji przyjęcia.

    modproc_rys13

    Modyfikacja tabeli WMS.Processes

    W celu stworzenia dwuetapowego przyjęcia należy w pierwszej kolejności w tabeli WMS.Processes dodać nowy rekord odpowiedzialny za realizację dwuetapową.

    modproc_rys14

    Należy dodać kolejny rekord, który będzie odpowiadał za proces przyjęcia dwuetapowego. Wartością pola Id będzie kolejna liczba unikalna, czyli w tym przypadku liczba 10. Kolumna IsAvailableExpressions pozwala na tworzenie wyrażeń a kolumna Name za nazwę procesu. Wartość pola ProcessGroupId określa typ procesu (odwołanie do tabeli WMS.ProcessGroupId).

    [WMS].[Processes].[ProcessGroupId]=[WMS].[ProcessGroups].[Id]

    Liczba 5 oznacza przyjęcie dla dokumentu utworzonego w programie ERP (Comarch ERP XL lub Comarch ERP Altum).

    modproc_rys15

    Po utworzeniu nowego rekordu i zapisaniu zmian w tabeli WMS.Processes w aplikacji Comarch WMS Magazynier po wybraniu dokumentu do którego nie rozpoczął się jeszcze żaden proces pojawi się możliwość wyboru.

    modproc_rys16

    Uwaga
    Jeżeli dla dokumentu został rozpoczęty proces realizacji (np. proces przyjęcia) i następnie wycofamy się z realizacji, dokument będzie „pamiętał” wybrany proces i przy kolejnym otwarciu tego dokumentu nie pojawi się możliwość wyboru (lista „Wybierz proces”) – będzie realizowany proces przy pierwszym wyborze.

    Po wskazaniu procesu dwuetapowego pojawi się przy dokumencie nowy status oznaczający, który etap procesu jest obecnie realizowany.

    modproc_rys17

    Modyfikacja tabeli WMS.ProcessStages

    W poprzednim punkcie został utworzony rekord odpowiedzialny za nowy proces. W tym punkcie zostaną zdefiniowane etapy procesu:

    • Przyjęcie,
    • Przesunięcie.


    [WMS].[Processes].[ Id]= [WMS].[ProcessStages].[ ProcessId]

    czyli

    [WMS].[ProcessStages].[ ProcessId]=10

    modproc_rys18

    Przyjęte wartości:

    • Id: kolejny unikalny numer;
    • ProcessId: odwołanie do tabeli WMS.Processes (Id utworzonego procesu);
    • Order: kolejność;
    • IsAvailableExpression: dodatkowe wyrażenie;
    • Name: nazwa etapu;
    • DocumentType: typ dokumentu (odwołanie do tabeli WMS.ProcessGroups po Id tej tabeli); 5=AcceptenceDocument (przyjęcie); 31=MovementDocument (przesunięcie).

    modproc_rys19

    Modyfikacja tabeli WMS.StageProcessTask

    W tabeli WMS.StageProcessTask należy określić jakie kroki będą składać się na dany etap.

    Etap przyjęcia
    W pierwszym kroku definiowane są kroki dotyczące nagłówka dokumentu. W określeniu dostępnych kroków pomoże poniższa zależność:


    [WMS].[ProcessStages].[DocumentType]=[WMS].[ProcessTasks].[ProcessGroupId] oraz
    [WMS].[ProcessTasks].[ProcessGroupId]=[WMS].[ProcessGroups].[Id]

    czyli typem dla nagłówka dokumentu przyjęcia jest: AcceptenceDocument o Id=5 (WMS.ProcessGroups).

    modproc_rys20

    Znając kroki dla nagłówka dokumentu przyjęcia tworzone są odpowiednie wpisy w tabeli: WMS.StageProcessTask.

    modproc_rys21

    Przyjęte wartości:

    • Id – kolejny unikalny numer;
    • StageId – numer etapu odpowiedzialny za przyjęcie (odwołanie do tabeli WMS.ProcessStages po polu Id);
    • ProcessTaskId – numer kroku (odwołanie do tabeli WMS.ProcessTasks po polu Id);
    • Order – kolejność w obrębie danego etapu (w typ przypadku etap o identyfikatorze 11);
    • IsAvailableExpression – dodatkowe wyrażenie;
    • IsOptional – określenie czy krok ma być opcjonalny czy wymagany;
    • IsPosition – określenie czy krok jest dla nagłówka dokumentu czy dla pozycji dokumentu.

    Obecnie zostały określone kroki dotyczące nagłówka dokumentu, następnie należy zdefiniować kroki dotyczące pozycji dokumentu przyjęcia. Zależność:

    [WMS].[ProcessStages].[DocumentType]=[WMS].[ProcessTasks].[ProcessGroupId] oraz
    [WMS].[ProcessTasks].[ProcessGroupId]=[WMS].[ProcessGroups].[Id]

    czyli typem dla pozycji dokumentu przyjęcia jest: AcceptenceDocumentPosition o Id=7 (WMS.ProcessGroups).

    modproc_rys22

    Po weryfikacji typu dokumentu nalezy wybrać kroki.

    modproc_rys23

    Mając wybrane kroki należy powiazać kroki z etapem przyjęcia w tabeli WMS.StageProcessTask.

    modproc_rys24

    Pierwszy etap (przyjęcie) procesu został zdefiniowany:

    • rekordy: Id od 240 do 242 dotyczą kroków zagłówka dokumentu przyjęcia;
    • rekordy: Ido d 243 do 249 dotyczą kroków pozycji dokumentu przyjęcia.

    Etap przesunięcia
    W pierwszym kroku, analogicznie do etapu przyjęcia, definiowane są kroki dotyczące nagłówka dokumentu. W określeniu dostępnych kroków pomoże poniższa zależność:

    [WMS].[ProcessStages].[DocumentType]=[WMS].[ProcessTasks].[ProcessGroupId] oraz
    [WMS].[ProcessTasks].[ProcessGroupId]=[WMS].[ProcessGroups].[Id]

    czyli typem dla nagłówka dokumentu przesunięcia jest: MovementDocument o Id=31 (WMS.ProcessGroups).
    modproc_rys25

    Znając kroki dla nagłówka dokumentu przesunięcia, tworzone są odpowiednie wpisy w tabeli: WMS.StageProcessTask.

    modproc_rys26

    Przyjęte wartości:

    • Id: kolejny unikalny numer;
    • StageId: numer etapu odpowiedzialny za przyjęcie (odwołanie do tabeli WMS.ProcessStages po polu Id);
    • ProcessTaskId: numer kroku (odwołanie do tabeli WMS.ProcessTasks po polu Id);
    • Order: kolejność w obrębie danego etapu (w typ przypadku etap o identyfikatorze 11);
    • IsAvailableExpression: dodatkowe wyrażenie;
    • IsOptional: określenie czy krok ma być opcjonalny czy wymagany;
    • IsPosition: określenie czy krok jest dla nagłówka dokumentu czy dla pozycji dokumentu.

    Obecnie zostały określone kroki dotyczące nagłówka dokumentu, następnie należy zdefiniować kroki dotyczące pozycji dokumentu przesunięcia. Zależność:

    [WMS].[ProcessStages].[DocumentType]=[WMS].[ProcessTasks].[ProcessGroupId] oraz
    [WMS].[ProcessTasks].[ProcessGroupId]=[WMS].[ProcessGroups].[Id]

    czyli typem dla pozycji dokumentu przyjęcia jest: MovementDocumentPosition o Id=37 (WMS.ProcessGroups).

    modproc_rys27

    Po weryfikacji typu dokumentu należy wybrać kroki.

    modproc_rys28

    Mając wybrane kroki (w tym przypadku zaznaczone na czerwono) należy powiazać kroki z etapem przesunięcia
    w tabeli WMS.StageProcessTask.

    modproc_rys29

Czy ten artykuł był pomocny?