Korábban már kiveséztük, hogy 2016, január 1-től jelentős változás jön a számlázásra képes programok életében, hogy ehhez mit kell tenni, és a NAV-nak előállított export milyen sorokat tartalmaz.
Ez az új adatformátum magával hoz egy másik jelentős változást is: az adatbázisban tárolt partneri címeket szét kell bontani, közterület neve, közterület jellege, házszám, épület, lépcsőház, emelet, ajtó módon.
Például amit eddig "Kiss János altábornagy u. 13/E. III/2." módon egy mezőben tároltunk, annak ezután hat (6!!!) mező kell majd.
A cégnél ezt a feladatot biztos megnyeri valaki, nekik szeretnék segíteni, hogy pár száz partner esetén az egész ne napokig, csak maximum fél-egy óráig tartson.
Az itt leírt módszer csak akkor működik, ha a számlázó programod képes a partneri adatokat kiexportálni, majd a változásokat az adatok módosításával visszaimportálni! A munkában az Excel lesz a legjobb barátunk.
1. Miután kiexportáltad az partner-adatbázist, annyit hagyj meg belőle, ami feltétlenül szükséges: A oszlopba a partnerID-t (erre való hivatkozással tudod majd a módosításokat visszaírni), a B oszlopba a partner nevét (hogy tudjuk kiről van szó, a C oszlopba a címet (az irányítószám, város jelen feladat szempontjából lényegtelen)
2. Szúrd be a szükséges plusz oszlopokat: közterület neve (D), közterület jellege (E), házszám (F), épület (G), lépcsőház (H), emelet (I), ajtó (J). Ekkor kb ilyesmit kell látnod:
3. Hozzuk összhangba az adatokat. Jelöld ki a C oszlopot, majd módszeresen cseréld ki az " u. " és az " u " stringeket " utca " -ra. Fontos, hogy elé és mögé is tegyél szóközt, mert különben a Kossuthból is Kossutcath lesz! Próbálkozhatsz még a " krt " - " körtér " cserével, de figyel rá, hogy körutat is így rövidítik.
Ellenőrzésképpen futtass egy keresést az "utca utca" stringre, mert ha a valahol mondjuk egy nevet rövidítettél " u. "-val ("Kovács Ubul u." helyett "Kovács U. u. szerepelt a mezőben), akkor ott pontosan ez fog megjelenni.
4. Az E2 cellába illeszd be az alábbi függvényt, hogy a leggyakrabban használt közterületeket megtaláld:
=HA(SZÁM(SZÖVEG.KERES(" utca ";C2));"utca";HA(SZÁM(SZÖVEG.KERES(" út ";C2));"út";HA(SZÁM(SZÖVEG.KERES(" tér ";C2));"tér";HA(SZÁM(SZÖVEG.KERES(" körút ";C2));"körút";"valami más"))))
Ezután szűrj rá "valami más" -ra, és az eredeti cím alapján töltsd ki manuálisan a mezőket (immáron plusz szóközök nélkül!), sehol nem maradhat rövidítés. Körút, fasor, park, köz, elég sok minden lehet, nem láttam értelmét, hogy egy áttekinthetetlenül hosszú függvényt írjak, de pénzért bárkinek megteszem :)
Most itt kell tartanod (pirossal jelöltem, amit nekem kellett belekorrektúrázni, mert az "valami más" volt):
5. Vágjuk le a közterület nevét! Ehhez az alábbi függvényre lesz szükséged, ami megkeresi, hogy a közterület jellege hol található az eredeti címben, és az előtte lévő szakaszt kivágja. Ehhez a D2-be másold be az alábbi függvényt:
=BAL(C2;SZÖVEG.KERES(E2;C2)-2)
és másold végig az egész oszlopban. Ha mindenhol jól töltötted ki a közterület jellegét, akkor levágja az utca nevét.
6. Hasonló módon vágjuk le a cím végét, ehhez megnézzük, milyen hosszú a cím, hol van benne a közterület neve és az azutáni részt vesszük alapul. Erre a függvényre lesz szükséged az F2 cellában:
=JOBB(C2;HOSSZ(C2)-HOSSZ(D2)-HOSSZ(E2)-2)
Ez már majdnem azt az eredményt adja amit várunk.
7. Mivel elég sokféleképpen szoktunk címeket felírni (főleg ha a cégnél többen is viszünk fel partnercímeket), függvénnyel elég bonyolult lenne kitalálni, melyik az épület, melyik az lépcsőház, emelet, ajtó, és akkor a helyrajzi számon található partnerekről akkor még nem is beszéltünk.
Nincs más lehetőség, nézzük át az egész táblát, és ahol nem csak házszám van az F oszlopban, ott a szomszédos oszlopokban töltsük ki helyesen a mezőket az eredeti cím alapján (pirossal jelzem, ahol bele kellett nyúlnom). Nem kell mögé írnunk, hogy "em." meg "ép.", azt majd a számlázó program megteszi számlázáskor!
És ha ezzel megvagyunk, akkor már tényleg nincs más dolgunk, mint hogy a kapott adathalmazt egy mentést követően(!!!) visszaimportáljuk a rendszerünkbe, a régi adatok felülírásával.