Skocz do zawartości

Eksport do EN (BETA)

Polecane posty

  • 1 miesiąc temu...

EKSPORTOWAŁEM plik i pokazuje błąd  a nic nie zmieniałem w ustawieniach mogę podeślą plik ten co wysłałem

 

 

Plik jest niezgodny ze schematem (EN:12705)

Element '{http://www.sello.pl/export}ExportData':'>http://www.sello.pl/export}ExportData': No matching global declaration available for the validation root. (linia:1) (EN:12706)

Element '{http://www.sello.pl/export}ExportData': No matching global declaration available for the validation root. (linia:1) (EN:12706)

Przesłano plik nieznanego typu (EN:10737)

 

Link to postu
  • 2 miesiące temu...

[/b]Zbiorcza transformata z załącznika składa się z moich przerobionych pojedynczych transformat i zawiera wprowadzone przeze mnie pola:[/color]

-PniUP,

-ten ulepszony wybór prefiksu komórkowego,

-wprowadzenie w polach opis nicku i numeru tel klienta,

 

Każdy musi ją przerobić pod siebie lub łatwiej stworzyć własną zbiorczą na podstawie swoich pojedynczych transformat i swojego nazewnictwa sposobów wysyłki z Sello bo inaczej nie będzie działać.

 

Po podwyżce poleconego e-commerce, muszę kombinować i zarazem w końcu zrobić porządną transformatę zbiorczą, w związku z tym mam pytanie do autora zbiorczej transformaty ;)

 

Możesz mi napisać w jakim celu w polu Opis i Opis2 dodajesz nick i telefon ?

 

Poza tym czym te pola się od siebie różnią, oba są wykorzystywane ?

 

 

Link to postu

Po podwyżce poleconego e-commerce, muszę kombinować i zarazem w końcu zrobić porządną transformatę zbiorczą, w związku z tym mam pytanie do autora zbiorczej transformaty ;)

Ale mi zadałeś pytanie po ponad dwóch latach od stworzenia rozwiązania, do którego przez cały ten czas nie musiałem zaglądać - raz stworzone i działa do tej pory bez żadnego serwisowania. Ach... gdyby wszystko tak działało ;)

 

Możesz mi napisać w jakim celu w polu Opis i Opis2 dodajesz nick i telefon ?

 

Poza tym czym te pola się od siebie różnią, oba są wykorzystywane ?

 

To było tak jak wtedy napisałem:  

C. Pojedyncze transformaty składają się w skrócie z:

1. Górnej części – te z danymi nadawcy, numerem umowy, itp. – w zbiorczej można wymienić te dane tylko jeden raz.

