Temat: Fakturomat

AIR śmierdzi ;P
już lepiej QT4 ;)
Paweł Makowski:
W c++? Będzie wielo-platformowy czy tylko dla win ?
Może w AIR aby na wszystkie platformy?

konto usunięte

Temat: Fakturomat

Krzysztof Korzeniewski:
AIR śmierdzi ;P
już lepiej QT4 ;)
Paweł Makowski:
W c++? Będzie wielo-platformowy czy tylko dla win ?
Może w AIR aby na wszystkie platformy?

Czemu AIR śmierdzi? Bardzo przyjemnie się w nim pracuje.
QT4? A co windowsem ? Zadziała na nim ?

Temat: Fakturomat

Heh, panowie.

Sęk w tym, że programista ze mnie kiepski. Z języków znam (dłubałem) tylko w C++ a i to bez szaleństw. Myślałem o AIR ale tego też musiałbym się nauczyć i pewnie jeszcze kupić IDE i kompilator. A nie jest to głównym profilem mojej działalności :)

BTW. Przyłączam się do pytania Pawła.
Jarek W.

Jarek W. Software Engineer

Temat: Fakturomat

Paweł Makowski:
QT4? A co windowsem ? Zadziała na nim ?

Tak: http://pl.wikipedia.org/wiki/Qt

konto usunięte

Temat: Fakturomat

Paweł Makowski:
Czemu AIR śmierdzi? Bardzo przyjemnie się w nim pracuje.
QT4? A co windowsem ? Zadziała na nim ?
Qt już od ładnych paru lat śmiga na windowsach. IMHO c++ z Qt to łatwy i przyjemny sposób na napisanie multiplatformowej aplikacji. Proste klaski do wszystkiego, świetne gui, obsługuje multum baz danych itp. Dodatkowo stylowanie gui za pomocą css, jest też zintegrowana z webkitem, więc od biedy można aplikacje i w html/js napisać ;)
Jarek W.

Jarek W. Software Engineer

Temat: Fakturomat

Takie moje małe podsumowanko, może coś się przyda. :-)

Zalety:
- Freeware
- Prosty i zgrabny interfejs

Wady:
- Troszkę pachnie PHP4 (konstruktory klas, zasięg widoczności pól i metod), a od dawna są czasy PHP5
- Słaby dobór nazw dla zmiennych, funkcji, metod i klas (po kilku miesiącach przerwy od kodu można zapomnieć co z czym się je)

Uwagi:
- Mi w FF, IE i Chrome, pomimo że w meta jest ustawione kodowanie ISO-8859-2, wyświetla się domyślnie jako UTF-8, co powoduje pojawienie się "krzaczków"
- Można by pomyśleć nad możliwością decyzji (w konfiguracji) gdzie chce się przetrzymywać dane (pliki, baza)
- Można by pomyśleć, by zamiast "echować" niektóre elementy kodu HTML, wyjąć poza <?php ... ?>
- Przy tej okazji można by użyć alternatywnej składni PHP dla if-ów i foreach-ów (ale to już kwestia gustu) - patrz: http://php.net/manual/en/control-structures.alternative-syntax.php
- Może warto "przypiąć" licencję do tego softu: GPL, LGPL czy inną, np. WTFPL (http://sam.zoy.org/wtfpl/) ;-)

Pytania (z ciekawości):
- Dlaczego wersja strukturalno-makaronowa, a nie obiektowa? (rozumiem, że może chodzić o wysoką wydajność, ale tutaj to nie wiem, czy tak dużo się zyska na tym)
- Czy nie warto by było użyć do JS jakiejś prostej biblioteki typu jQuery?

Życzę powodzenia w dalszym rozwoju aplikacji. :-)

Temat: Fakturomat

Jarek W.:
Takie moje małe podsumowanko, może coś się przyda. :-)

Z pewnością :)
Zalety:
- Freeware
- Prosty i zgrabny interfejs

Dzięki :)

