Skocz do zawartości

Eksport do EN (BETA)

Polecane posty

Dlatego nie ufałbym terminom podawanym na samym początku. Wynikają one z naszych wstępnych szacunków, które w trakcie implementacji się zmieniają. Dochodzą też i różne zgłoszenia, które musimy sprawdzić, nieraz jest ich mniej, nieraz więcej no i trzeba albo ciąć wersję albo przesuwać :). O ile nie gonią nas jakieś zależności czasowe to wybieramy przesuwanie wersji.

Link to postu

Swego czasu PanBanBan podarował nam świetny sposób na sprawdzanie, czy podany przez kontrahenta numer telefonu jest numerem komórkowym.

Sposób ten był bardzo dobry w większości przypadków.

Jednak z uwagi na ograniczenia XSLT w wersji 1.0, jakiej używa Sello, nie było możliwe sprawdzenie, czy numer ma odpowiednią ilość cyfr. Więc zdarzały się przypadki, że jako prawidłowy był wykrywany numer nieprawidłowy.

 

Rozwiązanie opierało się na tym kodzie:

 

<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="XXXXXXXX"/>
<!--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>

 

 

Metodą prób i błędów udało mi się zmodernizować tą metodę za pomocą JavaScriptu w transformacie.

Nie było to proste, bo ten JavaScript jest nieco inny, ograniczony w stosunku do tego co mamy w przeglądarkach.

Nie udało mi się np. wykombinować jak z jednej mojej funkcji JavaScript wywołać inna moją funkcję JavaScriptu.

 

Niemniej jednak rozwiązanie działa.

 

Oto co trzeba zrobić:

 

Pierwszy wiersz transformaty zamieniamy na


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.sello.pl/export" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:js="urn:custom-javascript" >

 

a następnie, w wybranym przez nas miejscu (tylko nie w środku bloku jakiegoś tagu)

wklejamy blok z funkcjami

 


 <msxsl:script language="javascript" implements-prefix="js">
 <![CDATA[
    
 function normalizujNrTelefonu(_numerTelefonu)
 // Zwraca numer telefonu bez zbędnych znaków jak (, ), spacja, +, -, /, +48.
 {           	  
     var numerTelefonu=_numerTelefonu;
     if (numerTelefonu.length==0) return numerTelefonu;
     numerTelefonu = numerTelefonu.replace(/^\s+|\s+$/gm,'');            
     numerTelefonu = numerTelefonu.replace(/[\(]/gi,'');
     numerTelefonu = numerTelefonu.replace(/[\)]/gi,'');
     numerTelefonu = numerTelefonu.replace(/-/gi,'');        
     numerTelefonu = numerTelefonu.replace(/[ ]/gi,'');
     numerTelefonu = numerTelefonu.replace(/[\/]/gi,'');
     numerTelefonu = numerTelefonu.replace(/[+]/gi,'');
     if (numerTelefonu.length == 11)
     {
         if (numerTelefonu.substr(0,2)=="48") numerTelefonu = numerTelefonu.substr(2);
     }
     return numerTelefonu;
 }
       
 function jestKomorkowym(_numerTelefonu)
 // Przeprowadza test czy dany numer jest numerm komórkowym wg ulepszonego sposobu PanBanBana
 {
     var numerTelefonu=_numerTelefonu;
     if (numerTelefonu.length==0) return false;
    numerTelefonu = numerTelefonu.replace(/^\s+|\s+$/gm,'');            
     numerTelefonu = numerTelefonu.replace(/[\(]/gi,'');
     numerTelefonu = numerTelefonu.replace(/[\)]/gi,'');
     numerTelefonu = numerTelefonu.replace(/-/gi,'');        
     numerTelefonu = numerTelefonu.replace(/[ ]/gi,'');
     numerTelefonu = numerTelefonu.replace(/[\/]/gi,'');
     numerTelefonu = numerTelefonu.replace(/[+]/gi,'');
     if (numerTelefonu.length == 11)
     {
         if (numerTelefonu.substr(0,2)=="48") numerTelefonu = numerTelefonu.substr(2);
     }
     if (numerTelefonu.length != 9) return false;
     var prefixy = ["50","51","53","57","60","66","69","72","73","78","79","88" ];
     var prefix;
     var i;
     for(i=0; i<prefixy.length; i++)
     {
        prefix=prefixy[i];
         if (numerTelefonu.substr(0,2)==prefix) return true;
     }
     return false;
 }   
 ]]></msxsl:script> 

 

 

Mamy tutaj dwie funkcje:

normalizujNrTelefonu

oraz jestKomorkowym

 

Pierwsza z nich oczyszcza numer z niepotrzebnych znaków jak np. ()+ - i jest przydatna do wpisywania oczyszczonego numeru do odpowiedniego pola w ENie,

