Przeszukaj Bazę wiedzy po słowach kluczowych
Wydruki w ERP Optima
Futuriti WMS i Comarch ERP Optima
Automatyczne wydruki dokumentów WZ
1. Cel i zakres
Instrukcja opisuje konfigurację automatycznego drukowania dokumentu WZ utworzonego w Comarch ERP Optima po zakończeniu realizacji dokumentu magazynowego w Futuriti WMS. Przykład wykorzystuje atrybut dokumentu do określenia, czy dany WZ ma trafić do drukarki.
Najważniejszy warunek. Futuriti Connector jedynie generuje wydruk w Optimie i zapisuje go jako PDF. Fizyczny wydruk wykonuje osobny program AlpolWorkflowPrinter, który musi działać stale albo być uruchamiany cyklicznie z argumentem print_files.
2. Przepływ automatycznego wydruku
| Etap | Komponent | Działanie | Wynik |
| 1 | Futuriti Connector | Zleca Optimie wykonanie wydruku WZ i zapisuje wynik w skonfigurowanym katalogu. | Plik PDF |
| 2 | AlpolWorkflowPrinter | Pobiera plik wskazany przez PrintFilesQuery i wysyła go do przypisanej drukarki. | Wydruk fizyczny |
W przykładzie dokument jest przekazywany do drukarki tylko wtedy, gdy zawiera atrybut PONIEDZIAŁEK o wartości Poniedziałek1. Wartość NIE wyklucza dokument z wydruku.
3. Warunki wstępne
- Dostęp administracyjny do konfiguracji Comarch ERP Optima.
- Dostęp do bazy Futuriti WMS i możliwość zmiany konfiguracji procesów AlpolWF.
- Znajomość identyfikatora wzorca wydruku WZ w bazie konfiguracyjnej Optimy.
- Istniejący katalog zapisu plików PDF dostępny dla kont uruchamiających Connector i AlpolWorkflowPrinter.
- Skonfigurowana drukarka widoczna dla konta uruchamiającego AlpolWorkflowPrinter.
Bezpieczeństwo konfiguracji. Przed zmianą PrintFilesQuery zapisz jego bieżącą wartość. Zastąpienie zapytania może wpłynąć na inne scenariusze korzystające z tego samego kanału drukowania.
4. Konfiguracja atrybutu w Comarch ERP Optima
Definiowanie atrybutu
- Otwórz menu Ogólne i wybierz Atrybuty
- Przejdź na zakładkę Dokumentu
- Dodaj atrybut Ustaw Kod na PONIEDZIAŁEK i Nazwę na Poniedziałek
Przypisanie atrybutu do kontrahenta
- Otwórz kartę kontrahenta
- Przejdź na zakładkę Atrybuty
- Dodaj atrybut PONIEDZIAŁEK
- Wpisz wartość NIE
- Włącz parametr Przenosić na transakcje
Od tej chwili nowe zamówienie RO utworzone dla kontrahenta otrzyma atrybut PONIEDZIAŁEK z domyślną wartością NIE.
Kopiowanie atrybutu z RO na WZ
Przejdź do Start > Konfiguracja > Firma > Ogólne > Parametry i włącz opcję Kopiuj atrybuty na dokumenty powiązane. Ustawienie umożliwia przeniesienie wartości atrybutu z zamówienia RO na dokument WZ utworzony podczas realizacji w WMS.
Przed uruchomieniem drukowania sprawdź na dokumencie testowym, czy atrybut został poprawnie przeniesiony z RO na WZ.
5. Aktywacja procesów Connectora
W bazie Futuriti WMS ustaw IsActive = 1 w tabeli AlpolWF.ProcessDefinition dla procesów odpowiedzialnych za zlecenie i wygenerowanie wydruku:
- ConnectorWMS – Wyślij zapytanie o wykonanie wydruku dokumentu
- ConnectorWMS – Generuj wydruk w ERP
Nazwy procesów mogą różnić się między wersjami systemu. Przed zmianą zidentyfikuj właściwe rekordy na podstawie nazw i sprawdź ich przeznaczenie.
6. Konfiguracja parametrów wydruku
W tabeli AlpolWF.ProcessDefinitionParameter odszukaj parametry procesu ConnectorWMS – Wyślij zapytanie o wykonanie wydruku dokumentu i ustaw wartości odpowiednie dla instalacji.
| Parametr | Przykład | Znaczenie | Uwagi |
| PrintId | 1011 | Identyfikator wzorca wydruku w bazie konfiguracyjnej Optimy. | Ustal osobno dla danej instalacji. |
| IsStandardPrint | 1 | Wydruk standardowy Optimy. | Wartość zgodna z przykładem. |
| IsPrintRelatedDocument | 1 | Drukowanie dokumentu WZ powiązanego z dokumentem WM. | Wymagane w tym scenariuszu. |
| PrintSaveFilePath | C:\!Futuriti_programy\WYDRUKI_WMS\WYDRUKI | Katalog zapisu wygenerowanych plików PDF. | Katalog musi istnieć i mieć właściwe uprawnienia. |
| PrintLabel | opcjonalnie | Niestandardowa etykieta wydruku. | Pozostaw zgodnie z wymaganiami instalacji. |
| PrintFilter | pusta wartość | Filtr przekazywany do Optimy. | Warunek atrybutu obsługuje PrintFilesQuery. |
Jeśli podasz identyfikator we właściwości PrintId, wybrany wzorzec nie musi być ustawiony w Optimie jako domyślny.
7. Konfiguracja PrintFilesQuery
PrintFilesQuery wskazuje rekordy wydruków, które AlpolWorkflowPrinter ma przekazać do fizycznej drukarki. Poniższy przykład wybiera wyłącznie dokumenty WZ z atrybutem PONIEDZIAŁEK o wartości Poniedziałek1.
Przed uruchomieniem zapytania zastąp wartości instalacyjne:
- [NAZWA_BAZY_OPTIMA] – nazwa bazy firmowej Optimy
- DRUKARKA – kod instancji AlpolWorkflowPrinter
- MouldId, ObjectTypeId, ObjectType2Id i ProcessActionId – identyfikatory zgodne z wersją i konfiguracją systemu
- 1011 – identyfikator właściwego wzorca wydruku WZ
UPDATE AlpolWMS.ExternalPrinterConfiguration
SET PrintFilesQuery = N’
SELECT
p.Id,
”DRUKARKA” AS ExternalUsername
FROM AlpolWF.Printings p WITH (NOLOCK)
WHERE p.MouldId = 48
AND p.ObjectTypeId = 202
AND p.ObjectType2Id = 1011
AND ISNULL(p.SkipPrinter, 0) = 0
AND EXISTS
(
SELECT 1
FROM [NAZWA_BAZY_OPTIMA].CDN.DokAtrybuty WmsAtr WITH (NOLOCK)
JOIN [NAZWA_BAZY_OPTIMA].CDN.DefAtrybuty WmsDef WITH (NOLOCK)
ON WmsDef.DeA_DeAId = WmsAtr.DAt_DeAId
JOIN [NAZWA_BAZY_OPTIMA].CDN.DokAtrybuty PrintAtr WITH (NOLOCK)
ON PrintAtr.DAt_TrNId = WmsAtr.DAt_TrNId
JOIN [NAZWA_BAZY_OPTIMA].CDN.DefAtrybuty PrintDef WITH (NOLOCK)
ON PrintDef.DeA_DeAId = PrintAtr.DAt_DeAId
WHERE WmsDef.DeA_Kod = N”AlpolWmsDocumentId”
AND WmsAtr.DAt_WartoscTxt = CONVERT(NVARCHAR(50), p.ObjectId)
AND PrintDef.DeA_Kod = N”PONIEDZIAŁEK”
AND PrintAtr.DAt_WartoscTxt = N”Poniedziałek1”
)
AND NOT EXISTS
(
SELECT 1
FROM AlpolWF.Task t WITH (NOLOCK)
WHERE t.ProcessActionId = 16
AND t.ProcessObjectId = p.Id
)
’
WHERE ExternalName = N’DRUKARKA’;
Najpierw uruchom samą część SELECT i sprawdź wynik dla jednego dokumentu przeznaczonego do druku oraz jednego dokumentu wykluczonego. Dopiero po potwierdzeniu działania wykonaj UPDATE.
8. Uruchamianie AlpolWorkflowPrinter
Aby przekazywać wygenerowane pliki PDF do drukarki, uruchamiaj program z argumentem print_files:
C:\!Futuriti_programy\AlpolWorkflowPrinter_DRUKARKA\AlpolWorkflowPrinter.exe print_files
Jeżeli aplikacja nie działa jako stale uruchomiony worker, utwórz cykliczne zadanie w Harmonogramie zadań Windows. Przykładowy interwał to jedna minuta.
| Pole | Wartość |
| Program | C:\!Futuriti_programy\AlpolWorkflowPrinter_DRUKARKA\AlpolWorkflowPrinter.exe |
| Argumenty | print_files |
| Katalog roboczy | C:\!Futuriti_programy\AlpolWorkflowPrinter_DRUKARKA |
Konto uruchamiające zadanie musi mieć dostęp do bazy WMS, katalogu z plikami PDF, skonfigurowanej drukarki oraz prawa do uruchamiania AlpolWorkflowPrinter.
9. Przebieg procesu
- Operator tworzy zamówienie RO w Optimie.
- Atrybut PONIEDZIAŁEK otrzymuje domyślną wartość NIE.
- Jeśli dokument ma zostać wydrukowany, operator zmienia wartość na Poniedziałek1.
- Magazynier realizuje i zatwierdza dokument WM w Futuriti WMS.
- Connector tworzy w Optimie powiązany dokument WZ i zapisuje jego wydruk jako PDF.
- PrintFilesQuery kwalifikuje plik do druku, a AlpolWorkflowPrinter przekazuje go do drukarki.