Zmiany pomiędzy wersją 15 and wersją 16 dla DeployerGuide/Customization/Forte/ForteOnTimer

Pokaż
Ignoruj:
Data i czas:
11/15/12 12:25:29 (12 years temu)
Autor:
jachtelik (IP: 213.227.67.33)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • DeployerGuide/Customization/Forte/ForteOnTimer

    v15 v16  
    88  * [#tworzenie_skryptu Tworzenie skryptu VBA realizującego zadania importu][[BR]] 
    99  * [#sbc Umieszczanie skryptu VBA w dokumentach typu SBC][[BR]] 
    10   * [#przygotowanie_procedury Przygotowanie procedury "Generowanie zamówienia obcego z eDokumentów"] 
     10  * [#przygotowanie_procedury Przygotowanie procedury "Generowanie zamówienia obcego z eDokumentów"][[BR]] 
     11  * [#ontimer_on Konfiguracja procedury OnTimer()] 
    1112 
    1213Niniejszy artykuł jest częścią opisu dostępnego pod adresem [DeployerGuide/Customization/Forte Integracja z Forte] 
     
    1415== Wprowadzenie == #wprowadzenie 
    1516 
    16 Dla celów integracji z systemem można wykorzystać mechanizm procedur dostępny w systemie Forte (HM). Procedura jest to pewnego rodzaju raport, który napisany jest w języku stworzony przez Sage Symfonię: ''!AmBasic''.  
    17 Jedną z takich procedur jest raport '''!OnTimer()''', który może być uruchamiany w określonych interwałach czasu. 
     17System Forte HM oferuje wiele możliwości wykonania procedur, które można wykorzystać w procesie integracji. Są to: 
     18 * język raportów '''!AmBasic''' - język skryptowy własny dostępny w Handlu Forte, który umieszczamy bezpośrednio w raporcie, jest kombinacją języka VB oraz C, nie posiada dobrej dokumentacji (ta co jest, to załączam do niniejszej instrukcji). 
     19 * język '''VBA''', czyli Visual Basic For Applications - produkt wykorzystywany przez Microsoft m.in. w produktach pakietu Office. Jest dość okrojona wersja Visual Basic-a, ale do tych potrzeb jest po prostu wystarczająca. 
    1820 
    1921''Przejdź do [#ontimer Menu ] 
     
    241243 
    242244 
    243 Dispatch App, Doc 
    244  
    245 App = GetApplication() 
     245Dispatch App, Doc // deklarowanie obiektów 
     246 
     247App = GetApplication() //ustawienie stanu obiektu 
     248// wywołanie uruchomienia dokumentu SBC 
    246249Doc = App.Documents.OpenDocument("C:\\Users\\ztestowy\\documents\\Sage\\EdokGenZO.sbc") 
    247250 
    248251}}} 
    249252 
    250 === Włączanie działania !OnTimer() === #ontimer_on 
     253Po zapisaniu takiego raportu (możemy dla testów wykonać) należy skonfigurować procedurę OnTimer. 
     254 
     255''Przejdź do [#ontimer Menu ]'' 
     256 
     257 
     258=== Konfiguracja procedury !OnTimer() === #ontimer_on 
     259 
     260Procedura !OnTimer() jest specyficznego rodzaju raportem, który systemowo posiada możliwość jego wywołania w zadanym interwale czasu. Domyślną wartością jest 5 sek, lecz może ona być dostosowana w plikach konfiguracyjnych. 
     261 
     262Konfiguracja !OnTimer() 
    251263 
    252264 * Mając odpowiednie uprawnienia administratora w systemie Forte HM Z lewego panelu wybieramy menu Ustawienia.  
     
    255267 * Po zaznaczeniu !OnTimer wybieramy edytuj i wybieramy TAK, a następnie zapisujemy. 
    256268 
    257 === Informacje o możliwościach wykorzystania procedury !OnTimer() === #wykorzystanie_ontimer 
    258269Mając już włączony mechanizm wykonywania raportu !OnTimer musimy wykonać raport. 
    259270Raport jest opcjonalny, gdyż wszystkie niezbędne instrukcje można oczywiście ująć w !OnTimerze. 
    260  
    261 HMF ofertuje wiele możliwości wykonania procedur. Są to: 
    262  * język raportów '''!AmBasic''' - język skryptowy własny dostępny w Handlu Forte, który umieszczamy bezpośrednio w raporcie, jest kombinacją języka VB oraz C, nie posiada dobrej dokumentacji (ta co jest, to załączam do niniejszej instrukcji). 
    263  * język '''VBA''', czyli Visual Basic For Applications - produkt wykorzystywany przez Microsoft m.in. w produktach pakietu Office. Jest dość okrojona wersja Visual Basic-a, ale do tych potrzeb jest po prostu rewelacyjna. 
    264  
    265 Na potrzeby integracji sugeruje się wykorzystać język VBA. Import danych do Forte HM (na przykładzie generowania dokumentu '''Zamówienia Obcego''' przedstawiam poniżej. 
    266   
    267  4. Aby wywołać powyższy skrypt dodajemy w tym samym module metodę: 
     271Aby skonfigurowana procedura !OnTimer() wykonała dla nas konkretną czynnność należy zmienić jej kod. W tym celu odszukujemy w drzewku ''Raporty > Procecdury '' raport ''Procedura !OnTimer''. Edytując ją wprowadzamy kod: 
     272{{{ 
     273#text/x-vba 
     274int sub OnOpen() 
     275 
     276        OnOpen = 0 
     277endsub 
     278 
     279int sub OnTimer() 
     280 
     281        If xFactory.user == "b2b" then // użytkownik, który stale ma uruchomioną instancję Forte HM. 
     282 
     283        //Wywołanie raportu generującego dokumenty zamówień obcych z eDokumentów 
     284        Run ("Generowanie zamówienia obcego z eDokumentów")  
     285        //      Message "OnTimer()" 
     286        EndIf 
     287 
     288        OnTimer = 0 
     289 
     290endsub 
     291 
     292int sub OnClose() 
     293 
     294        OnClose = 0 
     295endsub 
     296 
     297}}} 
     298 
     299'''Uwaga!''' 
     300Jak już wspomniano powyżej aby OnTimer zadziałał, musi być uruchomiona instancja Forte HM na wybranym użytkowniku. 
     301Użytkownik b2b jest systemowym użytkownikiem b2b, który jest przeznaczony do tych zadań.