Jump to content

Recommended Posts

Pro odstranění Označení objednávky velkými písmeny a nahrazení běžným číslem (jako v starších verzích) jsem vyrobil tuto jednoduchou úpravu souboru /override/classes/order/Order.php

Kód:

 

<?php
class Order extends OrderCore
{
public static function getUniqReferenceOf($id_order)
  {
  $order = new Order($id_order);
  //return $order->getUniqReference();
  return str_pad($id_order, 6, "0", STR_PAD_LEFT);
  }
}

 

Pro návrat k původnímu Označení objednávky písmeny stačí odpoznámkovat první return a zapoznámkovat druhý (funguje ve Front Office).

  • Like 2

Share this post


Link to post
Share on other sites

Aktualizace: nová úprava souboru /override/classes/order/Order.php funguje i v e-mailech

 

<?php

class Order extends OrderCore
{
public function getUniqReference()
{
	$query = new DbQuery();
	$query->select('MIN(id_order) as min, MAX(id_order) as max');
	$query->from('orders');
	$query->where('id_cart = '.(int)$this->id_cart);
	$query->orderBy('id_order');

	$order = Db::getInstance()->getRow($query);

	/*if ($order['min'] == $order['max'])
		return $this->reference;
	else
		return $this->reference.'#'.($this->id + 1 - $order['min']);*/

    return sprintf('%06d', $this->id);

}
public static function getUniqReferenceOf($id_order)
{
	$order = new Order($id_order);
	return $order->getUniqReference();
}
}   

Edited by Stano Novák (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Díky moc!! Použiju, vyzkouším... Nechápu proč v administraci aspoň neudělali volbu čísla (kódu) objednávky...

Share this post


Link to post
Share on other sites

Pro zobrazení VS jako čísla v bankwire (bankovní převod) stačí upravit file modules/bankwire/views/templates/hook/payment_return.tpl

 

soubor přikládám v příloze

payment_return.zip

  • Like 1

Share this post


Link to post
Share on other sites

Díky, moc pomohlo. Ctěl bych se jen zeptat, kde nebo jak zjisti seznam proměnných, které můžu do šablony použít? Např. že je %d číslo objednávky a %s je ta reference.

  • Like 1

Share this post


Link to post
Share on other sites

Ahoj, mám prestu 1.5.2, ale ani při úpravě kódu mi to nefunguje. Předtím byl soubor order.php téměř prázdný. Má někdo nějaký nápad?

Share this post


Link to post
Share on other sites

Zkuste toto: http://brasilweb3.co...a-para-pedidos/

 

Stačí změnit jedna věc a pozmění se to všude.

 

Ale nejraději bych byl, kdyby místo generovaného kódu bylo jen číslo objednávky jako VS (stejně jako dřív).

 

chapu-li to dobře tak tato uprava dal generuje nahodnou kombinaci cisel, jen vynecha pismena .. je to tak

Share this post


Link to post
Share on other sites

já to chápu tak, že jsem odmazal NO_ a používám NUMERIC:

case 'NUMERIC':
$str = '0123456789';
break;
case 'NO_NUMERIC':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

Share this post


Link to post
Share on other sites

Aktualizace: nová úprava souboru /override/classes/order/Order.php funguje i v e-mailech

 

<?php

class Order extends OrderCore
{
public function getUniqReference()
{
	$query = new DbQuery();
	$query->select('MIN(id_order) as min, MAX(id_order) as max');
	$query->from('orders');
	$query->where('id_cart = '.(int)$this->id_cart);
	$query->orderBy('id_order');

	$order = Db::getInstance()->getRow($query);

	/*if ($order['min'] == $order['max'])
		return $this->reference;
	else
		return $this->reference.'#'.($this->id + 1 - $order['min']);*/

	return sprintf('%06d', $this->id);

}
public static function getUniqReferenceOf($id_order)
{
	$order = new Order($id_order);
	return $order->getUniqReference();
}
}   

Pro zobrazení VS jako čísla v bankwire (bankovní převod) stačí upravit file modules/bankwire/views/templates/hook/payment_return.tpl

 

soubor přikládám v příloze

 

Potvrzuju funkčnost pro 1.5.3.1

Bez Vás bych to rozkopal. Díky!

Share this post


Link to post
Share on other sites

Kdyz nebudete jen cekat kdo co sem hodi a trochu prohledate forum , je tu velmi dobre udelany modul ktery vse resi .. ba do koncoce pridava vice nez by se od toho cekalo a je FREE

  • Like 1

Share this post


Link to post
Share on other sites

Kdyz nebudete jen cekat kdo co sem hodi a trochu prohledate forum , je tu velmi dobre udelany modul ktery vse resi .. ba do koncoce pridava vice nez by se od toho cekalo a je FREE

jakej? :)

Share this post


Link to post
Share on other sites

