Kehitysehdotuksia

Started by Zori, 15.12.10 - klo:20:35

Previous topic - Next topic

Mihail

Aivan ensimäiseksi haluan kiittää mahtavasta kehitystyöstä ja hienon ohjelmiston luomisesta/jatkokehittämisestä. Olen käyttänyt PKlasku ohjelmistoa yritykseni laskutuksessa jo pitemmän aikaa ja olen muokannut ohjelman lähdekoodia aina tarpeen vaatiessa. Oli ilo havaita, että joku on ottanut asiakseen luoda paremman version.

Käytän laskutuksessani Helposti kuoria  eli isolla ikkunalla varustettuja C5 kirjekuoria, joten muokkasin kehotustekstejä sopivammaksi, näkyvät muuten osittain kuoren ikkunasta.

Ohessa muutama muokkaus tulostetun laskun ja erityisesti maksukehoituksen ja maksumuistutuksen ulkonäköön. Muokkaus kaventaa maksumuistutuksen selityskentän sellaiseksi, ettei se näy ikkunallisen kuoren ikkunasta.:

invoice.php  (VLlasku V 1.2 stable) tiedoston muokatut osuudet:
rivi 297 ->

if ($intStateId == 5)
{
 $pdf->SetX(108);
 $pdf->SetFont('Helvetica','B',9);
 $pdf->MultiCell(102, 5, sprintf($GLOBALS['locFIRSTREMINDERNOTE'], $strRefundedInvoiceNo), 0, 'L', 0);
 $pdf->SetFont('Helvetica','',10);
}
elseif ($intStateId == 6)
{
 $pdf->SetX(108);
 $pdf->SetFont('Helvetica','B',9);
 $pdf->MultiCell(102, 5, sprintf($GLOBALS['locSECONDREMINDERNOTE'], $strRefundedInvoiceNo), 0, 'L', 0);
 $pdf->SetFont('Helvetica','',10);
}


Lisäksi olisi kiva poistaa vastaanottajan sähköpostille varattu tila, mikäli sähköpostiosoitetta ei ole annettu. Tämä hoituu näppärästi kommentoimalla pois rivit 224 ja 225, mutta olisi kiva saada optio asetuksiin.

Mihail

Käytettävyyttä voisi parantaa lisäämällä yrityslistaan oletusyritys-määritys, jolloin uusiin laskuihin tulee oletuksena laskuttajaksi '-' sijaan oletukseksi valittu yritys ja käyttäjä säästyy yhdeltä ylimääräiseltä vaiheelta uusien laskujen luomisen aikana.

Ere Maijala

Muokkasin huomautustekstien sijoittelua, tosin tekstin koon säilytin entisellään. Onko käytössäsi kuitenkin versio 1.1, kun 1.2:ssa vastaava löytyy invoice_printer.php:sta? 1.2:ssa ajatuksena muuten oli, että tuon invoice_printer.php:ssa olevan InvoicePrinter-luokan voisi periä ja tehdä oman tulostusluokan, jossa overridataan tarpeelliset osat, mutta jäi miettimättä ihan loppuun asti luokkien nimeäminen, joten se ei vielä oikein onnistu.

1.2:ssa on myös muutos, että jos on vain yksi yritys, tulee se oletukseksi uudelle laskulle, mutta olisi toki fiksua, jos oletuksen voisi muutenkin määritellä.

--Ere

Mihail

Oikeassa olit, minulla oli tosiaan käytössä versio 1.1. versiota 1.2 en saanutkaan (vielä) toimimaan webhotellissani ilmeisesti siksi, koska uudessa versiossa käytetään Json-kyselyjä ja webhotellista puuttuu Json PHP-moduuli. devauspalvelimella kaikki toimii kuitenkin moitteettomasti, joten käytän VLlaskua sieltä toistaiseksi

Laskutusnäkymässä olisi hyvä olla maksamattomat laskut sijaan esimerkiksi avoimet / lähetetyt ja erääntyneet. Erääntyneitä voisi tehostaa esimerkiksi punaisella taustavärillä, jolloin tietää laittaa muistutusta menemään. Taustaväriä käyttämällä tämän saisi käytettävyydeltään mukavasti yhdellä listalla

Asetuksissa voisi olla valinta siitä missä vaiheessa punainen taustaväri tulee erääntyneisiin laskuihin, jotta maksumuistutuksen voi lähettää esim kuluttajasuojaasuositusten vaatiman 14 päivän jälkeen eräpäivästä tai yrityskaupassa vapaavalintaisen aikajakson jälkeen.

Raportit kohdassa voisi olla vapaavalintaisen päivämäärän lisäksi dropdowni, josta voi valita haettavan kuukauden, lisäksi laskutusraportti-kohdan aikaväli voisi päättyä automaattisesti nykyiseen päivään.