a druga dokonuje sprawdzenia czy mamy do czynienia z numerem komórkowym i jest wykorzystywana do polecenia "<xsl:if test= ...." w transformacie.

 

Deklaracje zmiennych phone i phone2 możemy wyrzucić.

Więc pierwotny blok wyboru możemy zastąpić takim:

 

<xsl:choose>
<xsl:when test="js:jestKomorkowym(string(s:DeliveryAddress/s:PhoneNumber))">
<xsl:element name="Atrybut">
<xsl:attribute name="Typ"/>
<xsl:attribute name="Nazwa">KontaktAdresata</xsl:attribute>
<xsl:value-of select="js:normalizujNrTelefonu(string(s:DeliveryAddress/s:PhoneNumber))"/>
</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="XXXXXXXX"/>
<!--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>


 

 

Jak to wygląda w praktyce można popatrzeć w mojej transformacie do Paczki Mini

https://forum.sello.pl/index.php?topic=7040.0

Link to postu
  • 1 miesiąc temu...
  • 2 tygodnie później...

Jestem pod wrażeniem prac jakie wykonaliście!

 

Dzięki Waszym umiejętnościom usprawniana jest moja praca.

 

Niestety podczas prac nad własną transformatą napotkałem na kilka problemów, których nie mogę przeskoczyć. Bardzo proszę zatem o pomoc

 

Pracuję aktualnie nad transformatą dotyczącą nowego Pocztexa 834. Problemy z którymi nie jestem w stanie sobie poradzić:

1. Pole tytuł przelewu jest puste - zależy mi aby wpisywany był tam nick z allegro

2. Poruszana była już kwestia "zawartość przesyłki" - czy jest możliwość aby uzupełniane były inne dane niż dokumenty?

3. Chciałbym dodać opcję ubezpieczenia do 5000 tys (parametr F1 w EN)

 

01.jpg

 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.sello.pl/export">
  <!--POCZTEX-->
  <!--Oznaczenie umowy na podstawie, której nadawane są przesyłki pocztowe (idUmowyMRUMC).-->
  <xsl:variable name="NrUmowy">numer umowy</xsl:variable>
  <!--Oznaczenie Karty na podstawie, której nadawane są przesyłki pocztowe (idKartyMRUMR).-->
  <xsl:variable name="KartaUmowy"></xsl:variable>
  <!--Rodzaj serwisu przesyłki Pocztex-N:
  E – Ekspres
  K – Kurier-->
  <xsl:variable name="RodzajPrzesylki">E</xsl:variable>
  <!--Termin-serwis dla przesyłki:
  A – Miejski do 3h - do 5 km
  B – Miejski do 3h - do 10 km
  C – Miejski do 3h - do 15 km
  D – Miejski do 3h - powyżej 15 km
  E – Miejski do 4h - do 10 km
  F – Miejski do 4h - do 15 km
  G – Miejski do 4h - do 20 km
  H – Miejski do 4h - do 30 km
  J – Miejski do 4h - do 40 km
  M – Krajowy
  R – Bezpośredni do 30 kg
  S – Bezpośredni powyżej 30 do 100 kg
  X – Ekspres 24-->
  <xsl:variable name="Termin">X</xsl:variable>
  <!--Forma przekazania kwoty pobrania:
  P – Na wskazany adres
  S – Na rachunek bankowy-->
  <xsl:variable name="SposobPobrania">S</xsl:variable>
  <!--Sposób powiadomienia adresata przesyłki. Jeśli pole jest puste, to powiadomienie nie jest wysyłane.
  M – SMS
  E – E-mail-->
  <xsl:variable name="FormaPowiadomieniaAdresata">M</xsl:variable>
  <xsl:template name="TytulPrzelewu">
	<xsl:variable name="trans" select="s:ParentTransaction/s:Name"/>
	<xsl:variable name="trans2" select="substring-before(substring-after(substring($trans,string-length($trans)-16),'('),')')"/>
	<xsl:variable name="nick" select="s:Customer/s:Nick"/>
	<xsl:choose>
		<xsl:when test="$trans2!=''">
			<xsl:value-of select="substring(concat($nick,' ',$trans2),1,30)"/>
		</xsl:when>
		<xsl:otherwise>
			<xsl:value-of select="substring(concat($nick,' ',$trans),1,30)"/>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>
  <!--Opis dla danej paczki. Pole z dowolną zawartością nie przekraczającą długości 40 znaków-->
  <xsl:template name="Opis">
	<xsl:value-of select="substring(s:Customer/s:Nick,0,15)"/> tel adresata <xsl:value-of select="translate(s:DeliveryAddress/s:PhoneNumber,'- ()/','')"/>