2. Potem są dane z komentarzami dla konkretnych przesyłek np opis przesyłki, gabaryt – w zbiorczej te dane należy również wprowadzić raz w górnej części i nie mogą się powtórzyć – np. pole opis jeśli jest inne dla przesyłek firmowych, a inne dla biznesówek (ja poniżej takie podwójne pola nazwałem dopisując 2 i dopisałem też 2 w dolnej części transformaty już w konkretnej przesyłce żeby wprowadzały się prawidłowe dane

 

Nie można mieć pola o jednej nazwie np. "opis" wykorzystywanego 2x w zbiorczej transformacie i stąd dwie różne nazwy. Czyli pole opis stosuję w przesyłce firmowej, a pole opis2 w pocztex kurier 48 (albo na odwrót). Pole odpowiada za opis w tych przesyłkach, można sobie wpisać co się chce. Ja w obu wpisałem to samo więc jest 2x powtórzone to samo.

 

Na etykiecie adresowej w polu z opisem drukuje się nick klienta i jego telefon.

 

1. W przesyłce firmowej opis drukuje się w lewym górnym rogu pod danymi nadawcy czyli moimi. W przesyłce firmowej w danych adresowych Poczta nie drukuje numeru telefonu klienta więc jak chce się go podać to musi być w tym polu. Nie wiem czy ktoś dzwoni do odbiorcy ale może się zdarzyć więc podaję telefon odbiorcy na zasadzie:

"telefon odbiorcy: xxxxxx" 

 

2. W Pocztex48 opis drukuje się w polu opis. Wtedy bodajże Poczta nie podawała telefonu klienta w danych adresowych więc gdzieś musiałem go wpisać. Telefon klienta w polu adresowym Poczta zaczęła dodawać chyba później. Więc teraz najwyżej drukuje się w dwóch miejscach.

 

A nicki klientów wykorzystuję do dopasowania etykiety do paczki. Jak szybko coś pakujemy to na paczce piszemy tylko nick klienta więc po tym dopasowujemy.

 

 

PS

Jak będziesz chciał stworzyć transformatę dla większej liczby przesyłek to chyba będziesz musiał zastosować ten model importowania pojedynczych transformat z pliku, o którym później pisał Ks. Robak bo może Ci się nie zmieścić wszystko w Sello. Pole miało jakiś limit i chyba nic z tym nie było robione.

 

Link to postu

Nie można mieć pola o jednej nazwie np. "opis" wykorzystywanego 2x w zbiorczej transformacie i stąd dwie różne nazwy. Czyli pole opis stosuję w przesyłce firmowej, a pole opis2 w pocztex kurier 48 (albo na odwrót).

Ok już kumam

Jak będziesz chciał stworzyć transformatę dla większej liczby przesyłek to chyba będziesz musiał zastosować ten model importowania pojedynczych transformat z pliku, o którym później pisał Ks. Robak bo może Ci się nie zmieścić wszystko w Sello. Pole miało jakiś limit i chyba nic z tym nie było robione.

No właśnie chcę zrobić to dla 4 rodzajów przesyłek (listy polecone, biznesowe,paczka24 i firmowe), to kiepsko jeżeli się ma nie zmieścić.

Link to postu

Jak będziesz chciał stworzyć transformatę dla większej liczby przesyłek to chyba będziesz musiał zastosować ten model importowania pojedynczych transformat z pliku, o którym później pisał Ks. Robak bo może Ci się nie zmieścić wszystko w Sello. Pole miało jakiś limit i chyba nic z tym nie było robione.

No właśnie chcę zrobić to dla 4 rodzajów przesyłek (listy polecone, biznesowe,paczka24 i firmowe), to kiepsko jeżeli się ma nie zmieścić.

Tu się zaczyna o tym limicie:

https://forum.sello.pl/index.php?topic=6309.msg42736#msg42736

i dalej leci o imporcie, aż do tego rozwiązania Ks. Robaka na następnej stronie:

https://forum.sello.pl/index.php?topic=6309.msg42871#msg42871

W ten sposób to nawet będzie bardziej przejrzyście.

 

Albo sprawdź opisy następnych wersji Sello czy coś pisali o zwiększeniu limitu w polu eksportu.

Link to postu

Myślę, że zrobienie transformaty zaciągającej inne transformaty jest równie proste.

Wystarczy zamiast treści transformaty danego typu (np. 852), czyli po ifie jak np.

 


<xsl:if test="s:DeliveryMethod/s:DeliveryName='Pocztex Kurier48'">

 

dać

 


<xsl:import href="C:\sciezka do transformaty\852.xslt"/>

 

z treścią tego co jest obecnie w ifie.

 

Osobiście nie widzę w tym żadnej korzyści, ale jak ktoś często zmienia transformaty, to łatwiej mu będzie odnaleźć interesujący fragment kodu.

 

 

 

 

KS.Robak próbuje wdrożyć Twoje rozwiązanie i niestety coś źle robię, bo dostaję taki komunikat:

 

Obiekt Wynik

 

Zbiorcza Keyword xsl:import may not be used here.

 

zrobiłem tak:

 

<xsl:if test="s:DeliveryMethod/s:DeliveryName='List polecony ekonomiczny'">
<xsl:import href="D:\!EN\Transformaty\firmowa_845.xslt"/>
</xsl:if>

a transormata:

zaczyna się:

<xsl:element name="Przesylka">
....
</xsl:element>

Link to postu

Nie musisz tego rozbijać na kilka plików, możesz taką transformatę mieć na dysku w jednym, pliku, wtedy w Sello już nie robisz warunków tylko importujesz całość przykładowo:

 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.sello.pl/export">
<xsl:import href="C:\transformata\zbiorcza.xsl"/>
</xsl:stylesheet>

 

 

Link to postu

Nie musisz tego rozbijać na kilka plików, możesz taką transformatę mieć na dysku w jednym, pliku, wtedy w Sello już nie robisz warunków tylko importujesz całość przykładowo:

 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.sello.pl/export">
<xsl:import href="C:\transformata\zbiorcza.xsl"/>
</xsl:stylesheet>

 

 

 

Dzięki, jutro przetrenuje i w razie czego będę męczył ;)

