Spis treści
Symfonia ERP wersje 2019.2, 2019.13
Symfonia ERP wersje starsze niż 2019.1 (2019, 2018.2, 2018.1 i starsze)
Symfonia ERP wersja 2020
Dostępne możliwości:
- Konfiguracja dotychczasowa wg instrukcji „od 2019.1”
- Konfiguracja bez wykorzystania procedury OnTimer – wg opisu poniżej
Nowa integracja wymiany danych z modułem Handel z wykorzystaniem OLE Automation.
Założenia:
- wyłączenie procedury OnTimer
- eliminacja opóźnień wystawiania dokumentów
- wystawianie dokumentów w kontekście użytkownika
Po zainstalowaniu lub aktualizacji do wersji 2020 w bazie danych pojawia się nowy parametr, który domyślnie ma wartość ustawioną w taki sposób aby Produkcja i Panele Meldunkowe działały tak jak dotychczas - czyli przy wykorzystaniu procedury OnTimer.
Od wersji SERP 2020 Moduł Zarządzanie Produkcją ma możliwość przełączenia trybu wymiany danych pomiędzy modułem HMF-PZF/PMF. Dotychczasowy tryb wymiany danych opierał się na cyklicznej weryfikacji pewnych obszarów w celu zaimportowania danych do modułu HMF. Nowy rozbudowany system wymiany danych nie korzysta z procedury OnTimer, zarządza wymianą danych bezpośrednio w aplikacji wykorzystując tryb OLE Automation: bezpośrednie uruchomienie modułu HMF w trybie bez interfejsu graficznego.
Przełączenie parametrów modułu nowy tryb integracji
Parametr znajduje się w tabeli: [MF].[ProductionSysSettings]
Gdzie [SettingID] = ‘MANUFACTURE_INTEGRATION’
Wartość wskazująca jaki tryb jest w chwili obecnej aktywny wskazuje kolumna [SettingValue]
[SettingValue] = 0 => aktywny Ontimer
[SettingValue] = 1 => aktywne OLE Automation
Przed rozpoczęciem prac w trybie integracji z OLE Automation należy za pierwszym razem uruchomić moduł Handel „ jako administrator”. Utworzony zostanie odpowiedni wpis do rejestru.
(wiersz gdzie [SettingID] = ‘MANUFACTURE_INTEGRATION_VISIBILITY’ wskazuje czy HMF ma pracować w trybie z UI lub bez ,domyślnie ustawione na ‘0’)
W Panelach Meldunkowych proces aktywacji HMI wygląda następująco:
Aby włączyć integracje w Panelach Meldunkowych należy uruchomić Panele i zalogować się na dowolnego pracownika, wtedy w tabeli [MF].[ProductionPanelSettings] utworzy się podkreślony poniżej rekord.
Wartość rekordu można zmienić w ustawieniach Produkcji zakładka: „Panel meldunkowy”