</xsl:template>

  <xsl:param name="Year"/>
  <xsl:param name="Month"/>
  <xsl:param name="Day"/>
  <xsl:param name="Hour"/>
  <xsl:param name="Minute"/>
  <xsl:param name="Second"/>
  <xsl:template match="s:ExportData">
    <xsl:element name="Nadawca">
      <xsl:attribute name="Struktura">1.6</xsl:attribute>
      <xsl:attribute name="Nazwa">
        <xsl:value-of select="s:Company/s:Address/s:Company"/>
      </xsl:attribute>
      <xsl:attribute name="NazwaSkrocona">
        <xsl:variable name="companyName" select="s:Company/s:Address/s:Company"/>
        <xsl:value-of select="substring($companyName,0,10)"/>
      </xsl:attribute>
      <xsl:attribute name="Ulica">
        <xsl:value-of select="s:Company/s:Address/s:Street"/>
      </xsl:attribute>
      <xsl:attribute name="Dom">
        <xsl:value-of select="s:Company/s:Address/s:HouseNumber"/>
      </xsl:attribute>
      <xsl:attribute name="Lokal">
        <xsl:value-of select="s:Company/s:Address/s:FlatNumber"/>
      </xsl:attribute>
      <xsl:attribute name="Miejscowosc">
        <xsl:value-of select="s:Company/s:Address/s:City"/>
      </xsl:attribute>
      <xsl:attribute name="Kod">
        <xsl:value-of select="translate(s:Company/s:Address/s:ZipCode,'- ','')"/>
      </xsl:attribute>
      <xsl:attribute name="NIP">
        <xsl:value-of select="translate(s:Company/s:Address/s:NIP,'- ','')"/>
      </xsl:attribute>
      <xsl:attribute name="Zrodlo">NADAWCA</xsl:attribute>
      <xsl:attribute name="Guid">
        <xsl:value-of select="s:Company/s:GUID"/>
      </xsl:attribute>
      <xsl:element name="Zbior">
        <xsl:attribute name="Nazwa">
          <xsl:value-of select="concat(format-number($Day,'00'),'-',format-number($Month,'00'),'-',$Year,'\1')"/>
        </xsl:attribute>
        <xsl:attribute name="DataUtworzenia">
          <xsl:value-of select="concat($Year,'-',format-number($Month,'00'),'-',format-number($Day,'00'),'T',format-number($Hour,'00'),':',format-number($Minute,'00'),':',format-number($Second,'00'))"/>
        </xsl:attribute>
        <xsl:attribute name="Opis">Jakis dowolny opis</xsl:attribute>
        <xsl:attribute name="IloscPrzesylek">
          <xsl:value-of select="count(s:Package)"/>
        </xsl:attribute>
        <xsl:attribute name="Guid">
          <xsl:value-of select="s:GUID"/>
        </xsl:attribute>
        <xsl:apply-templates select="s:Package"/>
      </xsl:element>
    </xsl:element>
  </xsl:template>
  <xsl:template match="s:Package">
    <xsl:element name="Przesylka">
      <xsl:attribute name="Guid">
        <xsl:value-of select="s:GUID"/>
      </xsl:attribute>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Nazwa</xsl:attribute>
        <xsl:choose>
          <xsl:when test="s:DeliveryAddress/s:Company!=''">
            <xsl:value-of select="s:DeliveryAddress/s:Company"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="s:DeliveryAddress/s:Name"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:element>
      <xsl:if test="s:DeliveryAddress/s:Company!='' and s:DeliveryAddress/s:Name!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ">Adresat</xsl:attribute>
          <xsl:attribute name="Nazwa">NazwaII</xsl:attribute>
          <xsl:value-of select="s:DeliveryAddress/s:Name"/>
        </xsl:element>
      </xsl:if>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Ulica</xsl:attribute>
        <xsl:value-of select="s:DeliveryAddress/s:Street"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Dom</xsl:attribute>
        <xsl:value-of select="s:DeliveryAddress/s:HouseNumber"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Lokal</xsl:attribute>
        <xsl:value-of select="s:DeliveryAddress/s:FlatNumber"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Miejscowosc</xsl:attribute>
        <xsl:value-of select="s:DeliveryAddress/s:City"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Kod</xsl:attribute>
        <xsl:value-of select="translate(s:DeliveryAddress/s:ZipCode,'- ','')"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Kraj</xsl:attribute>
        <xsl:choose>
          <xsl:when test="s:DeliveryAddress/s:Country=''">Polska</xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="s:DeliveryAddress/s:Country"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:element>
      <xsl:if test="$FormaPowiadomieniaAdresata!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">FormaPowiadomieniaAdresata</xsl:attribute>
          <xsl:value-of select="$FormaPowiadomieniaAdresata"/>
        </xsl:element>
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">KontaktPowiadomieniaAdresata</xsl:attribute>
          <xsl:choose>
            <xsl:when test="$FormaPowiadomieniaAdresata='M'">
              <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:value-of select="$phone2"/>
            </xsl:when>
            <xsl:when test="$FormaPowiadomieniaAdresata='E'">
              <xsl:value-of select="s:DeliveryAddress/s:Email"/>
            </xsl:when>
          </xsl:choose>
        </xsl:element>
      </xsl:if>
      <!--Atrybuty specyficzne dla przesyłki 834-->
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ"/>
        <xsl:attribute name="Nazwa">Symbol</xsl:attribute>834</xsl:element>
      <xsl:if test="$NrUmowy!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Umowa</xsl:attribute>
          <xsl:value-of select="$NrUmowy"/>
        </xsl:element>
      </xsl:if>
      <xsl:if test="$KartaUmowy!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">KartaUmowy</xsl:attribute>
          <xsl:value-of select="$KartaUmowy"/>
        </xsl:element>
      </xsl:if>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ"/>
        <xsl:attribute name="Nazwa">Ilosc</xsl:attribute>1</xsl:element>
      <xsl:if test="s:Weight">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Masa</xsl:attribute>
          <xsl:value-of select="round(number(s:Weight)*1000)"/>
        </xsl:element>
      </xsl:if>
      <xsl:if test="s:SendingNumber!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">NrNadania</xsl:attribute>
          <xsl:value-of select="translate(s:SendingNumber,'- ','')"/>
        </xsl:element>
      </xsl:if>
      <xsl:if test="$RodzajPrzesylki!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Serwis</xsl:attribute>
          <xsl:value-of select="$RodzajPrzesylki"/>
        </xsl:element>
      </xsl:if>
      <xsl:if test="$Termin!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Termin</xsl:attribute>
          <xsl:value-of select="$Termin"/>
        </xsl:element>
      </xsl:if>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ"/>
        <xsl:attribute name="Nazwa">CzyOplacaOdbiorca</xsl:attribute>N</xsl:element>
      <xsl:if test="s:DeliveryMethod/s:IsPayOnDelivery=1">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Uslugi</xsl:attribute>P</xsl:element>
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">SposobPobrania</xsl:attribute>
          <xsl:value-of select="$SposobPobrania"/>
        </xsl:element>
        <xsl:if test="s:Charge">
          <xsl:element name="Atrybut">
            <xsl:attribute name="Typ"/>
            <xsl:attribute name="Nazwa">KwotaPobrania</xsl:attribute>
            <xsl:value-of select="round(number(s:Charge)*100)"/>
          </xsl:element>
        </xsl:if>
      </xsl:if>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ"/>
        <xsl:attribute name="Nazwa">Wersja</xsl:attribute>1</xsl:element>
      <xsl:variable name="description">
        <xsl:call-template name="Opis"/>
      </xsl:variable>
      <xsl:if test="$description!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Uwagi</xsl:attribute>
          <xsl:value-of select="$description"/>
        </xsl:element>
      </xsl:if>
    </xsl:element>
  </xsl:template>
