mojaSymfonia FORUM
https://forum.mix-soft.pl/

Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerce
https://forum.mix-soft.pl/viewtopic.php?f=16&t=7398
Strona 1 z 1

Autor:  zulusnet [ 2016-08-11, 20:55 ]
Tytuł:  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

Autor:  marty123 [ 2016-08-12, 08:36 ]
Tytuł:  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.

Autor:  zulusnet [ 2016-08-12, 13:44 ]
Tytuł:  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.

Autor:  marty123 [ 2016-08-12, 14:16 ]
Tytuł:  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

Autor:  zulusnet [ 2016-08-12, 16:39 ]
Tytuł:  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()

Autor:  zulusnet [ 2016-08-12, 19:14 ]
Tytuł:  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.

Autor:  marty123 [ 2016-08-14, 14:30 ]
Tytuł:  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

Autor:  kat [ 2016-09-08, 15:14 ]
Tytuł:  Re: Symfonia 2.0 Handel + integracja ze sklepem SpreeCommerc

ZuLuS, mamy coś takiego w ofercie.
Nie widzę problemu aby dopisać konektor do Waszej platformy.

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/