Raportointiin olisi myös hyvä lisätä asiakasraportti, joka näyttää asiakkaat ja asiakkaiden yhteislaskutuksen ryhmiteltynä laskutuksen mukaan, eli käytännössä listan parhaista asiakkaista.

-Mihail

Mihail

Automaattinen viitenumeron generoiminen ei toimi, mikäli käyttäjä poistaa esimerkkilaskun, lisää uuden laskun ja syöttää ensimmäiselle lisäämälleen laskulle oman laskunumeron, esimerkiksi 3945, viitenumeroksi tulee silti tulostettaessa 1009.

Seuraavien laskujen kohdalla homma toimii kuitenkin odotetulla tavalla, eli sekä laskujen juokseva numerointi, että viitenumeroiden generointi toimii laskunumeron perusteella.

Ere Maijala

Kiitos raportista. Tein siitä bugin tonne trackeriin (https://sourceforge.net/tracker/?func=detail&aid=3260669&group_id=374463&atid=1559382) ettei unohdu tsekata. Sieltä voi laittaa monitoroinnin päälle niin näkee, kun status tms. muuttuu.

--Ere

McNano

Yritystä lisättäessä siellä lukee hassusti kohdassa johon yrityksen nimi olisi tarkoitus laittaa että: Asiakkaan nimi

Ere Maijala

Kappas, se on ihan silkka kömmähdys. Laitetaan korjaukseen.

--Ere

Mihail

Melko kriittinen tietoturvahuomio:

Käyttäjien muokkausnäkymässä voi helposti muokata käyttäjätunnusta. Tunnuksen muokkauksen yhteydessä ei välttämättä halua vaihtaa salasanaa, pelkän käyttäjänimen. Tässä tapauksessa olisi suotavaa tarkistaa salasanakentän syötteen pituus ja mikäli pituus on 0 jättää salasana päivittämättä.

Ilman tarkistusta (pelkän) käyttäjänimen muokkaus tyhjentää salasanan kokonaan.

-Mihail

Ere Maijala

Kiitos huomiosta. Tämä on korjattu, parin muun bugin lisäksi, juuri julkaistussa versiossa 1.2.1.

--Ere

McNano

Onko suunnitelmissa tehdä vaihtoehtoista tietokanta-ratkaisua mysql:lle? Esim Sqlite, jossa koko tietokanta on yhdessä tiedostossa. Tällöin ohjelma olisi entistä alustariippumattomampi (toki silloikin PHP:ssä pitää olla Sqlite-kirjastot käytössä).

Tämä olisi tietysti jo alunperin pitänyt ottaa huomioon kun on lähtenyt tätä tekemään. Jälkeenpäin koodin puukotukset tuppaa sotkemaan kuvioita, paitsi jos tietokantaratkaisut on alusta alkaen tehty muokattavaksi (en tiedä, en ole katsonut lähdekoodia).

Ere Maijala

Rakenne ei ole ihan paras mahdollinen useita tietokantamoottoreita ajatellen lähinnä siksi, että kyselyt on ripoteltu sinne tänne. Suurin osa niistä on kuitenkin standardikamaa, eli aika pienellä vaivalla voisi tukea muitakin moottoreita sen suhteen, mutta tähän mennessä siihen ei ole ollut mitään tarvetta, ja se tuottaisi lisää testattavaa. Erityisesti SQLitessä on tietokannan rakenteen muokkaaminen uusien juttujen lisäystä lukuunottamatta vähän hankalaa.

Onko muille tietokantamoottoreille jokin erityinen tarve?

--Ere

mitrpaka

Hienoa nähdä, että pklasku on jälleen hengissä ja entistä ehompana. Kiitos!

Muutama kehitysehdotus lisää:
- Laskutusriveille olisi hyvä saada alennuskenttä (% ja/tai €)
- Asetuksiin kenttä jossa voisi määritellä oletuksena olevan lisätiedot -kentän joka näytetään laskussa.


McNano

Ei minulla muita ehdotuksia tietokantamoottoriksi ole. Mysql on oikein hyvä vaihtoehto ja suhteellisen yleinenkin siellä missä Phpkin on. Sqlite:llä olisin saanut tämän asennettua esim. wippies verkkolevylle, jossa on PHP-tuki mutta ei mysql:ää tai muitakaan tietokantoja.

Toisaalta oma tietotaito varmaan riittäisi, jos muokkaisin sen itse käyttämään Sqlitea. Aikaa ei siihen kylläkään ole.

Teemu Pyykölä

Olisiko asiakkaat osion alle mahdollista saada vaikka asiakkaan tietojen perään uusi lasku -nappi, joka toisi asiakkaan tiedot valmiiksi laskupohjaan?

Teemu