|
|
Strona 1 z 1
|
[ Posty: 8 ] |
|
Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerce
Autor |
Wiadomość |
zulusnet
Rejestracja: 2016-05-31, 22:53 Posty: 4
|
Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerce
Witam Panów i Panie, Symfoniane Guru.
Nasza firma w chwili obecnej posiada 2 stanowiska Handel i Magazyn w wersji najnowszej Symfonia 2.0 na Pervasive. Pod koniec sierpnia 2016 planujemy uruchomienie sklepu internetowego, oferującego produkty obcych firm (czyt. Dostawców zewnętrznych). W chwili obecnej trwają prace programistyczne nad sklepem (platforma spreeCommerce na RubyOnRails).
W tym momencie stoimy przed wyzwaniem związanym z integracją sklepu wraz z Programem HiM Symfonii. Wiem, że tematów podobnych było już kilka na forum, niemniej jednak od dwóhc dni przeglądam zawartość tej "zacnej" skarbnicy wiedzy i nic konkretnego nie znalazłem.
Póki co interesuje mnie jednostronna integracja pozwalająca automatyczny eksport z platformy sklepowej oraz import do bazy danych symfonii Zamówień obcych i Kontrahentów. Mój programista jest w stanie napisać odpowiedni konektor ze strony platformy sklepowej, niemniej jednak nie wiem jak to wrzucić do bazy danych. Jedyne co dowiedziałem się z postów, które udało mi się odkopać to to, że nie należy "ręcznie" wrzucać do bazy danych pervasive nowych rekordów bo, powiązania pomiędzy konkretnymi tabelami są na tyle skomplikowane, że łatwo można uszkodzić przechowywane dane.
W związku z powyższym do Państwa pytanie, czy faktycznie nie ma sensu bezpośredni "wrzut" danych do bazy pervasive i faktycznie jest to zbyt ryzykowne? a) Jeżeli tak, to wiem, że istnieje konektor w formie kontrolki COM (nazywa się to moduł integracji ITG) ale nie ma do niego żadnej dokumentacji udostępnionej publicznie. Czy ktoś mógłby coś poradzić w tym temacie ? b) Jeżeli nie, to czy ktoś pomógłby w rozszyfrowaniu struktury potrzebnych tabel wraz z ich powiązaniami w celu stworzenia takiego "konektora" ?
Pozdrawiam ZuLuS
|
2016-08-11, 20:55 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
marty123
Rejestracja: 2008-11-19, 13:48 Posty: 165 Pomógł: 3
|
Re: Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerc
Mogę ci opisać jak ja to zrealizowałem z Prestashop dla klienta.
W Prestashop napisałem wtyczkę, która po każdym zamówieniu eksportuje zamówienie do pliku. W Handlu w procedurze onTimer jest uruchamianie sprawdzanie katalogu z zamówieniami, jeśli znajdzie plik, zaczytuje do bufora sprzedaży i ewentualnie dodaje kontrahenta, dodatkowo czyści katalog po imporcie.
Sklep nie musi być na tym samym komputerze, bo w innym rozwiązaniu mam batcha, który okresowo ściąga zamówienia ze sklepu (ftp) do katalogu lokalnego importu.
Dodatkowo proponuje w sklepie dodanie możliwości ponownego eksportu na żądanie, czasami się przydaje a w opisie importowanego dokumentu dodanie ID zamówienia ze sklepu internetowego.
Rozwiązanie sprawdzone i działa automatycznie.
|
2016-08-12, 08:36 |
|
|
zulusnet
Rejestracja: 2016-05-31, 22:53 Posty: 4
|
Re: Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerc
Cześć dzięki za info. Pytania mam dwa do Ciebie w takim przypadku. Pytanie nr jeden, czy żeby procedura działała, to muszę fizycznie na serwerze mieć uruchomioną instancję programu Symfonia HiM ? czy wystarczy uruchomić jakiś skrypt ?
Po drugie czy możesz mi udostępnić treść tej procedury, tak żeby 2 razy nie wywarzać drzwi otwartych?
Z góry dzięki za informacje. Pozdrawiam Z.
|
2016-08-12, 13:44 |
|
|
marty123
Rejestracja: 2008-11-19, 13:48 Posty: 165 Pomógł: 3
|
Re: Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerc
Ad.1 Tak Handel musi działać, bo inaczej nie zadziała ontimer Ad.2. sama procedura to nic innego jak wykonanie raportu importu:
int sub OnTimer() Run("import sklep") OnTimer = 0 endsub
w samym imporcie jest kilka rzeczy sprawdzanych najpierw ale ta najważniejsza to istnienie pliku, od niej zależy dalszy import
dispatch fso = "Scripting.FileSystemObject" // funkcja sprawdza czy istnieje plik // 0 - jesli nie ma pliku int sub CzyJestPlik(string sNazwaPliku) if fso.FileExists( sNazwaPliku ) then CzyJestPlik = 1 exit endif CzyJestPlik = 0 endsub
Pozdrawiam Marcin
|
2016-08-12, 14:16 |
|
|
zulusnet
Rejestracja: 2016-05-31, 22:53 Posty: 4
|
Re: Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerc
Marcin dzięki za podpowiedzi. Dzisiaj zacząłem się bawić w pisanie skryptów (raportów), niemniej jednak staję na samym początku. Co w tym raporcie jest nie tak ? Nie działa mi sprawdzanie czy plik istnieje, tzn. funkcja FileExists z obiektu fso zwraca 0 zamiast 1. Oczywiście plik order.txt założyłem na potrzeby testów. Poza tym jeżeli to nie problem, to czy możesz mi podrzucić kod związany z importem zamówień obcych oraz dodawanie nowego kontrahenta z pliku ? Kod: dispatch fso = "Scripting.FileSystemObject" // funkcja sprawdza czy istnieje plik // 0 - jesli nie ma pliku
int sub CzyJestPlik(string sNazwaPliku) if fso.FileExists(sNazwaPliku) then message using "plik istnieje" CzyJestPlik = 1 exit endif message using "brak pliku" CzyJestPlik = 0 endsub
int sub importSklep() CzyJestPlik("D:\\order.txt") //kolejne elementy skryptu endsub
importSklep()
|
2016-08-12, 16:39 |
|
|
zulusnet
Rejestracja: 2016-05-31, 22:53 Posty: 4
|
Re: Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerc
Witam ponownie, niestety edytować poprzedniego posta już nie mogę. Z trudem ale udało mi się opanować temat błędu, który wyskakiwał używając poprzedniego kodu. Przepisałem raport na nowo i teraz wszystko jest ok. W tym momencie chciałbym opanować temat Obiektu IORec, który jak rozumiem powinienem użyć do importu Zamówień obcych z pliku. Używając następującego kodu testowego, który znalazłem gdzieś na forum: Kod: IOrec iorec1
iorec1.SetField("typDk", "ZMO") iorec1.SetField("seria", "sZMO") iorec1.SetField("khkod", "Testowy test")
iorec1.BeginSection("Pozycja dokumentu") iorec1.SetField("kod", "taboret") iorec1.SetField("ilosc", "2") iorec1.EndSection()
long id = iorec1.importZO()
iorec1.Clear()
if id == 0 then error "Import dokumentu do bufora nie powiódł się"
występuje błąd: Bład składni języka. 'importZO ' nie jest elementem struktury RECORD 'iorec1' Próbowałem użyć kilku innych metod tego obiektu, które znalazłem w Helpie dotyczącym AMBASICA, tj.: importzk(), importsp() i one działają, natomiast co do pożądanej importzo() niestety wywala błąd jak wyżej.
|
2016-08-12, 19:14 |
|
|
marty123
Rejestracja: 2008-11-19, 13:48 Posty: 165 Pomógł: 3
|
Re: Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerc
Aktualnie przebywam na urlopie, więc ciężko mi odpowiedzieć czemu nie działa importZO, sam robię to przez importSP()
Co do kontrahentów, to jest to na tej samej zasadzie co dokumenty przez iorec, jedyna róznica to przy aktualizacji na końcu jest: BasKh.PutRec() a przy wstawianiu BasKh.InsRec()
Pozdrawiam Marcin
|
2016-08-14, 14:30 |
|
|
kat
Rejestracja: 2014-01-13, 12:36 Posty: 48
|
Re: Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerc
ZuLuS, mamy coś takiego w ofercie. Nie widzę problemu aby dopisać konektor do Waszej platformy.
|
2016-09-08, 15:14 |
|
|
|
Strona 1 z 1
|
[ Posty: 8 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 21 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników
|
|
|
|