Link to postu

Panowie dziękuję, wszystko pięknie działa w jednej zbiorczej transformacie, nie omieszkałem dodać rozwiązania Ks.Robaka z transformaty PaczkiMini takie jak:

- gdy numer telefonu nie jest numerem komórkowym, wybierany jest adres email;

- poprawiana polszczyzna w adresach  ;D)

 

Jedynie co mi brakuje, to zrobienie tego samego w przesyłce biznesowej 852, że jak klient nie podał nr telefonu kom. to wyeksportuje się adres e-mail. (niestety z tego co przeczytałem specyfikacja na to nie pozwala).

 

OK jednak pozwala, tylko proszę czym w takim razie różni się zapis w transformacie

 

				<xsl:variable name="phone" select="translate(s:DeliveryAddress/s:PhoneNumber,'- ()/','')"/>
			<xsl:variable name="phone2" select="format-number(substring($phone,string-length($phone)-8,9),'000000000')"/>
			<xsl:choose>
				<xsl:when test="starts-with($phone2,'50') or starts-with($phone2,'51') or starts-with($phone2,'53') or starts-with($phone2,'57') or starts-with($phone2,'60') or starts-with($phone2,'66') or starts-with($phone2,'69') or starts-with($phone2,'72') or starts-with($phone2,'73') or starts-with($phone2,'78') or starts-with($phone2,'79') or starts-with($phone2,'88')">
					<xsl:element name="Atrybut">
						<xsl:attribute name="Typ"/>
						<xsl:attribute name="Nazwa">KontaktAdresata</xsl:attribute>
						<xsl:value-of select="$phone2"/>
					</xsl:element>
				</xsl:when>
				<!--Jeśli klient poda numer komórkowy to wstawi się jego numer komórkowy-->
				<xsl:otherwise>
					<xsl:if test="string-length(s:DeliveryAddress/s:NIP) = 6">
						<xsl:element name="Atrybut">
							<xsl:attribute name="Typ"/>
							<xsl:attribute name="Nazwa">KontaktAdresata</xsl:attribute>
							<xsl:value-of select="12345678"/>
							<!--Powyżej zamiast 123456789 wpisujemy swój numer komórki, jeśli klient poda numer stacjonarny i będzie to odbiór w punkcie to powiadomienie przyjdzie na nasz numer komórki, bo jakąś komórkę trzeba wtedy podać-->
							<!--Jeśli klient poda numer stacjonarny i będzie to zwykła biznesówka to wstawi się puste pole, a telefon klienta można wstawić w pole opisu przesyłki -->
						</xsl:element>
					</xsl:if>
				</xsl:otherwise>
			</xsl:choose>

 

od:

 

				<xsl:choose>
				<xsl:when test="js:jestKomorkowym(string(s:DeliveryAddress/s:PhoneNumber))">
					<xsl:element name="Atrybut">
					<xsl:attribute name="Typ"/>
					<xsl:attribute name="Nazwa">FormaPowiadomieniaAdresata</xsl:attribute>M</xsl:element>
					<xsl:element name="Atrybut">
					<xsl:attribute name="Typ"/>
					<xsl:attribute name="Nazwa">KontaktPowiadomieniaAdresata</xsl:attribute>
					<xsl:value-of select="js:normalizujNrTelefonu(string(s:DeliveryAddress/s:PhoneNumber))"/>
					</xsl:element>
				</xsl:when>
				<xsl:otherwise>
					<xsl:element name="Atrybut">
					<xsl:attribute name="Typ"/>
					<xsl:attribute name="Nazwa">FormaPowiadomieniaAdresata</xsl:attribute>E</xsl:element>
					<xsl:element name="Atrybut">
					<xsl:attribute name="Typ"/>         
					<xsl:attribute name="Nazwa">KontaktPowiadomieniaAdresata</xsl:attribute>
						<xsl:choose>
							<xsl:when test="s:DeliveryAddress/s:Email!=''">
							    <xsl:value-of select="s:DeliveryAddress/s:Email"/>
							</xsl:when>
							<xsl:otherwise>
							<xsl:if test="../s:Customer[@CustomerID = current()/s:Customer/@CustomerID]/s:EmailAddress[@IsDefault = 1]!=''"> 
							<xsl:value-of select="../s:Customer[@CustomerID = current()/s:Customer/@CustomerID]/s:EmailAddress[@IsDefault = 1]"/>
							</xsl:if>
							</xsl:otherwise>
						</xsl:choose>
					</xsl:element>
				</xsl:otherwise>
			</xsl:choose>

 