</xsl:stylesheet>

 

Będę wdzięczny za każdą pomoc

Link to postu

Czy da się wyeksportować transformatą dane z pola "Dotyczy" dla transakcji ?

Chodzi o wartość tr_Source z tr__Transaction ?

 

Co jeśli paczka dotyczy transakcji zgrupowanych ?

 

Czy możliwe jest powielenie wpisu dla każdej ze zgrupowanych transakcji znajdujących się w jednej paczce ?

 

Chcę zrobić export xml zamówień ze sklepu, przetworzonych przez Sello.

 

Chyba że ktoś potrafiłby zrobić Triger do SQL robiący Update w zdalnej Bazie MySql.

 

Jeśli tak proszę o kontakt.

Link to postu

Witam.

Jestem nowym na forum od dwóch dni głowie się z sello.

Działa mi import na przesyłki biznesowe, pocztexy i listy firmowe.

Mam jeszcze pytanie bo również wysyłamy listy polecone priorytetowe

Której transformaty użyć ?

Oraz drugie pytanie wysyłamy również listy ekonomiczne i priorytetowe bez potwierdzenia nadania też proszę o info jakie transformaty użyć.

Z tego co czytałem na forach widzę, iż używacie listów firmowych do listów ekonomicznych i priorytetowych lecz mnie to nie satysfakcjonuje.

Chciałbym osobno listy ekonomiczne i listy priorytetowe.

 

No i 3 pytanie:  również do przeróbki transformat czy mogę wklejać gotowe do działu eksportu  w sello czy mam coś tam wypełniać dane itp ?.

 