Wady:
- Troszkę pachnie PHP4 (konstruktory klas, zasięg widoczności pól i metod), a od dawna są czasy PHP5

Cóż, nie jestem tak dobrym programistą jak się może wydawać. Stąd mój kod jest jaki jest. Zdaję sobie sprawę z jego niedoskonałości i wiem, że czegoś wielkiego bym nie napisał. Niemniej do małych rzeczy jest OK :)
- Słaby dobór nazw dla zmiennych, funkcji, metod i klas (po kilku miesiącach przerwy od kodu można zapomnieć co z czym się je)

True. To będzie dopracowywane. Na razie kod jest pisany i poprawiany na bieżąco. Nie jest to moja praca komercyjna, więc siadam do tego w wolnym czasie. Niemniej będę to szlifował, dodam definicję stałych, pozmieniam nazwy itp. W trakcie pisania nawet tej pierwszej wersji wyszło, że niektórych metod w ogóle nie potrzebuję (skasowałem), inne wykorzystałem inaczej. To się będzie zmieniać :)

Uwagi:
- Mi w FF, IE i Chrome, pomimo że w meta jest ustawione kodowanie ISO-8859-2, wyświetla się domyślnie jako UTF-8, co powoduje pojawienie się "krzaczków"

Hmm... To ciekawe. Nigdy się z tym nie spotkałem. Jeśli znasz rozwiązanie problemu, to chętnie go poznam. Jeśli nie, będe musiał poszukać...

- Można by pomyśleć nad możliwością decyzji (w konfiguracji) gdzie chce się przetrzymywać dane (pliki, baza)

Można. Ale moje założenie (nie tylko w tym przypadku) jest "robić jak najprościej". Można dodać full konfigurację wszystkiego. Ale po co?

- Można by pomyśleć, by zamiast "echować" niektóre elementy kodu HTML, wyjąć poza <?php ... ?>

Owszem. Przeszło mi to przez myśl. Ale czy przez to kod nie stanie się zbyt nieczytelny? W sumie w zakładce "o programie" tak właśnie zrobiłem ;)

- Przy tej okazji można by użyć alternatywnej składni PHP dla if-ów i foreach-ów (ale to już kwestia gustu) - patrz: http://php.net/manual/en/control-structures.alternative-syntax.php


Ciekawe to. Wezmę pod uwagę podczas szlifowania kodu.
- Może warto "przypiąć" licencję do tego softu: GPL, LGPL czy inną, np. WTFPL (http://sam.zoy.org/wtfpl/) ;-)

No to już temat na zakończenie. Samo napisanie helpa było dla mnie męką a co dopiero wgłębianie się w licencje. No ale to dopiero wersja 0.1. Jak dojdę do 1.0 to coś wymyślę.

Cały czas docelowo chciałbym zrobić z tego aplikację desktopową. Właśnie ściągam sobie jakieś materiały i środowiska do QT i AIR. Jak będę miał czas, to przysiądę nad tym.

Pytania (z ciekawości):
- Dlaczego wersja strukturalno-makaronowa, a nie obiektowa? (rozumiem, że może chodzić o wysoką wydajność, ale tutaj to nie wiem, czy tak dużo się zyska na tym)

Raczej kwestia mojego skilla. Jestem tym, czego większość z Was nie lubi grafikiem-programistą. W związku z tym umiem jedno i drugie ale w żadnym nie jestem wymiataczem.

Druga sprawa to pisanie z doskoku, bez super dokładnego przygotowania poza zarysem działania, który i tak zmienił się zupełnie. Wydatków np. w ogóle nie było w planie a okazało się, że napisanie tego to jakaś godzina czasu a przydaje się :)
Wszystko wychodzi w trakcie.
- Czy nie warto by było użyć do JS jakiejś prostej biblioteki typu jQuery?

Po co? Moja własna w zupełności zaspokaja potrzeby aplikacji. Przynajmniej na chwilę obecną.

Życzę powodzenia w dalszym rozwoju aplikacji. :-)

Dzięki.

