VLLasku 1.2 beta 1 saatavissa

Started by Ere Maijala, 16.02.11 - klo:20:15

Previous topic - Next topic

Ere Maijala

VLLasku 1.2 beta 1 on nyt saatavissa osoitteesta <http://sourceforge.net/projects/vllasku/files/beta/vllasku-1.2b1.zip/download>.

Asennusohjeet löytyvät tiedostosta INSTALL ja päivitysohjeet tiedosta UPGRADE.

Olennaiset muutokset versiosta 1.1:

Toiminnallisuus:
- Käyttöliittymässä ei enää käytetä iframeja, vaan esim. laskurivit toimivat AJAX-tyyppisesti.
- Käyttöliittymän ulkoasua on viilattu selkeämmäksi.
- Lisätty uuden asiakkaan lisäys suoraan laskun muokkauksessa.
- Lasku tallennetaan automaattisesti ennen tulostusta.
- Lasku-PDF:n voi asettaa avautumaan uudessa ikkunassa.
- Toteutettu tietojen vienti ja tuonti (formaatit: CSV, XML, JSON).
- Laskujen tulostus tehdään nyt tulostusluokilla, joita voi määritellä myös itse.
- Laskuihin on lisätty kaksi huomautuskenttää, joista toinen näkyy myös tulostetussa laskussa.
- Lisätty huomautus, jos tulostetaan lasku, jonka päivämäärä on menneisyydessä tai tulevaisuudessa.
- Asiakasta ei enää ole pakko valita laskua tehtäessä (esim. käteiskuitteja varten).
- Yhtenäistetty termistöä, "maksaja" ja "yritys" -> "asiakas".
- Lisätty mahdollisuus poistaa asiakas käytöstä poistamatta sitä kokonaan.
- Lisätty varoitus, jos laskunumero on jo käytössä toisella laskulla.
- Lisätty tallennusnappulan värin vaihtuminen kertomaan, jos on tallentamattomia muutoksia.
- Raporteissa kuukauden valinta on korvattu päivämäärävälin valinnalla.
- Lisätty PDF-tulostus raportteihin.
- Lisätty mahdollisuus näyttää välisummat laskun tilan mukaisesti laskutusraportissa.
- Muutettu asetustiedostokäytäntö päivitysten helpottamiseksi niin, että pakolliset asetukset löytyvät config.php -tiedostosta, jonka voi luoda config.php.sample -tiedoston pohjalta.

Muut:
- Laskujen tulostuksessa pitkät yrityksen nimet tulostuvat aiempaa paremmin.
- Korjattu päivämäärän mukainen järjestäminen listoissa.
- Huomautusmaksu ja viivästyskorko lisätään aina negatiivisilla rivinumeroilla, jotta ne tulevat listan alkuun.
- Laskunumeron ja viitenumeron päivitysnappula on nyt erillään päivämäärien päivitysnappulasta.
- Tuotettu HTML on nyt aiempaa standardinmukaisempaa.


Erityisesti tietojen tuonti ja vienti kaipaisivat testausta, koska minulla ei ole ollut tosielämän dataa, jolla sitä olisi voinut kokeilla. Lisäksi palaute siitä, pitäisikö siihen tai muihin kohtiin saada käyttöohjetta, olisi tervetullutta. Ja tietysti kaikki muukin palaute. :) Pinnan alla on muuttunut suhteellisen paljon, ja vaikka systeemi on itselläni nyt toiminut ihan hyvin, niin läheskään kaikkea ei ole testattu kunnolla.

--Ere

flatologi

Could not open import file for reading Tämän enempää en saa aikaiseksi tuossa asiakastietojen tuonnissa. En saa myöskään vietyä mitään tietoja. Jossain mättää, mutten tiedä missä. Asetukset ja oikeudet pitäisi olla kunnossa.

Ere Maijala

No katos joo, olen rikkonut tuon tiedoston lähetyksen jossain vaiheessa. Täytyy siis korjata. Palvelimella jo olevan tiedoston tuonnin pitäisi toimia. Tällöin tiedoston nimi täytyy määritellä config.php:ssa asetuksella _IMPORT_FILE_.

Viennissä on huomioitava, että siinä alimmassa kohdassa valitaan vietävät sarakkeet. Sen kyllä pitäisi muuten toimia, eli jos tuokin on ok, niin miten se käyttäytyy, missä kohdassa menee pieleen?

