konrad_151 Posted June 6, 2016 Share Posted June 6, 2016 Witam ! Jest jakaś możliwość na usunięcie lub wygenerowanie losowego numeru na fakturze ( http://imgur.com/CFVfISw ) ? Klient może pobrać fakturę po zakupie, a na nim widnieje ten numer po którym może się domyślić o ilości sprzedanych produktów, wiem że można ustawić żeby zaczęło numeracje od jakiejś liczby ale to nie załatwia problemu Nie rozumiem w ogóle celu istnienia tego numeru. Również po pobraniu faktury jej nazwa ma ten sam numer, która by wypadało zmienić. Przeszukałem forum szukając informacji na ten temat ale nigdzie nie niczego jednoznacznego. Jedynie znalazłem coś takiego ( http://prestashopforum.pl/index.php/topic,4894.0.html ) ale to jest 2011r. i nie wiadomo czy zadziała. Jak Wy sobie z tym radzicie ? Link to comment Share on other sites More sharing options...
endriu107 Posted June 6, 2016 Share Posted June 6, 2016 Numer faktury usuniesz w pliku header.tpl z katalogu pdf to jest title. Natomiast numer faktury jest generowany w HTMLTemplateInvoice.php tam powinna być funkcja typu Filename() 1 Link to comment Share on other sites More sharing options...
konrad_151 Posted June 6, 2016 Author Share Posted June 6, 2016 (edited) dzięki endriu107 ! Numer faktury usunąłem z tego pliku co powiedziałeś i wszystko działa, natomiast co można zrobić z tym kodem z pliku HTMLTemplateInvoice.php (w folderze classes/pdf) aby ta nazwa była jakaś inna ? /** * Returns the template filename when using bulk rendering * * @return string filename */ public function getBulkFilename() { return 'invoices.pdf'; } /** * Returns the template filename * * @return string filename */ public function getFilename() { $id_lang = Context::getContext()->language->id; $id_shop = (int)$this->order->id_shop; $format = '%1$s%2$06d'; if (Configuration::get('PS_INVOICE_USE_YEAR')) { $format = Configuration::get('PS_INVOICE_YEAR_POS') ? '%1$s%3$s-%2$06d' : '%1$s%2$06d-%3$s'; } return sprintf( $format, Configuration::get('PS_INVOICE_PREFIX', $id_lang, null, $id_shop), $this->order_invoice->number, date('Y', strtotime($this->order_invoice->date_add)) ).'.pdf'; } Edited June 6, 2016 by konrad_151 (see edit history) Link to comment Share on other sites More sharing options...
endriu107 Posted June 6, 2016 Share Posted June 6, 2016 (edited) Zamień w return sprintf( $format, Configuration::get('PS_INVOICE_PREFIX', $id_lang, null, $id_shop), $this->order_invoice->number, date('Y', strtotime($this->order_invoice->date_add)) ).'.pdf'; to: $this->order_invoice->number,na: intval( "0" . rand(1,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) ),Oczywiście możesz to zamienić na cokolwiek innego, to akurat będzie generowało losowe cyfry. EDIT. Jeszcze dodam że najlepiej zrób to za pomocą override. Edited June 6, 2016 by endriu107 (see edit history) 1 Link to comment Share on other sites More sharing options...
konrad_151 Posted June 6, 2016 Author Share Posted June 6, 2016 dzięki bardzo, wszystko działa, trzeba było dodać tylko "," na końcu tego kodu $random_number = intval( "0" . rand(1,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) ) Link to comment Share on other sites More sharing options...
endriu107 Posted June 7, 2016 Share Posted June 7, 2016 Ja w między czasie edytowałem ten kod i pewnie wziąłeś pierwszą wersje którą po kilku sekundach poprawiłem, nie jest również potrzebna deklaracja zmiennej zobacz wyżej na poprawiony to zobaczysz jak powinien wyglądać ostateczny kod. Link to comment Share on other sites More sharing options...
kaitux Posted September 6, 2016 Share Posted September 6, 2016 Ciekawe jakie będzie stanowisko fiskusa w sprawie losowego generowania numerów faktur Link to comment Share on other sites More sharing options...
endriu107 Posted September 6, 2016 Share Posted September 6, 2016 Tutaj z faktury całkowicie został usunięty numer, a losowe generowanie zostało dodane tylko do nazwy pliku pdf. Wiele osób potrzebuje czegoś takiego chociażby ze względu na to że faktury wystawiają w innym programie a ten plik ma służyć za potwierdzenie czy też podsumowanie zamówienia, jednocześnie chroniąc sie przed tym że konkurencja podejrzy ilość zamówień. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now