Temat: Fakturomat

Przemysław R.:
jeżeli chcesz to rozbudowywać w kierunku desktopowym to może zastanowić się nad zmianą technologii zanim narobisz się przy projekcie na bardziej desktopową

Heh, chodzi mi to po głowie od samego początku. Ale:
1. Potrzebuję tego dla siebie na teraz. Wystawianie FV w Calcu mnie wkurza, w dodatku pilnowanie, kto zapłacił a kto nie. Więc musi działać. I działa.
2. Wychodzę z założenia, żeby w najprostszym dla mnie języku dopracować funkcjonalność a nie męczyć się z pierdołą, która mnie zatnie. To strasznie deprymujące jak czasami kilka godzin siedzę nad czymś. Jak już TO będzie działać to pozostanie mi już tylko przepisanie
3. Mam czas na wybór (i nauczenie się) technologii. Znam C/C++ ale raczej w kwestii kodowania. GUI i inne mnie przeraża. Nie chcę korzystać z wielkich kombajnów więc z miejsca Buildery, JBuildery, Nety odpadają. Zawsze lubiłem Dev_Cpp. Teraz dochodzi QT czy wxWindows. No i AIR.
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Fakturomat

devcpp jest stare jak swiat i od dawien dawna nierozwijane,
co do samego c++ ja bym sie na twoim miejscu zastanowil bo napisanie czegos co sie nie wysypuje i dziala na przynajmniej dwuch platformach wcale nie jest proste i wymaga takze znacznie wiekszych zasobow niz chociazby kodzienie w php,
imho jezeli powaznie myslisz o desktopie w tym linuchu to sproboj napisac to w javie, masz wbudowany gui, jestes wzglednie niezalezny od platformy sprzetowej i przedewszystkim masz wieksza kontrole nad bledami

Temat: Fakturomat

Łukasz Cepowski:
devcpp jest stare jak swiat i od dawien dawna nierozwijane,

Wiem. Szkoda. Gdzieś na dysq mam też CodeBlock, ale odpaliłem tylko raz.
co do samego c++ ja bym sie na twoim miejscu zastanowil bo napisanie czegos co sie nie wysypuje i dziala na przynajmniej dwuch platformach wcale nie jest proste i wymaga takze znacznie wiekszych zasobow niz chociazby kodzienie w php,
imho jezeli powaznie myslisz o desktopie w tym linuchu to sproboj napisac to w javie, masz wbudowany gui, jestes wzglednie niezalezny od platformy sprzetowej i przedewszystkim masz wieksza kontrole nad bledami

Wiesz, tak naprawde to nie myślałem o cross-platform. Ja to piszę głównie dla siebie (pod Windę) a przy okazji mogę uszczęśliwić jeszcze kogoś. Jeśli miałbym wchodzić w wieloplatformowość, uniwersalność i całą masę kodowania, to nie ma bolca - program będzie musiał być płatny.

W drugiej strony nie mówię NIE. Jeśli program dalej będzie tak przyjmowany jest teraz, dopracuję go w PHP i będą chętni, żeby go zakupić a mi się będzie opłacało przekwalifikować na programistę to zrobię to. Nawet nauczę się Javy. W końcu nikt mi nie każe siedzieć w DTP/webdesignie do końca życia :)

Niemniej to już temat na dalszą przyszłość. Póki co nie narzekam na brak pracy.
Stanisław P.

Stanisław P. Software designer

Temat: Fakturomat

Andrzej K.:
Cały czas docelowo chciałbym zrobić z tego aplikację desktopową. Właśnie ściągam sobie jakieś materiały i środowiska do QT i AIR. Jak będę miał czas, to przysiądę nad tym.
A może zamiast portować wszystko na c++, co będzie trochę męczące, zrzucisz całość na przeglądarkę? Odpowiednie komponentowe biblioteki do JS już istnieją, każda nowsza przeglądarka obsługuje localstorage, więc sprawa danych odpada (a nawet możesz wtedy zrobić interfejs i do lokalnego dysku i do jakiegoś serwera). Odpada problem crashy / kompilacji. Odpada męczenie się z samą warstwą prezentacji która w QT najprostsza nie jest. Bajery jak drukowanie dostajesz od przeglądarki za darmo. Tak samo wieloplatformowość. itp. itd.
Nie mówię, że przejście na natywny program jest złe, ale daję alternatywę.