--Ere

flatologi

Palvelimella olevaan tiedostoon pääsen käsiksi ja saan tuotua asiakkaat, mutta jostain syystä kaikki kohdat jäävät tyhjiksi. Käsin sitten poistelin tyhjiä asiakkaita. Koitin muuttaa ja vaihdella asetuksia, mutta tyhjinä tulevat edelleen.

Viennissä valittuna sarakkeet, mutta mitään ei tapahdu. Mistään ei löydy (haullakaan) vietyä tiedostoa.

MAMP:n php_error.log:sta löytyy tällaista rivikaupalla:

[17-Feb-2011 20:45:24] PHP Warning:  Missing argument 6 for process_import_row(), called in /Applications/MAMP/htdocs/vllasku/import.php on line 870 and defined in /Applications/MAMP/htdocs/vllasku/import.php on line 670
[17-Feb-2011 20:49:12] PHP Warning:  stripslashes() expects parameter 1 to be string, array given in /Applications/MAMP/htdocs/vllasku/miscfuncs.php on line 45

Itse en tuosta ymmärrä mitään, mutta onko avuksi?

Ere Maijala

Laitoitko sarakkeiden kohdistuksessa (alin loota) sarakkeet menemään johonkin tietokannan sarakkeeseen? Tuolla hakemistossa <https://sourceforge.net/projects/vllasku/files/beta/> on tuonti.png -niminen kuva, jossa näkyy sarakkeiden kohdistus. Siinä siis pitäisi näkyä myös kymmenen ensimmäistä riviä tuotavasta tiedostosta, jos VLLasku osaa lukea sitä annettujen parametrien mukaisesti.

Hakemistossa <https://sourceforge.net/projects/vllasku/files/beta/> on myös uusi import.php, jonka pitäisi auttaa tuohon varoitukseen PHP:n lokissa ja korjata lähetetyn tiedoston tuonti. Lisäksi siinä on tarkistus, jos sarakkeiden kohdistustietoja ei löydy, jotta se ei lisäisi tyhjiä.

Mistäköhän kohdasta tuo jälkimmäinen varoitus mahtoi tulla? En usko, että se liittyy suoraan tuontiin. Mutta ilmeisesti PHP:n magic quotes on päällä, mistä voi seurata ongelmia (en ole sitä juurikaan testannut).

Viennissä pitäisi tulla tiedoston latauskehotus, kun vienti on valmis. Tuleeko PHP:n lokiin edes mitään virheilmoitusta siinä kohdassa?

--Ere

flatologi

Minulla tuo kuvan mukainen kohta näyttää csv -tiedoston ensimmäisen rivin sellaisenaan lainausmerkkeineen ja puolipisteineen. Se ei jotenkin niitä tunnista. Kokeilin myös muita vaihtoehtoja ilman tulosta. Ja sen rimpsun alapuolella ei ole kuin yksi alasvetovalikko.

Tuo jälkimmäinen varoitus liittyy tietojen vientiin.

Kun avaan tuotavan tiedoston, tulee seuraavanlainen varoitus:
[17-Feb-2011 23:56:54] PHP Notice:  iconv() [function.iconv]: Detected an illegal character in input string in /Applications/MAMP/htdocs/vllasku/miscfuncs.php on line 296

Täytyy aamusella kokeilla puhtaalta asennukselta, josko tilanne muuttuisi.

Ere Maijala

Pystyisitkö laittamaan minulle mallitiedoston sähköpostilla (emaijala at gmail.com)? Pari riviä riittää, eikä sisällöllä muuten väliä, kunhan se on sellainen, mitä ohjelma ei tajua. Kiitos!

--Ere

Ere Maijala

Hakemistossa https://sourceforge.net/projects/vllasku/files/beta/ on taas uusi import.php, joka korjaa tuonnin, kun välimerkkinä on jotain muuta kuin pilkku. Tällä meni testitiedosto ainakin sisään.

flatologi

Nyt näyttää oikein, mutta aluksi tulosti vain tyhjiä rivejää eikä tuonut niitä.
Homma ratkesi ottamalla PHP:n Macig quotes pois päältä.

Ere Maijala

Magic quotes näyttää tekevän jotain ihan kummaa sivun parametreille. Koska sitä ei muutenkaan suositella käytettävän, en aio panostaa ongelman kiertämiseen, mutta hyvä tietää, niin voi dokumentoida tuon.