I na koniec 4 pytanie trochę mnie nurtuje i dziwi nie wiem czy kwestia ustawień EN czy sello. Jak zaczeliśmy grzebać w sello to po imporcie listów firmowy poleconych do EN wyskoczyły nam listy firmowe polecone ekonomiczne i priorytetowe ?. Czy to coś u nas się poprzestawiało czy tak ma być ? Również na wydruku w EN wyskakuje nad kodem kreskowym priorytet.

 

Z góry dziękuje za informację

I jeśli ten post jest nie w tym miejscu czy zrobiłem coś nie tak, to przepraszam.

 

Pozdrawiam

Link to postu

Jak zaczeliśmy grzebać w sello to po imporcie listów firmowy poleconych do EN wyskoczyły nam listy firmowe polecone ekonomiczne i priorytetowe ?. Czy to coś u nas się poprzestawiało czy tak ma być ? Również na wydruku w EN wyskakuje nad kodem kreskowym priorytet.

 

Podobno to bug informatyków pocztowych po ostatniej aktualizacji EN-a. Nie wszystkim się to pokazuje, na przykład u mnie nie ma.

Link to postu

Jak zaczeliśmy grzebać w sello to po imporcie listów firmowy poleconych do EN wyskoczyły nam listy firmowe polecone ekonomiczne i priorytetowe ?. Czy to coś u nas się poprzestawiało czy tak ma być ? Również na wydruku w EN wyskakuje nad kodem kreskowym priorytet.

 

Podobno to bug informatyków pocztowych po ostatniej aktualizacji EN-a. Nie wszystkim się to pokazuje, na przykład u mnie nie ma.

 

oh ok dzięki wielkie za tą informacje bo trochę sobie głowę zrobiłem, że coś narobiłem w EN.

 

CZyli mogę wysyłać te listy firmowe z oznaczeniem priorytet ?.

Nie będzie problemów na sortowni ?

 

Pozdr

Link to postu

Jak zaczeliśmy grzebać w sello to po imporcie listów firmowy poleconych do EN wyskoczyły nam listy firmowe polecone ekonomiczne i priorytetowe ?. Czy to coś u nas się poprzestawiało czy tak ma być ? Również na wydruku w EN wyskakuje nad kodem kreskowym priorytet.

 

Podobno to bug informatyków pocztowych po ostatniej aktualizacji EN-a. Nie wszystkim się to pokazuje, na przykład u mnie nie ma.

 

oh ok dzięki wielkie za tą informacje bo trochę sobie głowę zrobiłem, że coś narobiłem w EN.

 

CZyli mogę wysyłać te listy firmowe z oznaczeniem priorytet ?.

Nie będzie problemów na sortowni ?

 

Pozdr

 

A tego to nie wiem, mnie się nie pokazują, więc nie wysyłam. W zasadzie jak masz umowę na firmówki, to tam jest termin D+4 a nie ma priorytetów...

Link to postu

Witam.

Jestem nowym na forum od dwóch dni głowie się z sello.

Działa mi import na przesyłki biznesowe, pocztexy i listy firmowe.

Mam jeszcze pytanie bo również wysyłamy listy polecone priorytetowe

Której transformaty użyć ?

 

 

Transformata 845

Poczytaj tutaj

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

 

Oraz drugie pytanie wysyłamy również listy ekonomiczne i priorytetowe bez potwierdzenia nadania też proszę o info jakie transformaty użyć.

 

 

Do zwykłych listów jest transformata 840

 

 

Z tego co czytałem na forach widzę, iż używacie listów firmowych do listów ekonomicznych i priorytetowych lecz mnie to nie satysfakcjonuje.

 

Ależ skąd :)

Firmowe są tylko ekonomiczne.

Priorytetowe idą jako zwykłe polecone.

Transformata ta sama, tylko inne opcje pozaznaczane.

 

Chciałbym osobno listy ekonomiczne i listy priorytetowe.

 

 

I tu zależy co masz na myśli, że chciałbyś osobno.

Chciałbyś je osobno eksportować ?

Bo jeśli tak, to wystarczy wyfiltrować te przesyłki w Sello i wtedy wyeksportować.

 

 

No i 3 pytanie:  również do przeróbki transformat czy mogę wklejać gotowe do działu eksportu  w sello czy mam coś tam wypełniać dane itp ?.

 

 

Każda transformata wymaga uzupełnienia. Zwykle na górze są opcje do wyboru, które należy odpowiednio wpisać.

 

 

Link to postu

 

CZyli mogę wysyłać te listy firmowe z oznaczeniem priorytet ?.

Nie będzie problemów na sortowni ?

 

Pozdr

 

 

Nie bardzo.

