konto usunięte

Temat: Grzebanie w kodzie generatora sprawozdań ;)

Uwaga - nie polecam korzystania z tej metody osobom, które nie znają JavaScriptu

Znalazłem fajny sposób na szybkie "wstrzelenie" w generator zestawienia faktur. Nie ma to nic wspólnego z ingerencją w kod, włamaniem, łamaniem prawa ani hackingiem - po prostu to droga na skróty przy ręcznym wykorzystaniu funkcji generatora. Jedyny wymóg, to posiadanie zestawienia w jakimś formacie, który można obrabiać. Ja mam excela ;)

Przykład zamieszczam jako ciekawostkę. Nie rekomenduję używania osobom, które nie maja pojęcia o tym jak to działa - jeśli nie rozumiesz poniższego opisu, to nawet nie próbuj. Nie ponoszę odpowiedzialności za użycie tych informacji.

Formularz jest generowany po stronie użytkownika i do momentu kliknięcia "zapisz" dane nie są przesyłane na serwer. Na starcie tabelka z zestawieniem jest pusta, a wartości są generowane w locie przez JavaScript.

Za wstawianie kolejnych dokumentów odpowiada funkcja:

dodaj_fakture2(nr_dokumentu_ksiegowego,nr_kategorii,nr_pozycji_w_kategorii,data_wydatku,nazwa_wydatku,kwota_wydatku,wydatek_z_dotacji,wydatek_z_wlasnych);


Przykład dla raportu za FIO 2010. FIO 2011 ma trochę inną konstrukcję funkcji.

Wystarczy spreparować plik z kolejnymi wywołaniami. Ja używam exportu z excela do CSV, a potem za pomocą "znajdź i zamień" przygotowuje plik, który wygląd mniej więcej tak:


dodaj_fakture2('FV 01','3','8','2011-05-01','lizaki','12.2','12.2','0');
dodaj_fakture2('FV 02','3','8','2011-06-01','organizacja grzybobrania','20','20','0');
dodaj_fakture2('FV 03','3','8','2011-06-09','środek na hemoroidy','48.5','48.5','0');
dodaj_fakture2('FV 04','3','8','2011-07-03','śliniaki','47','47','0');


Tak spreparowaną zawartość wystarczy wkleić do konsoli JavaScript w przeglądarce.

O czym należy pamiętać:
- liczby formatowane bez odstępów (23000 zamiast 23 000)
- w liczbach dziesiętnych "." zamiast ","
- w nazwach nie może być ' ani "
- wszystkie pozycje zamknięte w '
- ; na końcu linii!

Efekt - 200 dokumentów doczepionych po 5 minutach zabawy.

konto usunięte

Temat: Grzebanie w kodzie generatora sprawozdań ;)

sposób działa też w generatorach sprawozdań dla:
- FIO 2011
- FIO 2012
- ASOS
Grażyna S.

Grażyna S. Warsztat: ​BIŻUTERIA
PROSTO Z SERCA
Termin warsztatu:
​7...

Temat: Grzebanie w kodzie generatora sprawozdań ;)

Karol Krzyczkowski:
- ASOS


O fajnie :D
Przy nastepnym sprawozdaniu wykorzystam :)

konto usunięte

Temat: Grzebanie w kodzie generatora sprawozdań ;)

Generator sprawozdań ASOS II - zmienił się sposób przenoszenia danych w całym formularzu i poprzednie sposoby nie działają. Działa za to ten:

Potrzebne:
- zestawienie dokumentów w excelu, albo czymkolwiek innym, co pozwoli je przerzucić do odpowiedniej struktury w pliku tekstowym
- przeglądarka chrome (albo inna pozwalająca na edytowanie kodu HTML "na żywo"
- średniozaawansowana znajomość HTML i JS (zapytajcie waszych informatyków)

Używasz na własną odpowiedzialność!

1. Otwieramy generator sprawozdań "do edycji"
2. Znajdujemy tabelkę "4. Zestawienie faktur (rachunków)"
3. Na wierszu nr 1 klikamy prawym klawiszem i wybieramy "zbadaj element"
4. w edycji "Elements" znajdujemy znacznik <tr> formatujący dane z tabelki - według niego będziemy produkowani kolejne.
5. produkujemy kolejne wiersze tabelki zgodnie ze schematem - interesują nas dane "value"


<tr><td><span class="num">1</span></td><td><input name="nr_dokumentu[]" class="mini-input-text" type="text" value="11.20">   </td><td><select name="nr_kat[]" class="auto-width-select">
<option value="2,1" [b]selected="selected"[/b]></option>
</select></td><td><input class="datepicker mini-input-text" type="text" name="data_wydatku[]" value="01-01-1970"></td><td>

itd aż do </tr>


6. wklejamy kod "na żywca" w otworzony generator pod pierwszym wierszem (edit html)
7. klikamy "wyślij". Formularz sam zwaliduje dane, zamieni wszystkie "," na "." w liczbach dziesiętnych i prześle na serwer.

Ci którzy mają odpowiednią wiedzę z tym opisem sobie poradzą - reszcie nie radze się uczyć podstaw HTML od generatora ;)

Sposób jest toporny, ale działa. Funkcja zbiera dane z każdego wiersza tabelki w formularzu, niezależnie od tego, ile ich jest i przekazuje je w formacie JSON. Formularz jest pobierany przez dane sparsowane i trzymane w ukrytym iframe (kurde!). To by się dało zrobić ładniej, ale opisane przykład działa efektywnie i jest prawdopodobnie rozwiązaniem jednorazowym, zanim generator się zmieni por przyszłe FIO.

konto usunięte

Temat: Grzebanie w kodzie generatora sprawozdań ;)

A wszystko byłoby takie proste, gdyby ktoś udostępnił import danych w .csv :(

Następna dyskusja:

Generator sprawozdań FIO




Wyślij zaproszenie do