Niniejsza witryna wykorzystuje pliki cookies w celu świadczenia usług na najwyższym poziomie i w sposób dostosowany do indywidualnych potrzeb. Korzystanie z witryny bez zmiany ustawień dotyczących cookies oznacza, że będą one zamieszczane w urządzeniu końcowym. Informujemy, że masz możliwość samodzielnej zmiany ustawień dotyczących Cookies w swojej przeglądarce. Jeśli nie akceptujesz naszej Polityki Cookies opuść tę stronę internetową.
Jeżeli wyrażasz zgodę na zapisywanie informacji zawartej w cookies kliknij OK OK
Symfonia ERP Zarzadzanie Produkcja - instrukcja konfiguracji integracji z Symfonia ERP Handel (wszystkie wersje)
 
 
Data dodania 09.07.2019
modyfikacja: 24.07.2019
Kod : 636431431099923842_TEXT_226_15260

 

Spis treści

 

Symfonia ERP wersja 2020 2

Symfonia ERP wersje 2019.2, 2019.1 3

Symfonia ERP wersje starsze niż 2019.1 (2019, 2018.2, 2018.1 i starsze) 4

Rozwiązania dodatkowe - uwaga 6


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 Sage Symfonia ERP Zarządzanie Produkcją i Sage 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 Sage Symfonia ERP Zarządzanie Produkcją i Sage 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:

  1. Wgrać do programu Handel ERP raporty z folderu MFScripts znajdującego się w miejscu instalacji programu.
  2. 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.

  1. 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