Temat: Fakturomat

Stanisław Pitucha:
Andrzej K.:
Cały czas docelowo chciałbym zrobić z tego aplikację desktopową. Właśnie ściągam sobie jakieś materiały i środowiska do QT i AIR. Jak będę miał czas, to przysiądę nad tym.
A może zamiast portować wszystko na c++, co będzie trochę męczące, zrzucisz całość na przeglądarkę? Odpowiednie komponentowe biblioteki do JS już istnieją, każda nowsza przeglądarka obsługuje localstorage, więc sprawa danych odpada (a nawet możesz wtedy zrobić interfejs i do lokalnego dysku i do jakiegoś serwera). Odpada problem crashy / kompilacji. Odpada męczenie się z samą warstwą prezentacji która w QT najprostsza nie jest. Bajery jak drukowanie dostajesz od przeglądarki za darmo. Tak samo wieloplatformowość. itp. itd.
Nie mówię, że przejście na natywny program jest złe, ale daję alternatywę.

Możesz przybliżyć temat? Jakieś linki? Bo o ile dobrze rozumiem, to nie potrzebuję PHP żeby zapisywać pliki? Wtedy faktycznie wystarczyłby JS. Inna sprawa, że dobrze byłoby mieć fakturę jako PDF. Owszem, można wydrukować na wirtualną drukarkę, ale mimo wszystko własnoręczne formatowanie PDFa daje więcej możliwości.
Krystian Rożewicz

Krystian Rożewicz Admin. /
Programista PHP

Temat: Fakturomat

W programie brakuje:
- możliwości poprawienia faktur, dodanie ilości danego towaru, ceny,
- wyszukiwania faktur po numerze
- program mógłby także wystawiać paragony w wersji pdf (oczywiście nie zastąpiłoby to paragonów z kas fiskalnych, a jedynie identyfikacje produktu jaki klient kupił, bo sklepy komputerowe często zastępują ogólną nazwę części nazwą "Część komputerowa" na paragonie)
- problem z wygenerowanymi plikami pdf w FoxReader'a w wersji 2.0 Build 0930

Nie przyjrzałem się kodowi, i oceniam program jak pracownik obsługujący program...
Nie wiem jak z archiwizacją, czy w faktury są widoczne przez cały rok/od początku zainstalowania programu.
Zastanawia mnie też fakt nazw skróconych klientów, bo przykładowo 2 klientów mając podobną nazwę firmy np. spółki mogą być mylone przez pracowników :)

Jak coś jeszcze zauważę to dodam kolejny post... Jutro przyjrzę się stronie technicznej skryptu :)
Stanisław P.

Stanisław P. Software designer

Temat: Fakturomat

Andrzej K.:
Możesz przybliżyć temat? Jakieś linki? Bo o ile dobrze rozumiem, to nie potrzebuję PHP żeby zapisywać pliki? Wtedy faktycznie wystarczyłby JS. Inna sprawa, że dobrze byłoby mieć fakturę jako PDF. Owszem, można wydrukować na wirtualną drukarkę, ale mimo wszystko własnoręczne formatowanie PDFa daje więcej możliwości.
Właśnie szukając linka zauważyłem, że lokalny storage ma ograniczenia miejsca, więc raczej się nie nada...
https://developer.mozilla.org/en/dom/storage#localStorage
Ew. przez ładny wrapper:
http://www.jstorage.info/

konto usunięte

Temat: Fakturomat

