| 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. |
| | 17 | System 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. |
| 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ę: |
| | 271 | Aby 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 |
| | 274 | int sub OnOpen() |
| | 275 | |
| | 276 | OnOpen = 0 |
| | 277 | endsub |
| | 278 | |
| | 279 | int 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 | |
| | 290 | endsub |
| | 291 | |
| | 292 | int sub OnClose() |
| | 293 | |
| | 294 | OnClose = 0 |
| | 295 | endsub |
| | 296 | |
| | 297 | }}} |
| | 298 | |
| | 299 | '''Uwaga!''' |
| | 300 | Jak już wspomniano powyżej aby OnTimer zadziałał, musi być uruchomiona instancja Forte HM na wybranym użytkowniku. |
| | 301 | Użytkownik b2b jest systemowym użytkownikiem b2b, który jest przeznaczony do tych zadań. |