Synchronizacja z Comarch ERP XL- najczęściej zadawane pytania
Synchronizacja danych z Comarch ERP XL do Comarch e-Sklep
Błąd podczas eksportu danych: Wystąpił nieoczekiwany błąd podczas wysyłania danych:Synchronization_ImportXML 16, 1 9420: XML parsing line 26, character 9837, illegal XML character
Komunikat informuje o tym, iż w powstającym pliku XML pojawiły się znaki niedozwolone. Mogą to być np. puste znaki. Problem najczęściej występuje wskutek bezpośredniego wklejenia treści tekstowych skopiowanych np. z Internetu i niezweryfikowanych w edytorze tekstowym.
Remedium:
W takiej sytuacji należy w pliku XML odnaleźć pole zawierające problematyczny znak przy użyciu poniższej instrukcji, a następnie, z poziomu XL-a usunąć zawartość tego pola i ponownie wpisać ręcznie, bądź po weryfikacji w edytorze tekstowym.
Instrukcja weryfikacji XML-a pod kątem występowania nieprawidłowych znaków:
Wywołać procedurę CDN.Esklep_EksportTwr; w otrzymanym wyniku, pliku XML zastąpić wszystkie apostrofy jakąś literą (np. a)
tak zmodyfikowany wynik wkleić w poniższe zapytanie:
declare @xml xml
set @xml = ‘<zawartość zwrócona przez procedurę>’
select @xml
i wybrać F5.
Jeżeli wynik zapytania zwraca błąd- oznacza to, że w obrębie towarów znajdują się towary z błędnymi znakami. W celu ich odnalezienia należy analizować wynik w sposób fragmentaryczny, tj:
w celu zawężenia obszaru poszukiwań podzielić wynik na dwie równe części i każdą z nich poddać ponownej analizie przy pomocy zapytania:
declare @xml xml
set @xml = ‘<zawartość zwrócona przez procedurę>’
select @xml
Jeżeli poszczególny wynik nie zwraca błędu, oznacza to, że w danym fragmencie nie ma towarów z błędnymi znakami,
Jeżeli poszczególny wynik zwraca błąd , należy ponownie postąpić wedle punktu 4)
Po odnalezieniu problematycznego towaru, należy odnaleźć pole, w którym występuje błąd. Najczęściej jest to nazwa towaru/opis. W tym celu należy usunąć zawartość pola i zweryfikować, wklejając w zapytanie podane w punkcie (4). W przypadku gdy problem jest z wartością atrybutu, należy usunąć tę wartość, a następnie ponownie wpisać ją ręcznie i wykonać synchronizacje.
Jeżeli znak nie zostanie odnaleziony przy pomocy analizy wyników CDN.ESKLEP_EksportTwr, wówczas w analogiczny sposób należy zanalizować procedurę CDN.ESKLEP_EksportGrup.
Cannot insert the value NULL into column ‘PdR_Price’, table ‘CDNeSklep_11969.CDN.Products’; column does not allow nulls. INSERT fails.
Komunikat pojawia się po stronie panelu administracyjnego w e-Sklepie i informuje o wystąpieniu jednej z dwóch poniższych sytuacji:
- na towarze/towarach wysyłanych do e-Sklepu brakuje ceny określonej na definicji oddziału jako cena aktualna. Aby zapobiec takiej sytuacji, należy przed dokonaniem eksportu do e-Sklepu dokonać weryfikacji, czy na wszystkich towarach, które mają zostać wyeksportowane znajduje się odpowiednia cena:
W przypadku, gdy na którymś z towarów brakuje ceny aktualnej, powyższa weryfikacja zwróci komunikat:
- na towarze wysyłanym do e-Sklepu ustalono cenę w walucie, która nie została zmapowana na oddziale e-Sklepu (Definicja oddziału/Waluty)
Błąd podczas dodawania atrybutów dla towaru: (Violation of PRIMARY KEY constraint ‘PK_Attachments’. Cannot insert duplicate key in object ‘CDN.Attachments’. The duplicate key value is (213)
Komunikat informuje nas o tym, iż do e-Sklepu wysyłany jest zduplikowany załącznik o ID 213.
Opis zdarzenia:|Błąd podczas eksportu danych: Wystąpił nieoczekiwany błąd podczas wysyłania danych:Synchronization_ImportProductsRelated 14, 1 2627: Violation of PRIMARY KEY constraint 'PK__#Product__DCE249BD17CE2A6B'. Cannot insert duplicate key in object 'dbo.#ProductsRelated'. The duplicate key value is (1, 5649, 8373, -2).
The statement has been terminated.|
Komunikat pojawia się po stronie loga automatycznej synchronizacji i informuje o tym, że do e-Sklepu wysyłane są zduplikowane zamienniki. W powyższym przypadku dla towaru o ID 5649 kilkukrotnie wysyłany jest zamiennik o ID 8373.
Remedium: Należy zweryfikować, czy na karcie towaru dany zamiennik znajduje się więcej, niż jeden raz.
Opis zdarzenia:|Błąd podczas eksportu danych: Wystąpił nieoczekiwany błąd podczas wysyłania danych:Synchronization_ImportProductsRelated 14, 1 2627: Violation of PRIMARY KEY constraint 'PK__#Product__DCE249BD17CE2A6B'. Cannot insert duplicate key in object 'dbo.#ProductsRelated'. The duplicate key value is (2, 5649, 8373, -2).
The statement has been terminated.|
Komunikat pojawia się po stronie loga automatycznej synchronizacji i informuje o tym, że do e-Sklepu wysyłane są zduplikowane komplety. W powyższym przypadku dla towaru o ID 5649 kilkukrotnie wysyłany jest komplet o ID 8373.
Remedium: Należy zweryfikować, czy na karcie towaru dany komplet znajduje się więcej, niż jeden raz.
Duplikacja kontrahenta o ID: 5516
Komunikat pojawia się w sytuacji, gdy do e-Sklepu wysyłanych jest wielu kontrahentów o adresie e-mail podanym na kontrahencie o ID 5516.
Remedium: Zmienić powtarzające się adresy e-mail na kontrahentach wysyłanych do e-Sklepu
Błąd podczas eksportu danych: Wystąpił błąd:[HRESULT=”0x80040e57” Description=”Wykonywanie instrukcji zostało przerwane.”HRESULT=”0x80040e57” Description=”Dane w postaci ciągu lub dane binarne zostaną obcięte.”]
Komunikat informuje o tym, iż w polach na wysyłanych towarach przekroczone zostały zakresy zmiennych dopuszczalnych w procedurach eksportujących dane do e-Sklepu.
Remedium: Najczęstszym powodem pojawiania się takiego komunikatu jest zbyt długa nazwa załączanego do synchronizacji z e-Sklepem pliku. Należy odszukać załącznik i skrócić nazwę lub też dokonać modyfikacji procedury CDN.ESKLEP_EksportTwr DABKOD zwiększając ilość znaków z 40. do 99.
Błąd podczas eksportu danych: Wystąpił nieoczekiwany błąd podczas wysyłania danych-5:CDN.Synchronization_ImportXML 16, 1 50000: Synchronizacja już trwa na innym stanowisku (Synchronization id already in progres)
Remedium: Wymagany jest kontakt z asystą e-Sklepu, Komunikat pojawi się w sytuacji, w której automat rozpoczyna synchronizacje w momencie gdy poprzednia synchronizacja jeszcze nie została zakończona lub wykonywanie ręcznej synchronizacji w momencie gdy włączony jest automat synchronizacji.
Błąd podczas eksportu danych: Błąd podczas tworzenia pliku XML:Wystąpił błąd [HRESULT=”0x80004005” Description=”Cannot continue the execution because the session is the kill state.”]
Remedium: Przyczyną może być wykonanie synchronizacji w trakcie restartu serwera
Synchronizacja danych z Comarch e-Sklep do Comarch ERP XL
Błąd podczas dodawnia zamówienia o ID=24481 - Kontrahent nie istnieje - <ZAM ID="24481" Typ="2" DataWystawienia="78941" DataWys="540386763" FormaPlID="2" FormaPl="PayU" SposobDostawy="Przesyłka kurierska [UPS] - Przelew" KosztPrzesylki="13.99" TypTransakcji="1" KodKraju="" Waluta="PLN" KntID="465" KntNazwa1="Beata Stawiarska" KntNazwa2="Marsh sp. z oo" KntNazwa3="" KntUlica="Niemcewicza" KntNrBudynek="26" KntNrLokal="66"KntKodP="02-306"KntMiasto="Warszawa" KntWojewodztwo="mazowieckie" KntNIP="" KntNIPUE=
Komunikat może świadczyć o nieprawidłowości w mapowaniu kontrahenta w Comarch ERP XL oraz w Comarch e-Sklep i tym samym braku wpisu w tabeli cdn.PicoLog, w której znajdują się powiązania GIDNumerów obiektów w bazie systemu z ID obiektów w bazie e-Sklepu.
Remedium:
W razie braku wpisu na danego kontrahenta należy wykonać update wedle poniższego wzoru:
INSERT INTO CDN.PicoLog
VALUES
(PcL_ID, ID oddziału e-Sklep, 32, GIDNumer kontrahenta w bazie systemu, KntID, null, 'Kontrahent-KntNazwa1', '', DATEDIFF(s,convert(datetime,'1990-01-01',120),'2017-02-28 15:50:09.000'))
Można również zweryfikować czy w tabeli cdn.PicoLog znajduje się wpis dla danego kontrahenta. W przypadku braku wpisu należy dodać wpis w PicoLog (po uprzednim wykonaniu backupu bazy danych) poprzez odpowiedni insert.
Przy samym insercie trzeba zwrócić uwagę na 3 pola:
Pcl_ObiektID - id kontrahenta w e-Sklepie
PcL_Obinumer - GIDnumer kontrahenta w bazie XL
PcL_PcKID – ID Oddziału esklepu (należy zwrócić uwagę czy został utworzony nowy oddział w tym czasie)
Poniżej przykładowy wpis dla kontrahenta o GIDnumerze 25, ID 17 w sklepie dla oddziału sklepu o ID 9.
Błąd podczas dodawania nagłówka zamówienia o ID=1-XLNowyDokumentZam(33) <ZAM ID=”1”Typ=”2”DataWystawienia=”77977”(…)
Komunikat zwracany przez API XLNowyDokumentZam(33) świadczy o tym, iż operator wykonujący synchronizację ręczną/zalogowany do automatu synchronizacji/zalogowany do usługi synchronizacji nie posiada uprawnień do modułu Zamówień jak również sytuację, w której operator ma uprawnienia, lecz w momencie logowania do systemu licencja na ten moduł nie był dostępna na kluczu i nie została pobrana.
Remedium: Należy zaznaczyć moduł Zamówienia na operatorze, opcjonalnie przelogować moduł Administratora Oddziałów. Jeżeli operator posiada zaznaczony moduł Zamówień, należy zweryfikować czy na kluczu znajduje się wolna licencja.
Błąd podczas dodawania kontrahenta ESKL2_19 – NowyKontrahentSQL(61) - <KNT ID=”19” GIDNumer=”-1”(…)
Komunikat zwracany przez API NowyKontrahentSQL(61) zwracany jest w przypadku utraty sesji na operatorze wykonującym synchronizację ręczną/zalogowanym do automatu lub usługi.
Remedium: Należy ponownie zalogować operatora poprzez ponowne uruchomienie CDNSynchro bądź Administratora Oddziałów.
Błąd podczas dodawania nagłówka zamówienia o ID=605 – XLNowyDokumentZam(51) <ZAM ID=”605”Typ=”2”(…)
Komunikat zwracany przez API XLNowyDokumentZam(51) zwracany jest w przypadku gdy do systemu próbuje się zaimportować zamówienie złożone na kontrahenta archiwalnego.
Remedium: Odznaczyć archiwalność kontrahenta w celu wczytania dokumentu.
Błąd podczas dodawnia nagłówka zamówienia o ID=68 - XLNowyDokumentZam(2) <ZAM ID="68" Typ="1" DataWystawienia="78972" DataWys="543072806" FormaPlID="3" FormaPl="Przelew bankowy" SposobDostawy="Przesyłka kurierska" KosztPrzesylki="20.00" TypTransakcji="1" KodKraju="" Waluta="PLN" KntID="541" KntNazwa1="Aflofarm Farmacja Polska" KntNazwa2="" KntNazwa3="" KntUlica="Partyzancka" KntNrBudynek="133" KntNrLokal="151/" KntKodP="95-200" KntMiasto="Pabianice" KntWojewodztwo="łódzkie" KntNIP="7311821205" KntNIPUE=""
Komunikat może być powiązany z komunikatem NowyAdres(2) oznaczającym- Wystąpił błąd przy próbie zablokowania tabel dla wykonania transakcji.
Problem występuje podczas insertu na bazę danych podczas importu z e-Sklepu. Przyczyna: brak uprawnień użytkowników od strony serwera SQL bądź dodatkowe rozwiązania.
Błąd podczas dodawnia nagłówka zamówienia o ID=15250 BŁĘDY [Brak praw do dokumentu. (NowyDokumentZam-41)
Rozwiązaniem problemu może być wykonanie update na bazie:
Update cdn.konfig set kon_wartosc=0 where kon_numer=-143.
Błąd podczas importu danych – Procedura CDN.XLNowaReklamacja zwróciła błąd nr 3
Remedium: Numer 3 wskazuje na brak dokumentu reklamowanego lub towaru. Należy wykonać zmianę statusu reklamacji w panelu administracyjnym e-Sklepu oraz ponowić synchronizację.
Problemy techniczne
Komunikaty związane z wystąpieniem Timeout podczas automatycznej synchronizacji danych mogą być związane ze zbyt dużą ilością danych, które system próbuje wysłać w zbyt krótkim czasie. W takiej sytuacji należy zweryfikować, jaki typ synchronizacji cennika został wybrany na definicji oddziału. W razie wystąpienia problemu należy wybrać eksport różnicowy:
Pomimo prawidłowo zdefiniowanej usługi synchronizacji dla oddziału e-Sklepu synchronizacja danych nie wykonuje się.
Remedium: Należy zweryfikować, czy w zmiennej środowiskowej %PATH% podano ścieżkę do jednej tylko, aktualnie zainstalowanej wersji XL-a, w której baza współpracuje z aplikacją Comarch ERP e-Sklep.
Najczęściej zadawane pytania
Czy można zasilić Comarch e-Sklep innym sposobem, niż synchronizacja z systemem ERP?
Comarch e-Sklep można zasilić wyłącznie poprzez synchronizację z systemem ERP tj. XL, Altum, Optima, XT oraz Enterprise. W przyszłości planowane jest również funkcjonowanie e-Sklepu jako standalone.
Synchronizacja z Comarch e-Sklep przebiega bezbłędnie, jednak po stronie e-Sklepu nie widać żadnych towarów.
Należy zweryfikować, czy na towarach, które mają być wysyłane do e-Sklepu zaznaczono parametr dostępności w aplikacji. Ponadto grupa wybrana na oddziale e-Sklepu musi posiadać podgrupy towarowe.
W jaki sposób uruchomić synchronizację automatyczną z e-Sklepem?
W celu uruchomienia synchronizacji automatycznej należy na oddziale e-Sklepu zaznaczyć parametr Synchronizacja automatyczna oraz z poziomu katalogu XL-a uruchomić komponent CDNSynchro.
W jaki sposób uruchomić synchronizację z e-Sklepem przy pomocy usługi?
W celu uruchomienia synchronizacji przy pomocy usługi należy na oddziale e-Sklepu zaznaczyć parametr Synchronizuj z wykorzystaniem usługi. Należy ponadto zdefiniować odpowiednią usługę z poziomu Administratora oddziałów.
Na definicji załącznika został zaznaczony parametr dostępności w e-Sklepie. Na karcie towarowej, w zakładce Załączniki również został zaznaczony parametr dostępności w e-Sklepie dla danego załącznika. Mimo to zdjęcie główne nie jest wysyłane do e-Sklepu.
Należy zweryfikować jaką pozycję na liście załączników przypiętych do towaru zajmuje to zdjęcie. Jako zdjęcie główne wysyłane jest pierwsze zdjęcie z listy załączników.
W jaki sposób prawidłowo udostępnić załącznik towaru do e-Sklepu?
Załącznik dodajemy na karcie towarowej, w zakładce załączniki, wykorzystując przycisk import z pliku , załącznik musi spełnić wymagania co do rozmiaru, typu pliku oraz wymiarów. Dostępność w e-Sklepie zatwierdzamy poprzez zaznaczenie na zakładce Ogólne załącznika przycisku e-Sklep. Jeżeli przycisk nie był zaznaczony a wykonaliśmy synchronizację, ważne jest również aby upewnić się, że dostępność e-sklep jest także zaznaczona w zakładce Obiekty.