Czy w związku z tym ten pierwszy wpis można usunąć ?

Link to postu

W pierwszym kodzie jest poprawione testowania numeru telefonu klienta czy jest komórkowy czy nie. Jak klient podał komórkę to wstawi się jego komórka, a jak podał stacjonarny to wstawi się nasza komórka. Jest to dla formy powiadomień - sms'em i nie ma tutaj uwzględnionego emaila.

 

A w drugim kodzie jest właśnie forma powiadomienia emailem. Jeśli decydujesz się powiadamiać klienta mailem, a nie telefonem to ustaw jako formę powiadomienia email klienta. Tylko zrób sobie zabezpieczenie na wypadek gdy klient nie poda emaila. Np. my zawsze wstawiamy w transakcji swój email. Można też to zrobić w transformacie.

 

Albo można ustawić tak samo jak Ks Robak w paczce mini - gdy numer telefonu klienta nie jest numerem komórkowym, to wybierany jest adres email klienta.

 

Co komu pasuje.

 

 

 

Numer PNI najlepiej jest wziąć z pliku - pobieram plik placówki.csv ze strony wyszukiwarki placówek i kopiuję z dolnego okna transakcji z notatki nazwę ulicy. Przełączam na plik placówki w Excelu i wyszukuję ulicę. Potem porównuję resztę adresu placówki i kopiuję PNI do pola NIP w adresie do wysyłki. Zatwierdzam formularz mimo różnic i nie przenoś danych automatycznie, żeby adres wysyłki nie nadpisał się z foda. Najszybsza metoda jaką opracowaliśmy. Jak ktoś ma szybszą to chętnie wysłucham :) Plik wystarczy pobierać raz na kilka miesięcy (bo się ciągle aktualizuje).

 

Poradziłeś sobie z tymi modyfikatorami do rozróżnienia maila o wysyłce paczki ze względu na jej formę?

Ja mam to tak:

if e-przesyłka

then blok=e-przesyłka

else blok=pozostałe formy wysyłki

 

 

PS

I jeszcze sprostowanie, ja jestem autorem poradnika do zbiorczej transformaty, a opracował ją kto inny, gawcio jako pierwszy udostępnił ją na forum.

Link to postu

Albo można ustawić tak samo jak Ks Robak w paczce mini - gdy numer telefonu klienta nie jest numerem komórkowym, to wybierany jest adres email klienta.

 

W transformacie 852 miałem oba kody, ale ostatecznie czytając specyfikację pliku. Doszedłem, że pierwszy kod jest zbędny, kiedy zastosowany jest ten drugi, a ten drugi kod to właśnie rozwiązanie Ks.Robaka, które obecnie bardzo dobrze się sprawdza.

 

 

Jak ktoś ma szybszą to chętnie wysłucham :) Plik wystarczy pobierać raz na kilka miesięcy (bo się ciągle aktualizuje).

No niestety szybszej metody nie znam, chociaż w takim wypadku można byłoby napisać dedykowane rozwiązanie ale póki co przesyłki można policzyć na palcach, więc Twoje rozwiązanie wydaje się najlepsze.

 

Poradziłeś sobie z tymi modyfikatorami do rozróżnienia maila o wysyłce paczki ze względu na jej formę?

Ja mam to tak:

if e-przesyłka

then blok=e-przesyłka

else blok=pozostałe formy wysyłki

 

Tak to wiem mam podobnie, ale u mnie wiadomość o wysyłce zawiera m.in informacje, że "Paczka została wysłana na adres...", a adres punktu odbioru jest dodawany do notatki, tak czy inaczej zastosowałem się do poradnika o tagach i modyfikatorach.

 

 

PS

I jeszcze sprostowanie, ja jestem autorem poradnika do zbiorczej transformaty, a opracował ją kto inny, gawcio jako pierwszy udostępnił ją na forum.

W takim razie, gawcio - czapki z głów, kawał dobrej roboty.  ;D

Link to postu

No niestety szybszej metody nie znam, chociaż w takim wypadku można byłoby napisać dedykowane rozwiązanie ale póki co przesyłki można policzyć na palcach, więc Twoje rozwiązanie wydaje się najlepsze.

