XML tiliotteen tuonti?

Started by Lasma, 20.11.15 - klo:10:02

Previous topic - Next topic

Lasma

Tervehdys,
ja kiitokset loistavasta softasta.  :)
Olen vähän aikaa sitten ottanut MLInvoicen käyttöön ja muokkaillut sitä omiin tarpeisiini sopivaksi.
Vielä pitäisi saada tehtyä pankista saatavan XML-tiliotteen tuonti, mutta siinä en ole vielä onnistunut.

Olen yrittänyt katsella import.php:stä tuota xml-kohtaa, onko se vielä hieman kesken vai ymmärränköhän sen jotenkin väärin?
Olisiko siihen joku helppo tapa muokkailla se niin että saisin sen toimintaan?

Ere Maijala

Moi,

kiitos kiitoksista! :)

import.php:sta löytyvä ImportFile-luokka on pohjaluokka kaikille tuontitoiminnoille, ja sitä käytetään myös tietokannan tuonnissa. Varsinainen tiliotteen tuonti on import_statement.php:ssa. Siellä on tällä hetkellä vain csv-tyyppinen tuonti, mutta ei pitäisi olla vaikea laajentaa, koska xml-tuki on pohjaluokassa olemassa.

--Ere

Lasma

Kiitokset, heti nytkähti vähän eteenpäin...  ;D
Tulee kyllä melko hurja määrä noita elementtejä tuosta pankin konekielisestä tiedostosta, pitää kehitellä jotain miten sieltä saisi vain tarpeelliset tiedot napattua.
Pitäisikö se käsittely jotenkin laittaa tuonne process_import_row -funktioon, erittelee vain jotenkin että käsitellään xml, eikä csv-tietoa?

ioxo

Hei,

Antaako jokin muukin pankki xml-tiliotteen kuin tuo op?

Tai oletteko keksineet kuinka normi tiliote pdf:stä saisi konvertoitua xml pohjaista/helpommin importattavan version...

Lasma

#4
En OP:sta kyllä tiedä, omani tulevat Danskelta. Joten sieltä ainakin löytyy.

Sain nyt luettua kaiken tarvitsemani sieltä xml-tiedostosta, eli maksupäivän, viitteen ja summan.
Ei ehkä elegantein ratkaisu, mutta tein sinne import_statementtiin toisen funktion mikä käsittelee xml-tiedostot, ja sitä kutsutaan import.php:stä jos kyseessä on tiliote ja jos se on xml-tiedosto. Pitää vielä tehdä joku koelasku millä saan testattua tuon.

Mitä muuta tuohon saa tuotua xml-tiedostona? Sekin olisi hyvä kokeilla että se edelleen toimii, enkä sotkenut mitään.  ;D

Ja pieni jatkokysymys, mistä viitenumeron laskenta löytyy? Tahtoisin muuttaa sen samaan muotoon kuin mitä aiemmassa systeemissä on ollut...

ioxo

/miscfuncs.php

Rivi 71 versiossa 1.11.

function miscCalcCheckNo...

Ois hienoa, jos noista muunnelmista sais tehtyä aina version, että niitä vois Asetukset sivuilta säätää checkboxista on/off valinnalla, että halutaanko jokin tietty muunnelma käyttöön... mutta taitanee olla aika purkkavirityksiä - ainakin itsellä - ettei kehtaa tuoda päivänvaloon moisia... :)

-Juho

Ere Maijala

process_import_row:n on tarkoitus ottaa vastaan valmiiksi käsitelty rivi, eli siinä vaiheessa ei enää oteta kantaa formaattiin. Kaikki formaattikohtainen käsittely tapahtuu siis import_file-metodissa, joka osaa sopivilla parametreilla käsitellä xml:n php-taulukoksi. Ei siis pitäisi tarvita erillistä XML:n käsittelyä, ellei tuossa softan rakenteessa ole muita puutteita.

XML:ää voidaan siis viedä ja tuoda myös MLInvoicen vienti- ja tuontitoiminnoilla, jotka löytyvät Järjestelmä-valikosta.

--Ere

Lasma

Äh, puhuin nyt tosiaan vähän oudoilla nimillä näköjään...eli siis tekemäni funktio ei käsittele mitään xml:ää, vaan juurikin sen oman pankkini datan niin että saan sieltä tarpeelliset tiedot ulos.
Summa summarum, sain siis oman pankkini xml-tiliotteen käsittelyn toimimaan.  :)
Myös viite on nyt oikeanlainen. Vielä kun saan tehtyä kirjanpitoon tarvittaviin raportteihin jotenkin otsikot että mikä mikin on, niin tämä korvaa täysin edellisen standalone laskutusohjelmani, mikä on todellinen helpotus.  :D


Quote from: Ere Maijala on 21.11.15 - klo:17:07
process_import_row:n on tarkoitus ottaa vastaan valmiiksi käsitelty rivi, eli siinä vaiheessa ei enää oteta kantaa formaattiin. Kaikki formaattikohtainen käsittely tapahtuu siis import_file-metodissa, joka osaa sopivilla parametreilla käsitellä xml:n php-taulukoksi. Ei siis pitäisi tarvita erillistä XML:n käsittelyä, ellei tuossa softan rakenteessa ole muita puutteita.

XML:ää voidaan siis viedä ja tuoda myös MLInvoicen vienti- ja tuontitoiminnoilla, jotka löytyvät Järjestelmä-valikosta.

--Ere

Lasma

#8
Spämmäilen tähän ketjuun vielä hieman, pahoittelut.
Mutta rupesin miettimään että mitenhän nyt saan nuo tekemäni muutokset säilytettyä, kun päivitän MLInvoicea?

Mainittakoon vielä etten ole mikään kovin kokenut koodari(paitsi ehkä sulautettujen puolella), php:stä ja mysql:stä ei ole kuin ehkä n. puolen vuoden kokemus.

Nyt kyllä lyö pää tyhjää, kun pitäisi saada avoimien laskujen lista "takautuvasti", mitenhän sen saan tehtyä?
Eli jos ajatellaan esimerkkinä vaikka että tässä kuussa olisi tullut suorituksia, mutta pitäisi saada lista missä näkyy mitkä laskut ovat olleet avoimena 1. päivä?  :)
Eli laskut missä payment_date on NULL tai isompi kuin 1.11.
(sainkin tämän selvitettyä omineni...)


Ere Maijala

Näppärin tapa säilyttää muutokset on tehdä ne yleishyödyllisesti ja tehdä niiden perusteella ns. pull request GitHubissa. Käytännössä siis pitäisi forkata siellä MLInvoice omaan repositoryysi, tehdä siellä kaikki muutokset ja sitten sieltä pull request minulle. GitHubissa forkattua repositorya voi käyttää myös omien paikallisten muutosten säilyttämiseen, ja Gitiä käyttämällä voi sitten myös mergetä uudet muutokset omaan repositoryyn. Tämä on nyt vain tällainen pikainen selostus, tarkempaa tietoa siitä, miten homma käytännössä toimii, löytyy netistä yllin kyllin, ja GitHubin helpeistä siihen liittyen.

--Ere