Pytanie czy to wina EN, że takie coś przepuścił, jak powiedział e-kupowanie, czy też u Ciebie, że w ogóle takie dane eksportujesz.

 

Czy masz w Sello rodzaj przesyłki "firmowe priorytetowe" ?

 

Jeśli tak - usuń go.

 

Jeśli natomiast jako firmowe wskakują Ci zwykłe polecone priorytetowe, to znaczy, że eksportujesz te polecone transformatą do firmowych.

I to byłby błąd.

Trzeba mieć 2 transformaty, jak pisało w linku, który podałem.

Link to postu

To jaki urząd wstawia się w EN zależy od EN i (chyba) od ciasteczek - Sello nie obsługuje takiej opcji w tej chwili. Musisz ręcznie w EN zmienić urząd nadawczy, jeszcze przed drukowaniem etykiet.

 

Ja u siebie tak zmieniam (paczki nadaję gdzie indziej, pocztexy gdzie indziej). Jak się nie zmienia za często urzędu to jakoś przeglądarka to zapamiętuje...

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

Witam,

 

Z pomocą waszych uwag próbuję wprowadzić transformatę 832 dla Przesyłek Pocztex. Niestety przy imporcie do EN pojawia się komunikat przesyłek jako błędne oraz informacja: Produkt ("832") nie znajduje się na umowie zawartej z Poczta Polską S.A

Mam umowę na Pocztex i wysyłam je codziennie wprowadzając niestety ręcznie. Pobrałem najnowszą transformatę wskazaną w odpowiedzi #146. Będę wdzięczny za pomoc.

Pozdrawiam.

Link to postu

Witam,

 

Z pomocą waszych uwag próbuję wprowadzić transformatę 832 dla Przesyłek Pocztex. Niestety przy imporcie do EN pojawia się komunikat przesyłek jako błędne oraz informacja: Produkt ("832") nie znajduje się na umowie zawartej z Poczta Polską S.A

Mam umowę na Pocztex i wysyłam je codziennie wprowadzając niestety ręcznie. Pobrałem najnowszą transformatę wskazaną w odpowiedzi #146. Będę wdzięczny za pomoc.

Pozdrawiam.

 

Piszesz o Pocztex Kurier48 czy o Pocztex Expres24?

Link to postu

Pocztex Express 24

 

Dodam tylko że udało mi się skonfigurować transformatę 852 do biznesowych udostępnioną przez PanBanBan. Potrzebuję zrobić to samo dla Pocztex Express 24, ale niestety na starcie mam te błędy.

 

Potrzebuję także transformaty na listy polecone jak i zwykłe. Czy można użyć jednej transformaty do listów poleconych i zwykłych czy muszą być dwie osobne ?

Link to postu

Spróbuj taki:

 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.sello.pl/export">
  <!--POCZTEX-->
  <!--Oznaczenie umowy na podstawie, której nadawane są przesyłki pocztowe (idUmowyMRUMC).-->
  <xsl:variable name="NrUmowy"></xsl:variable>
  <!--Oznaczenie Karty na podstawie, której nadawane są przesyłki pocztowe (idKartyMRUMR).-->
  <xsl:variable name="KartaUmowy"></xsl:variable>
  <!--Rodzaj serwisu przesyłki Pocztex-N:
  E – Ekspres
  K – Kurier-->
  <xsl:variable name="RodzajPrzesylki">E</xsl:variable>
  <!--Termin-serwis dla przesyłki:
  A – Miejski do 3h - do 5 km
  B – Miejski do 3h - do 10 km
  C – Miejski do 3h - do 15 km
  D – Miejski do 3h - powyżej 15 km
  E – Miejski do 4h - do 10 km
  F – Miejski do 4h - do 15 km
  G – Miejski do 4h - do 20 km
  H – Miejski do 4h - do 30 km
  J – Miejski do 4h - do 40 km
  M – Krajowy
  R – Bezpośredni do 30 kg
  S – Bezpośredni powyżej 30 do 100 kg
  X – Ekspres 24-->
  <xsl:variable name="Termin">X</xsl:variable>
  <!--Forma przekazania kwoty pobrania:
  P – Na wskazany adres
  S – Na rachunek bankowy-->
  <xsl:variable name="SposobPobrania">S</xsl:variable>
  <!--Sposób powiadomienia adresata przesyłki. Jeśli pole jest puste, to powiadomienie nie jest wysyłane.
  M – SMS
  E – E-mail-->
  <xsl:variable name="FormaPowiadomieniaAdresata">M</xsl:variable>
  <!--Opis dla danej paczki. Pole z dowolną zawartością nie przekraczającą długości 40 znaków-->
  <xsl:template name="Opis">
	<xsl:value-of select="substring(s:Customer/s:Nick,0,15)"/>