lub bezpośrednio w SQL Server Management studio
INSERT [MF].[ProductionPanelSettings] ([Type], [Name], [Description], [Value]) VALUES (N'GlobalSettings', N'UseOleAutomationIntegration', N'False - wyłącz. True - włącz integrację pomiędzy Handlem, a Panelem Meldunkowym', N'True')
Przy każdym uruchomieniu produkcji lub paneli meldunkowych po prawidłowym zalogowaniu się użytkownika - asynchronicznie sprawdzane są w/w parametry i jeśli tryb HMI jest aktywny uruchamiany jest HMF w trybie OLE Automation.
Symfonia ERP wersje 2019.2, 2019.1
Od wersji 2019.1 wszystkie pliki konfiguracyjne są automatycznie wgrywane przy instalacji lub konwersji bazy.
Do aktywacji wymiany danych należy włączyć procedury magazynowe i ontimer.
Linie odpowiedzialne za działanie wymiany danych są zakomentowane i należy je odkomentować (oznaczone zostały PZF):
Procedury magazynowe plik procmg.sc
int Sub OnBeforeEdit(long lId)
OnBeforeEdit = 0
//OnBeforeEdit = CheckDokWarehouse(lId, 1) //PZF
EndSub
int Sub OnBeforeDelete(long lId)
OnBeforeDelete = 0
//OnBeforeDelete = CheckDokWarehouse(lId, 2) //PZF
EndSub
int Sub OnBeforeAnuluj(long lId)
OnBeforeAnuluj = 0
//OnBeforeAnuluj = CheckDokWarehouse(lId, 1) //PZF
EndSub
Procedury magazynowe plik ontimer.sc
int sub OnOpen()
//SetCheckLogUserProd(uCase(xFactory.user),3) //PZF
endsub
int sub OnTimer()
//if uCase(xFactory.user) == uCase("Admin") then //PZF
//if SetCheckLogUserProd(uCase(xFactory.user),1) == 2 then
//if mProcStarted != 1 then
//mProcStarted=1
//db = ImportMFStockDocs()
//mProcStarted=0
//endif
//endif
//endif
endsub
int sub OnClose()
//SetCheckLogUserProd(uCase(xFactory.user),2) //PZF
endsub
Do poprawnej wymiany danych między programami Symfonia ERP Zarządzanie Produkcją i Symfonia ERP Handel konieczne jest wybranie użytkownika, w kontekście którego wystawiane będą dokumenty.
W pliku OnTimer należy wpisać login użytkownika, na którym będzie odbywała się wymiana danych. Domyślnie wpisany jest Admin.
Aby dokumenty wystawiane były na bieżąco wybrany użytkownik w HMF musi mieć status zalogowany.
*Istnieje możliwość nadpisania raportów, tak jak do wersji 2019b. Raporty znajdują się w folderze MSScripst.
Symfonia ERP wersje starsze niż 2019.1 (2019, 2018.2, 2018.1 i starsze)
Do poprawnej wymiany danych między programami Symfonia ERP Zarządzanie Produkcją i Symfonia ERP Handel konieczne jest wybranie użytkownika, w kontekście którego wystawiane będą dokumenty.
Aby dokumenty wystawiane były na bieżąco wybrany użytkownik w HMF musi mieć status zalogowany.
W celu umożliwienia wymiany danych między programami należy:
- Wgrać do programu Handel ERP raporty z folderu MFScripts znajdującego się w miejscu instalacji programu.
- Wpisać do raportu Procedura OnTimer login użytkownika, na którym będzie odbywała się wymiana danych.
|
int sub OnTimer() if uCase(xFactory.user) == uCase("Admin") then if SetCheckLogUserProd(uCase(xFactory.user),1) == 2 then if mProcStarted != 1 then
|
Raport dostępny jest w programie Handel -> Kartoteki -> Raporty -> Procedury -> Procedura OnTimer.
- W Parametrach pracy włączyć procedury :
- Dla dokumentu magazynowego
Procedura dla dokumentów magazynowych – wybór: TAK - Podczas tworzenia dokumentów magazynowych program wykonuje odpowiednie procedury napisane w języku raportów.

- Procedura OnTimer
Następnie należy wskazać procedurę OnTimer i uruchomić tryb jej edycji, a następnie w dolnej sekcji okna wybrać pozycję: TAK - Co 5 sekund program wywołuje procedurę języka raportów OnTimer

Po prawidłowej konfiguracji dokument wystawiony w module produkcyjnym automatycznie zostaje widoczny w programie Handel. W tak utworzonym dokumencie możliwa jest zmiana opisu, usuwanie, anulowanie oraz edycja są zablokowane.
|
Dokumenty wystawione w module Zarządzanie Produkcją należy korygować w module Zarządzanie Produkcją. |
Rozwiązania dodatkowe - uwaga
Pliki „procmg.sc”, „proctm.sc” podczas standardowej instalacji nadpisują oryginalne procedury programu.
Jeśli posiadają Państwo inne rozwiązania korzystające z w/w procedur należy wgrać pliki ręcznie:
Do instalacji ręcznej należy skopiować z plików linie oznaczone kolorem czerwony i wgrać je do istniejących już procedur z rozwiązaniami indywidualnymi.
//"proctm.sc","Procedura OnTimer","\Procedury\",0,1.0.0,SYSTEM
#include "Procedury Produkcja"
int mProcStarted = 0
int db
int sub OnOpen()
SetCheckLogUserProd(uCase(xFactory.user),3)
Endsub
int sub OnTimer()
if uCase(xFactory.user) == uCase("Admin") then
if SetCheckLogUserProd(uCase(xFactory.user),1) == 2 then
if mProcStarted != 1 then
mProcStarted=1
db = ImportMFStockDocs()
mProcStarted=0
endif
endif
endif
endsub
int sub OnClose()
SetCheckLogUserProd(uCase(xFactory.user),2)
endsub
//"procmg.sc","Procedury dokumentu magazynowego","\Procedury\",0,1.0.0,SYSTEM
#include "Procedury Produkcja"
…
int Sub OnBeforeEdit(long lId)
OnBeforeEdit = CheckDokWarehouse(lId, 1)
EndSub
…
int Sub OnBeforeDelete(long lId)
OnBeforeDelete = CheckDokWarehouse(lId, 2)
EndSub
..
int Sub OnBeforeAnuluj(long lId)
OnBeforeAnuluj = CheckDokWarehouse(lId, 1)
EndSub
Lokalizacja raportu z procedurami:
Raporty\Procedury\ Procedury dokumenty magazynowego
Raporty\Procedury\ Procedury OnTImer