Też już o tym rozmawialiśmy - rozwiązanie musiałoby być bardzo dokładne, a i tak nie wiadomo czy działałoby bezbłędnie bo wiele placówek ma tą samą ulicę, a i w pliku są błędy, np. pomyłki w numerach UP czy FUP.

 

Tak to wiem mam podobnie, ale u mnie wiadomość o wysyłce zawiera m.in informacje, że "Paczka została wysłana na adres...", a adres punktu odbioru jest dodawany do notatki, tak czy inaczej zastosowałem się do poradnika o tagach i modyfikatorach.

Ja mam tak samo ale dla odbioru w punkcie zmieniłem na "Paczka została wysłana na adres wybranej placówki pocztowej. To jaką placówkę wybrałeś możesz sprawdzić w mailu jaki otrzymałeś od Allegro o tytule - wybrałeś sposób zapłaty i dostawy."

Tutaj też innej metody na razie nikt nie wymyślił.

Link to postu

Witam

 

próbowałem wklejać rożne kody tutaj znalezione, jednak otrzymuję komunikat Błąd składni XSL

 

Proszę o informację, gdzie i jaki kod na "teraz" jest prawidłowy?

 

 

 

W zasadzie nie ma, bo nawet po skopiowaniu kodu z forum należy go przygotować pod swoje sello. Błędy składni mogą wynikać np. ze zbędnych spacji lub ucięcia jakiegoś nawiasu... W czym edytujesz kod? Windowsowy notatnik może się nie nadać. Możesz użyć np. Notepad++

Link to postu

Jakby to powiedzieć...po prostu chciałbym wyeksportować plik z Sello i aby zaczytał się w EN.. tak jak to robiłem w MS

 

a jakie rodzaje przesyłek chcesz eksportować ?

 

Ja opierałem się na transformacie zbiorczej https://forum.sello.pl/index.php?topic=6309.msg42617#msg42617, ale tak czy inaczej musisz ją przerobić pod siebie.

Link to postu

Niestety nie mogę sobie z tym poradzić.

 

Czy poza czytaniem 35 stron wątku jest jakaś inna możliwość aby w kilku kilkunastu krokach ogarnąć co i jak? Pamiętam, że w MS wystarczyło dodać wszystkie "cegiełki" z parametrami do eksportu, wybrać datę i otrzymany plik bez problemu zaczytywał się w EN..

 

Rozumiem, że tu nie ma tak prosto?

Link to postu

Niestety nie mogę sobie z tym poradzić.

 

Czy poza czytaniem 35 stron wątku jest jakaś inna możliwość aby w kilku kilkunastu krokach ogarnąć co i jak? Pamiętam, że w MS wystarczyło dodać wszystkie "cegiełki" z parametrami do eksportu, wybrać datę i otrzymany plik bez problemu zaczytywał się w EN..

 

Rozumiem, że tu nie ma tak prosto?

Nie, jest to bardziej skomplikowany system. Aczkolwiek tyle już zostało napisane, że po przeczytaniu wszystkiego można zostać ekspertem od transformat ;)

 

Masz do wyboru:

1. Musisz zrozumieć jak to działa i wykonać pod siebie.

2. Zlecić napisanie i wdrożenie transformat u siebie (załóż w tym celu nowy wątek o tytule zlecę...).

3. Skorzystać z jakiego zewnętrznego gotowego programu.

 

My wybraliśmy opcję 1 i rozszerzyliśmy o własne pomysły, aż do rozwiązań niestandardowych i stąd narobiło się tyle wątków i postów ;) Niestety ja nie mam czasu napisać kolejnego poradnika ;) a nikomu innemu nie przyszło to do głowy bo ludzie sobie radzą z tym co już jest. Kwestia czasu.

 

Lista porad - dział 5 - masz zalinkowane wszystko co ważniejsze do obsługi Poczty Polskiej. Jak nie możesz sobie poradzić ze zbiorczą transformatą to zacznij od pojedynczej - zaznaczone na czerwono tutaj: https://forum.sello.pl/index.php?topic=6309.msg38658#msg38658

 

 

Link to postu
  • 1 miesiąc temu...

Da się i było to omawiane w tym wątku już kilkukrotnie - niestety trzeba sobie samemu odszukać w tych 33 stronach właściwy fragment kodu ;) No i oczywiście musisz też sobie samemu podmienić go w transformacie we właściwym miejscu lub jak nie umiesz to komuś to zlecić - ale z tym ciężko tutaj ;)

 

Przydałby się jakiś poradnik do tych transformat ;)

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...