Stanisław Pitucha:
Andrzej K.:
Cały czas docelowo chciałbym zrobić z tego aplikację desktopową. Właśnie ściągam sobie jakieś materiały i środowiska do QT i AIR. Jak będę miał czas, to przysiądę nad tym.
A może zamiast portować wszystko na c++, co będzie trochę męczące, zrzucisz całość na przeglądarkę? Odpowiednie komponentowe biblioteki do JS już istnieją, każda nowsza przeglądarka obsługuje localstorage, więc sprawa danych odpada (a nawet możesz wtedy zrobić interfejs i do lokalnego dysku i do jakiegoś serwera). Odpada problem crashy / kompilacji. Odpada męczenie się z samą warstwą prezentacji która w QT najprostsza nie jest. Bajery jak drukowanie dostajesz od przeglądarki za darmo. Tak samo wieloplatformowość. itp. itd.
Nie mówię, że przejście na natywny program jest złe, ale daję alternatywę.
To jest bardzo dobra myśl. Niekoniecznie storage, ale np. http://dev.w3.org/html5/webdatabase/

Generowanie pdf można na własnym serwerze postawić. Użytkownik wysyła JSON'a, a zwracany jest plik PDF. Może też dałoby radę ogarnąć te pdfy bez łączenia do sieci, trzeba by pomyśleć i poszukać ;p
Stanisław P.

Stanisław P. Software designer

Temat: Fakturomat

Kamil Brenk:
Generowanie pdf można na własnym serwerze postawić. Użytkownik wysyła JSON'a, a zwracany jest plik PDF. Może też dałoby radę ogarnąć te pdfy bez łączenia do sieci, trzeba by pomyśleć i poszukać ;p
Pewnie się da... jeśli tylko jest generator PDF'ów w JS (na pewno ktoś się już tego podjął), to można wrzucać wyniki do linków zakodowanych base64 - są ściągalne jako pliki jeśli dobrze pamiętam.

Oczywiście:
http://snapshotmedia.co.uk/blog/jspdf
I albo:
http://www.downloadify.info/
Albo po prostu jeśli można obrazki, to pdf też pewnie da się zakodować bez udziału serwera...
http://www.kawa.net/works/js/data-scheme/base64-e.html

Temat: Fakturomat

Krystian Rożewicz:
W programie brakuje:
- możliwości poprawienia faktur, dodanie ilości danego towaru, ceny,

Nie wiem, czy o to Ci chodzi, ale faktury można poprawiać do chwili ich opłacenia. Po kliknięciu dolara faktura jest już nieedytowalna. Wtedy już tylko faktura korygująca, której jeszcze nie zaimplementowałem.
- wyszukiwania faktur po numerze

Dobry pomysł. Ale nie bardzo rozumiem ideę. Ludzie łatwiej zapamiętują np. KOMU coś sprzedali niż abstrakcyjny numer. Ale pomysł do przemyślenia :)
- program mógłby także wystawiać paragony w wersji pdf (oczywiście nie zastąpiłoby to paragonów z kas fiskalnych, a jedynie identyfikacje produktu jaki klient kupił, bo sklepy komputerowe często zastępują ogólną nazwę części nazwą "Część komputerowa" na paragonie)

OK.
- problem z wygenerowanymi plikami pdf w FoxReader'a w wersji 2.0 Build 0930

Nie wiem, czy coś na to poradzę, bo musiałbym grzebać w kodzie biblioteki. Ale może nowsze wersje biblioteki będą miały to poprawione. Może też będą obsługiwać nowsze wersje plików graficznych bo na razie to średnio to wygląda.

Nie przyjrzałem się kodowi, i oceniam program jak pracownik obsługujący program...

I słusznie. W kod lepiej nie zaglądać, bo stracisz do mnie szacunek :)))))

Nie wiem jak z archiwizacją, czy w faktury są widoczne przez cały rok/od początku zainstalowania programu.

Lista miesięcy z lewej jest zawsze widoczna od początku do końca. Jeśli zrobi się za długa to pomyślę o wstępnym filtrowaniu wg roku a dopiero potem wg miesiąca.
Zastanawia mnie też fakt nazw skróconych klientów, bo przykładowo 2 klientów mając podobną nazwę firmy np. spółki mogą być mylone przez pracowników :)