Jak to mám udělat, aby se jako variabilní symbol zobrazilo tohle: 13020003.

Formátování je následující:

  1. První dva čísla jsou rok
  2. Druhá dvě čísla jsou měsíc
  3. Poslední číslo je číslo objednávky

Celé číslo by mělo být zarovnáno na 8 znaků. Nějak na tohle moje znalosti programování nestačí a nemůžu s tím hnout. :(

Share this post


Link to post
Share on other sites

... jak jinak uz jsem myslel ze nekoho pochvalim a dam mu like za snahu a misto toho .. JAKEJ?

 

tak tady mate link : https://www.dropbox....odrefchange.zip

 

Ahoj. Děkuji za super modul, ale teď pokud vyberu možnost platby při převzetí, zobrazí se mi chyba:

 

 

Chyba serveru

 

Při načítání adresy http://khortytsacz.c...very/validation narazily stránky na chybu. Na této adrese možná právě probíhá údržba stránek, nebo jsou stránky chybně nakonfigurovány.

 

 

Poraďte, co s tím mohu udělat?

Edited by Gorshoksv (see edit history)

Share this post


Link to post
Share on other sites

po pouziti modulu ktery je tady z dropboxu mi neslo udelat posledni krok objednavky , porad to hodilo chybu pro zakaznika ale objednavka byla v systemu spravne... radeji se vracim k pismenum ktere aspon funguji

verze presta 1.5.4.1

Share this post


Link to post
Share on other sites

Jak to mám udělat, aby se jako variabilní symbol zobrazilo tohle: 13020003.

Formátování je následující:

  1. První dva čísla jsou rok
  2. Druhá dvě čísla jsou měsíc
  3. Poslední číslo je číslo objednávky

Celé číslo by mělo být zarovnáno na 8 znaků. Nějak na tohle moje znalosti programování nestačí a nemůžu s tím hnout. :(

 

Tak odpovím si sám: :D

 

Upravit soubor override/classes/order/Order.php

 

class Order extends OrderCore
{
public static function generateReference()
   {
    $query = new DbQuery();
    $query->select('MAX(id_order) as max');
    $query->from('orders');
    $query->where('id_cart' > 0);
    $order = Db::getInstance()->getRow($query);
    $reference = $order['max'] +1 ;
    $datum = Date('Ym');
    $reference = $datum.$reference;
    return sprintf('%010d', $reference);
   }
}

Share this post


Link to post
Share on other sites

Tak odpovím si sám: :D

 

Upravit soubor override/classes/order/Order.php

 

class Order extends OrderCore
{
public static function generateReference()
    {
	    $query = new DbQuery();
	    $query->select('MAX(id_order) as max');
	    $query->from('orders');
	    $query->where('id_cart' > 0);
	    $order = Db::getInstance()->getRow($query);
	    $reference = $order['max'] +1 ;
	    $datum = Date('Ym');
	    $reference = $datum.$reference;
	    return sprintf('%010d', $reference);
    }
}

Pěkný

Share this post


Link to post
Share on other sites

Ahoj všem,

nainstaloval jsem modul pro změnu čísel objednávek ale po nainstalování mně přestalo fungovat zobrazování faktur a dodáků u již proběhlých objednávek. Nevíte, čím to je?... Presta 1.5.6.2

Po stisknutí na ikonku faktury nebo DL se zobrazí bílá stránka a nic dál...

Tak jsem modul odinstaloval a nepomohlo a teď už nejde ani nainstalovat zpět.

Díky

 

Poznatek:

Už vím, že problém bude někde v souboru class_index.php který se nachází ve složce root/cache

Edited by Nicocz (see edit history)

Share this post


Link to post
Share on other sites

Nehapu proc na to hledate nejaky modul. Podle me je perfektni ze presta 1.5 dodatecne k cislu objednavky generuje ted a jmeno objednavky. Nicmene cislo objednavky nikam nezmizelo. Ma to hodne duvodu. Napriklad aby konkurence nemohla spocitat pocet objednavek u vas, obcasnym vytvarenim zkusebni objednavky a pod.  Ale pokud nechcete aby zakaznik misto jmena objednavky videl cislo objednavky, coz je potreba napriklad u VS bankovniho prevodu, tak staci u te sablony, misto {order_name} dat {id_order} misto zasahu do presty. 

Share this post


Link to post
Share on other sites

Ahoj.

 

Tak kolem "číslování" objednávek pro PS 1.5.xx studuju fórum už skoro hodinu, ale úplně moudrý z toho, jaké řešení vybrat, nejsem. Někdo doporučuje http://prestadev.nl/en/mod/administrative-tools/8-order-reference-change-module.html, někdo zase varuje, že se zbořil systém...

 

Hlavně mne překvapuje, že není jednoznačně vyřešeno... Nejde nezbytně o nutnost definování nějaké vlastní sofistikované řady, ale o to, že implicitní formát IFFFPHAKR prostě v Česku přece nelze použít jako variabilní symbol. Nebo...?

 

Jak to tedy změním NEJJEDNODUŠEJI na čísla?

 

Díky.

d

Share this post


Link to post
Share on other sites

Ahoj.

 

Tak kolem "číslování" objednávek pro PS 1.5.xx studuju fórum už skoro hodinu, ale úplně moudrý z toho, jaké řešení vybrat, nejsem. Někdo doporučuje http://prestadev.nl/en/mod/administrative-tools/8-order-reference-change-module.html, někdo zase varuje, že se zbořil systém...

 

Hlavně mne překvapuje, že není jednoznačně vyřešeno... Nejde nezbytně o nutnost definování nějaké vlastní sofistikované řady, ale o to, že implicitní formát IFFFPHAKR prostě v Česku přece nelze použít jako variabilní symbol. Nebo...?

 

Jak to tedy změním NEJJEDNODUŠEJI na čísla?

 

Díky.

d

upravit primo soubor classes/order/Order.php

 

tak ze najdete funkci generateReference()

 

a upravite ji takto :

 

public static function generateReference()

            {

                        $query = new DbQuery();

                        $query->select('MAX(id_order) as max');

                        $query->from('orders');

                        $query->where('id_cart' > 0);

                        $order = Db::getInstance()->getRow($query);

                        $reference = $order['max'] +1 ;

                        return sprintf('%06d', $reference);

           

           

            }

 

zmeny se projevi az u nove objednavky kazdopadne se vam zmeni i variabilni symbol v emailech a samozrejme vsude kde se reference number vyskytuje bez dalsich uprav.

Share this post


Link to post
Share on other sites

upravit primo soubor classes/order/Order.php

 

tak ze najdete funkci generateReference()

 

a upravite ji takto :

 

public static function generateReference()

            {

                        $query = new DbQuery();

                        $query->select('MAX(id_order) as max');

                        $query->from('orders');

                        $query->where('id_cart' > 0);

                        $order = Db::getInstance()->getRow($query);

                        $reference = $order['max'] +1 ;

                        return sprintf('%06d', $reference);

           

           

            }

 

zmeny se projevi az u nove objednavky kazdopadne se vam zmeni i variabilni symbol v emailech a samozrejme vsude kde se reference number vyskytuje bez dalsich uprav.

A nepríde ti žiaden autetifikačný e-mail ohľadom tejto zmenej objednávky. Ak zmeníš natvrdo kód.

Edited by mitro2666 (see edit history)

Share this post


Link to post
Share on other sites

upravit primo soubor classes/order/Order.php

 

tak ze najdete funkci generateReference()

 

a upravite ji takto :

 

public static function generateReference()

            {

                        $query = new DbQuery();

                        $query->select('MAX(id_order) as max');

                        $query->from('orders');

                        $query->where('id_cart' > 0);

                        $order = Db::getInstance()->getRow($query);

                        $reference = $order['max'] +1 ;

                        return sprintf('%06d', $reference);

           

           

            }

 

zmeny se projevi az u nove objednavky kazdopadne se vam zmeni i variabilni symbol v emailech a samozrejme vsude kde se reference number vyskytuje bez dalsich uprav.

 

Použil jsem tuto úpravu a na číslo objednávky to zafungovalo. Čemu nerozumím že když si vygeneruju fakturu např. k objednávce č. 00015 tak ve faktuře mám  sice Číslo objednávky:000015 ale  taky číslo faktury  #in000011 prostě o 4 nižší, než je čílso objednávky. Tuší někdo z čeho se bere číslo faktury,  měl jsem za to že ty čisla by měla být stejná.

Děkuji za případnou napovědu

Share this post


Link to post
Share on other sites

Použil jsem tuto úpravu a na číslo objednávky to zafungovalo. Čemu nerozumím že když si vygeneruju fakturu např. k objednávce č. 00015 tak ve faktuře mám  sice Číslo objednávky:000015 ale  taky číslo faktury  #in000011 prostě o 4 nižší, než je čílso objednávky. Tuší někdo z čeho se bere číslo faktury,  měl jsem za to že ty čisla by měla být stejná.

Děkuji za případnou napovědu

Co se týče účetnictví, tak číselná řada objednávek a faktur nemusí souhlasit. Vím, že to lépe vypadá a lehce se faktura přiřadí k objednávce. Ale k tomu je i na faktuře číslo objednávky. Reálně by to šlo udělat aby hned po vygenerování objednávky se vygenerovala faktura. Nyní se vygeneruje až po provedené platbě. Pokud by to tak bylo a generovalo by to hned i fakturu a pak zákazník nezaplatí, nepřevezme zboží, pak budeš muset fakturu stornovat. Proto je to asi udělaný nyní takto.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More