</xsl:template>

  <xsl:param name="Year"/>
  <xsl:param name="Month"/>
  <xsl:param name="Day"/>
  <xsl:param name="Hour"/>
  <xsl:param name="Minute"/>
  <xsl:param name="Second"/>
  <xsl:template match="s:ExportData">
    <xsl:element name="Nadawca">
      <xsl:attribute name="Struktura">1.6</xsl:attribute>
      <xsl:attribute name="Nazwa">
        <xsl:value-of select="s:Company/s:Address/s:Company"/>
      </xsl:attribute>
      <xsl:attribute name="NazwaSkrocona">
        <xsl:variable name="companyName" select="s:Company/s:Address/s:Company"/>
        <xsl:value-of select="substring($companyName,0,10)"/>
      </xsl:attribute>
      <xsl:attribute name="Ulica">
        <xsl:value-of select="s:Company/s:Address/s:Street"/>
      </xsl:attribute>
      <xsl:attribute name="Dom">
        <xsl:value-of select="s:Company/s:Address/s:HouseNumber"/>
      </xsl:attribute>
      <xsl:attribute name="Lokal">
        <xsl:value-of select="s:Company/s:Address/s:FlatNumber"/>
      </xsl:attribute>
      <xsl:attribute name="Miejscowosc">
        <xsl:value-of select="s:Company/s:Address/s:City"/>
      </xsl:attribute>
      <xsl:attribute name="Kod">
        <xsl:value-of select="translate(s:Company/s:Address/s:ZipCode,'- ','')"/>
      </xsl:attribute>
      <xsl:attribute name="NIP">
        <xsl:value-of select="translate(s:Company/s:Address/s:NIP,'- ','')"/>
      </xsl:attribute>
      <xsl:attribute name="Zrodlo">NADAWCA</xsl:attribute>
      <xsl:attribute name="Guid">
        <xsl:value-of select="s:Company/s:GUID"/>
      </xsl:attribute>
      <xsl:element name="Zbior">
        <xsl:attribute name="Nazwa">
          <xsl:value-of select="concat(format-number($Day,'00'),'-',format-number($Month,'00'),'-',$Year,'\1')"/>
        </xsl:attribute>
        <xsl:attribute name="DataUtworzenia">
          <xsl:value-of select="concat($Year,'-',format-number($Month,'00'),'-',format-number($Day,'00'),'T',format-number($Hour,'00'),':',format-number($Minute,'00'),':',format-number($Second,'00'))"/>
        </xsl:attribute>
        <xsl:attribute name="Opis">Jakis dowolny opis</xsl:attribute>
        <xsl:attribute name="IloscPrzesylek">
          <xsl:value-of select="count(s:Package)"/>
        </xsl:attribute>
        <xsl:attribute name="Guid">
          <xsl:value-of select="s:GUID"/>
        </xsl:attribute>
        <xsl:apply-templates select="s:Package"/>
      </xsl:element>
    </xsl:element>
  </xsl:template>
  <xsl:template match="s:Package">
    <xsl:element name="Przesylka">
      <xsl:attribute name="Guid">
        <xsl:value-of select="s:GUID"/>
      </xsl:attribute>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Nazwa</xsl:attribute>
        <xsl:choose>
          <xsl:when test="s:DeliveryAddress/s:Company!=''">
            <xsl:value-of select="s:DeliveryAddress/s:Company"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="s:DeliveryAddress/s:Name"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:element>
      <xsl:if test="s:DeliveryAddress/s:Company!='' and s:DeliveryAddress/s:Name!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ">Adresat</xsl:attribute>
          <xsl:attribute name="Nazwa">NazwaII</xsl:attribute>
          <xsl:value-of select="s:DeliveryAddress/s:Name"/>
        </xsl:element>
      </xsl:if>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Ulica</xsl:attribute>
        <xsl:value-of select="s:DeliveryAddress/s:Street"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Dom</xsl:attribute>
        <xsl:value-of select="s:DeliveryAddress/s:HouseNumber"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Lokal</xsl:attribute>
        <xsl:value-of select="s:DeliveryAddress/s:FlatNumber"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Miejscowosc</xsl:attribute>
        <xsl:value-of select="s:DeliveryAddress/s:City"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Kod</xsl:attribute>
        <xsl:value-of select="translate(s:DeliveryAddress/s:ZipCode,'- ','')"/>
      </xsl:element>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ">Adresat</xsl:attribute>
        <xsl:attribute name="Nazwa">Kraj</xsl:attribute>
        <xsl:choose>
          <xsl:when test="s:DeliveryAddress/s:Country=''">Polska</xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="s:DeliveryAddress/s:Country"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:element>
      <xsl:if test="$FormaPowiadomieniaAdresata!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">FormaPowiadomieniaAdresata</xsl:attribute>
          <xsl:value-of select="$FormaPowiadomieniaAdresata"/>
        </xsl:element>
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">KontaktPowiadomieniaAdresata</xsl:attribute>
          <xsl:choose>
            <xsl:when test="$FormaPowiadomieniaAdresata='M'">
              <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:value-of select="$phone2"/>
            </xsl:when>
            <xsl:when test="$FormaPowiadomieniaAdresata='E'">
              <xsl:value-of select="s:DeliveryAddress/s:Email"/>
            </xsl:when>
          </xsl:choose>
        </xsl:element>
      </xsl:if>
      <!--Atrybuty specyficzne dla przesyłki 834-->
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ"/>
        <xsl:attribute name="Nazwa">Symbol</xsl:attribute>834</xsl:element>
      <xsl:if test="$NrUmowy!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Umowa</xsl:attribute>
          <xsl:value-of select="$NrUmowy"/>
        </xsl:element>
      </xsl:if>
      <xsl:if test="$KartaUmowy!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">KartaUmowy</xsl:attribute>
          <xsl:value-of select="$KartaUmowy"/>
        </xsl:element>
      </xsl:if>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ"/>
        <xsl:attribute name="Nazwa">Ilosc</xsl:attribute>1</xsl:element>
      <xsl:if test="s:Weight">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Masa</xsl:attribute>
          <xsl:value-of select="round(number(s:Weight)*1000)"/>
        </xsl:element>
      </xsl:if>
      <xsl:if test="s:SendingNumber!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">NrNadania</xsl:attribute>
          <xsl:value-of select="translate(s:SendingNumber,'- ','')"/>
        </xsl:element>
      </xsl:if>
      <xsl:if test="$RodzajPrzesylki!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Serwis</xsl:attribute>
          <xsl:value-of select="$RodzajPrzesylki"/>
        </xsl:element>
      </xsl:if>
      <xsl:if test="$Termin!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Termin</xsl:attribute>
          <xsl:value-of select="$Termin"/>
        </xsl:element>
      </xsl:if>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ"/>
        <xsl:attribute name="Nazwa">CzyOplacaOdbiorca</xsl:attribute>N</xsl:element>
      <xsl:if test="s:DeliveryMethod/s:IsPayOnDelivery=1">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Uslugi</xsl:attribute>P</xsl:element>
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">SposobPobrania</xsl:attribute>
          <xsl:value-of select="$SposobPobrania"/>
        </xsl:element>
        <xsl:if test="s:Charge">
          <xsl:element name="Atrybut">
            <xsl:attribute name="Typ"/>
            <xsl:attribute name="Nazwa">KwotaPobrania</xsl:attribute>
            <xsl:value-of select="round(number(s:Charge)*100)"/>
          </xsl:element>
        </xsl:if>
      </xsl:if>
      <xsl:element name="Atrybut">
        <xsl:attribute name="Typ"/>
        <xsl:attribute name="Nazwa">Wersja</xsl:attribute>1</xsl:element>
      <xsl:variable name="description">
        <xsl:call-template name="Opis"/>
      </xsl:variable>
      <xsl:if test="$description!=''">
        <xsl:element name="Atrybut">
          <xsl:attribute name="Typ"/>
          <xsl:attribute name="Nazwa">Uwagi</xsl:attribute>
          <xsl:value-of select="$description"/>
        </xsl:element>
      </xsl:if>
    </xsl:element>
  </xsl:template>