Tuolla beta-kansiossa on jälleen uusi import.php, jossa muutama korjaus ja automaattinen oletuksen vaihto UTF-8 -> ISO-8859-1, jos tiedosto ei näytä UTF-8:lta.

Viennistä sen verran, että huomasin ainakin Safarin lataavan tulostiedoston ja tallentavan sen Lataukset-kansioon sen kummemmin kyselemättä. Tarkista siis, olisiko selain ladannut tulostiedoston automaattisesti kertomatta siitä.

--Ere

flatologi

Vienti toimii nyt kun Magic quotes on pois päältä. Aiemmin se ei tehnyt sitä vientiä ollenkaan. Ja safari tosiaan lataa sen automaattisesti sinne lataukset kansioon...

Pystyykö jostain manipuloimaan asiakas ID numeroita? Vietyä tiedostoa tarkastellessa huomasin että aikaisemmin tyhjinä tuodut ja sitten poistetut asiakastiedot tekivät ID numerointeihin n. 80 numeron "aukon". ID numeroinninhan pitäisi periaatteessa mennä aikajärjestyksessä (kuten asiakasnumerointikin), mutta nyt menee osittain aakkosten mukaan.
Tämä ei kuitenkaan vaikuta mihinkään, eikä näy missään, eikä varmaan aiheuta mitään haittaakaan, mutta ihan mielenkiinnosta.
Yksi tapa on tietenkin muokata viety asiakas.csv -tiedosto halutunlaiseksi ja tuoda se takaisin. Vllasku täytyy kuitenkin kaiketi asentaa kokonaan uusiksi?

Ere Maijala

ID-numerot ovat tavallaan tietokannan sisäisiä, eli periaatteessa sillä ei ole merkitystä, että ne eivät ole peräkkäisiä. Niitä käytetään yhdistämään eri tiedot toisiinsa, eli esim. laskusta viitataan asiakkaaseen asiakkaan ID:llä. Mitään sen suurempaa semantiikkaa niihin ei kannata yhdistää. Se, että ne menevät yleensä aikajärjestyksessä on lähinnä kiva sattuma. Aikajärjestykseen liittyen, jossain vaiheessa olisi tarkoitus lisätä muutoshistoriaa asiakkaisiin, laskuihin ym.

Se, että ID-numeroissa on aukko, johtuu siitä, että tietokanta antaa uuden ID:n aina oman laskurinsa mukaisesti. Laskurin voi nollata tällä sql-komennolla:
ALTER TABLE vllasku_company AUTO_INCREMENT=1
Tämän jälkeen seuraavalla lisäyksellä tietokanta hakee seuraavan vapaan numeron.

--Ere

AriK

Moi,

1.1. on tuotantokäytössä ja no problem, joten en ole vähään aikaan seurannut tämän projektin etenemistä.
Nyt kuitenkin hain uusimmat koodit svn:stä (rev 185).

Seuraavaa herjaa tulee Ubuntussa LAMPP ympäristössä:

Deprecated: Call-time pass-by-reference has been deprecated in /opt/lampp/htdocs/vllasku_new/trunk/form.php on line 132
Deprecated: Call-time pass-by-reference has been deprecated in /opt/lampp/htdocs/vllasku_new/trunk/form.php on line 132
Deprecated: Call-time pass-by-reference has been deprecated in /opt/lampp/htdocs/vllasku_new/trunk/form.php on line 132

Nämä saa korjattua poistamalla "&" merkit ao riviltä:
$res = fetchRecord($strTable, $intKeyValue, $astrFormElements, $astrValues);

Jos oikein ymmärsin, niin PHP5:ssa ei tarvi funktion kutsuun laittaa & merkkiä. Riittää että määrittelyssä se on mukana ("pass by reference").

Hassua, että tätä herjaa ei tullut WIndows-ympäristössä...

t. Ari

AriK

Moi taas,
sitten vielä pientä regressiobugiraporttia:
Logon asetus ei enää onnistu: ao napin painallus ei tee mitään. Tämä tapahtuu sekä Windows että Ubuntu ympäristössä Firefoxilla ja IE 8:lla.

t. ari

Ere Maijala

Kiitos huomioista. Hassua, ettei tuota deprecated -varoitusta tullut myöskään MAMP-ympäristössä. Korjattu SVN:ssä joka tapauksessa nyt. Samoin tuo logon muokkaus.

--Ere