No właśnie dodałem to dla ułatwienia. Łatwiej napisać (i potem wyszukać) firma XXX w Lublinie niż dawać pełną nazwę. Sam mam klienta z 4 oddziałami, które w nazwie pełnej różnią się tylko właścicielami, a nazwie skróconej napisałem sobie po prostu miasta i łatwo odnajduję. A podczas dodawania faktury i wyborze firmy w ramce poniżej pojawiają się pełne dane. Więc w czym problem? No chyba że masz lepszy pomysł, bardziej przyjazny.

Inna sprawa, że nie wspomniałem chyba o głównym założeniu, jakie przyświecało mi podczas pisania aplikacji. Jest ona raczej dla firm 1-osobowych. Stąd zero zabezpieczeń, także przed próbą jednoczesnego zapisu do pliku. Duże firmy i wybiorą duży kombajn w rodzaju Płatnika, Subiekta czy co tam jest. Ja wystawiam kilka faktur w miesiącu i w zasadzie wystarczyłaby aplikacja w Accesie o której pisał Przemek. Tylko Accesa nie mam :)

Ale w sumie... zobaczymy jak to się rozwinie. Na razie w wolnych chwilach przegryzam się przez teorię księgowości, fakturowania, wymogów prawnych, żeby nie zrobić jakiejś głupoty.

Jak coś jeszcze zauważę to dodam kolejny post... Jutro przyjrzę się stronie technicznej skryptu :)

Jak pisałem, może lepiej nie... ;)
Bartosz Ratajczyk

Bartosz Ratajczyk MS SQL Developer

Temat: Fakturomat

Jak piszesz o potencjalnym GUI w przyszłości, ale głównie znasz PHP, to może zainteresuje Cię Winbinder - http://winbinder.org/

Kiedyś przy jego pomocy udało mi się sklecić całkiem funkcjonalną aplikację okienkową działającą pod Windowsami i którą podobno udawało się odpalać pod Wine.

Przez długi czas projekt był martwy, ale widzę, że na początku października pojawiła się nowa wersja, więc jest może szansa na rozwój.

Temat: Fakturomat

Bartosz Ratajczyk:
Jak piszesz o potencjalnym GUI w przyszłości, ale głównie znasz PHP, to może zainteresuje Cię Winbinder - http://winbinder.org/

Widziałem to, bo już poszukiwałem jakiegoś konwertera PHP -> EXE (wątek http://www.goldenline.pl/forum/1977670/kompilator-do-s....
Kiedyś przy jego pomocy udało mi się sklecić całkiem funkcjonalną aplikację okienkową działającą pod Windowsami i którą podobno udawało się odpalać pod Wine.

Nie mam problemu z prostymi aplikacjami windowsowymi. Umiem oprogramować okienka dialogowe. Problem stanowią już większe komponenty typu tabelki. To wszystko można zrobić kilkoma kliknięciami w Builderze. Tylko ja nie cierpię buildera :)
Przez długi czas projekt był martwy, ale widzę, że na początku października pojawiła się nowa wersja, więc jest może szansa na rozwój.

W sumie najlepszy byłby http://www.exeoutput.com
Ale jakoś nie mogłem go podczas testów zmusić do wygenerowania działającego EXEka. Kompilator był bardziej kapryśny niż IE (tylko tu chodziło o PHP a nie HTML). Odpuściłem go sobie, ale ten projekt ma moc.
Bartosz Ratajczyk

Bartosz Ratajczyk MS SQL Developer

Temat: Fakturomat

W Winbinderze nie musisz kompilować do exe. Możesz wykorzystać dodatek w postaci "odpalacza" - h_exec ale nie jest wymagane.

Mnie się podobało, że nie muszę nic kompilować, tylko piszę kod PHP, odpalam i widzę efekty.



Wyślij zaproszenie do