</xsl:stylesheet>

Link to postu

Potrzebuję także transformaty na listy polecone jak i zwykłe. Czy można użyć jednej transformaty do listów poleconych i zwykłych czy muszą być dwie osobne ?

 

Muszą być osobne, chyba, że zrobisz sobie transformatę zbiorczą jak pokazali PanBanBan i Gawcio90.

 

Do zwykłych listów trzeba transformaty 840, która nigdy nie została przez nikogo udostępniona.

 

Nie wiem czy ktoś wysyła listami zwykłymi i ma taką transformatę.

Ale obawiam się, że bez własnoręcznego jej wykonania się nie obejdzie.

Link to postu

Witam.

Mam od jakiegoś tygodnia mamy problem z listami poleconymi.

Dana transformata chodziła około 2 miesięcy i nie było problemów.

 

Po zaimportowaniu listów do EN wyskakuje taki błąd:

Niedopuszczalna wartość dla obszaru oddawczego (miejscowa/zamiejscowa). (EN:40623)

 

 

Listy normalnie zostają zaimportowane lecz w każdy trzeba wejść i dać zapisz i wtedy dodaje się numer nadawczy.

 

Z góry dziękuje za pomoc.

 

Nadajemy również listy firmowe i transoformata działa prawidłowo.

 

Pozdarwiam

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ę...