Witam.

To co podajesz to jest po raz kolejny modyfikacja źródeł. Tak diffem ale jest, o tym za chwilę.
Odnosząc się do tworzenia faktur sądzę że znalazłem niedopatrzenie ale może się mylę.
W pliku tcpdf.php jest odniesienie do Logo która ma się pojawić na fakturze jednak zmienna K_PATH_IMAGES jest w oryginale definiowana w osobnym pliku autoconfig który tutaj nie jest wczytywany zatem proponuję zmianę tak aby logo było czytane z miejsca które jest wskazane w opisie. W moim przypadku dla logo o równych bokach rozmiar 50 okazał się za duży gdyż wchodził w przestrzeń wystawiającego dlatego zmiana na 38:

--- tcpdf-org.php      2020-12-11 17:36:35.000000000 +0100
+++ tcpdf.php   2020-12-12 22:48:26.793112838 +0100
@@ -42,9 +42,9 @@
     public function Header()
     {
         /* insert your own logo in lib/tcpdf/images/logo.png */
-        $image_file = K_PATH_IMAGES . 'logo.png';
+        $image_file = 'lib/tcpdf/images/logo.png';
         if (file_exists($image_file)) {
-            $this->Image($image_file, 13, 10, 50, '', 'PNG', '', 'T', false, 300, '', false, false, 0, false, false, false);
+            $this->Image($image_file, 13, 10, 38, '', 'PNG', '', 'T', false, 300, '', false, false, 0, false, false, false);
         }
     }


Analizując plik LMSDocuments.php można dojść do wniosku iż wybranie zawartości faktury odbywa się w oparciu o podany plik przez użytkownika bądź o wcześniej zdefiniowane standardy co widać w tym fragmencie:
    public function Draw($data)
    {
        parent::Draw($data);
        if (isset($this->data['invoice'])) {
            $template = ConfigHelper::getConfig('invoices.cnote_template_file');
        } else {
            $template = ConfigHelper::getConfig('invoices.template_file');
        }
        switch ($template) {
            case "standard":
                $this->invoice_body_standard();
                break;
            case "FT-0100":
                $this->invoice_body_ft0100();
                break;
        }

Zatem, według mnie, nie ma potrzeby wprowadzania żadnej modyfikacji plików LMS tylko trzeba dojść do tego jak powinna wyglądać zawartość pliku template_file .php
Nie stety nigdzie nie natrafiłem chociażby na jakikolwiek wzór dlatego pojawiła się moja prośba.
Być może taka zawartość jest w LMS+ ale szczerze mówiąc kwota roczna jest dość spora jak na nasze potrzeby.
Zatem zostaje albo samemu dojść albo może jest ktoś kto rozpracował to i odsprzeda swój szablon za jakąś rozsądna kwotę. W razie czego proszę o kontakt prv.


W Twoim liście datowanym sobota, 12 grudnia 2020 (12:02:16) można przeczytać:


Diff :)

-class LMSTcpdfInvoice extends LMSInvoice
+class LMSTcpdfsaInvoice extends LMSInvoice

sob., 12 gru 2020 o 12:00 Przemysław Kudyba <zlyzwierz@gmail.com> napisał(a):

Nie wiem, czy dobrze zrozumiałem, ale chciałbyś mieć szablon FV, którego nie nadpisywałaby aktualizacja LMS-a.

Można to ogarnąć bardzo prosto dla FV :)

Jest tam w kodzie takie coś:

LMSManagers/LMSFinanceManager.php:

            if ($type == 'pdf') {
                $pdf_type = ConfigHelper::getConfig('invoices.pdf_type', 'tcpdf');
                $pdf_type = ucwords($pdf_type);
                $classname = 'LMS' . $pdf_type . 'Invoice';

 Wystarczy zmienną pdf_type (z poziomu uiconfig->invoices) z tcpdf zmienić na tcpdfsa.

Potem w lib/LMSDocuments
cp LMSTcpdfInvoice.php LMSTcpdfSaInvoice.php
i w LMSTcpdfSaInvoice.php zrobić:


--- LMSTcpdfSaInvoice.php 2020-12-12 11:58:05.450908840 +0100
+++ LMSTcpdfInvoice.php 2020-11-23 17:51:28.000000000 +0100
@@ -24,7 +24,7 @@
  *  $Id$
  */
 
-class LMSTcpdfsaInvoice extends LMSInvoice
+class LMSTcpdfInvoice extends LMSInvoice
 {
     const TCPDF_FONT = 'liberationsans';

potem composer update i voila :)

Dla innych szablonów nie próbowałem.

sob., 12 gru 2020 o 09:45 Andrzej Banach <andzio@net-komp.net.pl> napisał(a):

invoice.html

W dniu 12.12.2020 o 02:19, Marek Adamski pisze:
> Witaj Tomasz,
>
> Chcę wykorzystać opcję w LMS:
> invoices        template_file
> invoices        type    pdf
>
> Jeżeli dobrze rozumiem to po ustawieniu type = pdf a template_file = rachunek.php to plik rachunek.php będzie generował mi własny obraz dokumentu w pdf.
> Chcę zrobić rachunek.php aby zamiast napisu faktura pojawiał się napis rachunek.
> Wiem że mogę przerobić odpowiednie pliki kodu LMS albo tłumaczenia ale przy każdej aktualizacji pliki mogą zostać nadpisane albo nastąpić w nich zmiany.
> Dlatego też wolę zrobić plik rachunek.php umieszczony w templates aby przypadkiem moje zmiany nie zostały nadpisane z aktualizacją, jednak nie mam pojęcia jak taki plik powinien wyglądać. Próbowałem coś robić ale za każdym razem powstawał pusty dokument.
> Przydał by się jakiś przykładowy plik.
>
> W Twoim liście datowanym sobota, 12 grudnia 2020 (00:57:38) można przeczytać:
>
>> W dniu 12.12.2020 00:39, Marek Adamski napisał(a):
>>> Witaj Marek,
>
>> Witaj Tomasz ;-)
>
>>> To może chociaż jak powinien wyglądać szablon.php dla faktury pdf, bez
>>> zawartości. Próbuję to zrobić ale nie mam pojęcia jak się za to
>>> zabrać.
>>> Jak powinien wyglądać początek i koniec pliku bez tabel i całej reszty?
>
>> Skoro nikt nie odpowiedział to albo nikt nie miał czasu, albo nikt nie zrozumiał Twojego
>> pytania. Co chcesz uzyskać - wyizolować jakiś fragment kodu generującego wygląd faktury w PDF
>> bez jakichś specyficznych fragmentów? Opisz bardziej precyzyjnie ;-)
>
>
>
>
_______________________________________________
lms mailing list
lms@lists.lms.org.pl
https://lists.lms.org.pl/mailman/listinfo/lms



--
Pozdrowienia,
    ****************************
    * Marek (SirAdams) Adamski *
    *    LMS: 25   *
    *
http://www.siradams.com/ *
    *         GG:14747         *
    *    Linux user:#253788    *
    ****************************