Business Central Lithuanian IBAN Bank Account Autofill
Autorius: Evaldas Jablonskas
Atnaujinta: 2026-06-28
Automatinis banko duomenų užpildymas pagal lietuvišką IBAN
Business Central Lithuanian IBAN Bank Account Autofill – praktinis Microsoft Dynamics 365 Business Central AL extension portfolio projektas.
Šio projekto idėja paprasta: kai vartotojas įveda lietuvišką IBAN numerį, Business Central iš jo paima banko kodą ir automatiškai užpildo pirkėjo arba tiekėjo banko sąskaitos rekvizitus.
Ką daro šis extension?
- Nuskaito lietuvišką IBAN numerį
- Iš IBAN ištraukia Lietuvos banko kodą
- Ieško banko įrašo EVK Bank Directory kataloge
- Automatiškai užpildo pirkėjo banko kortelę
- Automatiškai užpildo tiekėjo banko kortelę
- Sumažina rankinį duomenų įvedimą ir klaidų tikimybę
Kodėl šis projektas aktualus?
Business Central sistemoje pildant Customer Bank Account arba Vendor Bank Account kortelę, dalį banko rekvizitų dažnai tenka įvesti rankiniu būdu.
Kai tie patys bankų duomenys kartojasi daugelyje pirkėjų ar tiekėjų kortelių, toks darbas tampa neefektyvus. Vartotojas turi tiksliai įvesti banko pavadinimą, SWIFT kodą, adresą, miestą, pašto kodą ir kitus kontaktinius duomenis.
Lietuviškame IBAN numeryje jau yra banko kodas, todėl šią informaciją galima panaudoti automatiniam banko duomenų užpildymui.
Lietuviškas IBAN gali būti naudojamas ne tik kaip banko sąskaitos numeris, bet ir kaip praktinis duomenų šaltinis banko kodui nustatyti Business Central sistemoje.
Praktinis veikimo pavyzdys
Vartotojas įveda lietuvišką IBAN numerį:
Šiame IBAN banko kodas yra:
Pagal šį kodą Business Central ieško įrašo EVK Bank Directory kataloge. Jeigu bankas randamas, jo rekvizitai automatiškai perkeliami į Customer Bank Account arba Vendor Bank Account kortelę.
IBAN → banko kodas → EVK Bank Directory → Customer / Vendor Bank Account
Kokius duomenis užpildo?
Pagal bankų katalogo įrašą extension gali užpildyti šiuos Customer Bank Account arba Vendor Bank Account laukus:
Bank Branch No.SWIFT Code- banko pavadinimą;
- adresą;
- miestą;
- pašto kodą;
- telefono numerį;
- el. paštą;
- svetainę;
- kontaktinį asmenį.
Tai sumažina rankinio darbo kiekį ir padeda palaikyti nuoseklesnius banko rekvizitus skirtingose pirkėjų bei tiekėjų kortelėse.
Techninė realizacija
Sprendime verslo logika atskirta nuo vartotojo sąsajos.
Page extension objektai naudojami tam, kad būtų sureaguota į IBAN lauko pakeitimą standartinėse Business Central kortelėse:
Customer Bank AccountVendor Bank Account
Pati banko kodo ištraukimo, bankų katalogo paieškos ir laukų užpildymo logika iškelta į bendrą codeunit.
Toks sprendimas leidžia išvengti logikos dubliavimo, nes pirkėjo ir tiekėjo banko sąskaitų kortelėse naudojamas tas pats principas.
Kodėl nenaudojamas CurrPage.SaveRecord()?
Šiame sprendime sąmoningai nenaudojamas CurrPage.SaveRecord().
Automatinis įrašo išsaugojimas lauko validacijos metu gali sukelti nepageidaujamą šalutinį poveikį. Vartotojas dar gali būti neužbaigęs kortelės pildymo, todėl priverstinis įrašo išsaugojimas nebūtų geras sprendimas.
Extension užpildo reikalingus laukus, o įrašo išsaugojimas paliekamas standartiniam Business Central veikimui ir vartotojo veiksmams.
Kodėl neperrašomas banko sąskaitos Code laukas?
Projektas nekeičia banko sąskaitos Code lauko.
Business Central aplinkoje šis laukas dažnai naudojamas kaip vidinis identifikatorius. Įmonės gali turėti savo taisykles, kaip koduojamos pirkėjų arba tiekėjų banko sąskaitos.
Todėl automatizavimas pildo banko rekvizitus, bet nekeičia vartotojo arba įmonės pasirinkto banko sąskaitos kodo.
Elgsena, kai banko kodas nerandamas
Jeigu pagal IBAN rastas banko kodas neegzistuoja EVK Bank Directory kataloge, klaida nemetama.
Vartotojas gali tęsti darbą ir banko duomenis užpildyti rankiniu būdu. Toks veikimas pasirinktas todėl, kad bankų katalogas gali būti nepilnas arba dar neatnaujintas.
Automatizavimas čia veikia kaip pagalbinė funkcija, o ne kaip griežtas validavimo mechanizmas.
Šis extension padeda greičiau užpildyti banko rekvizitus, bet neperima visos duomenų kontrolės iš vartotojo ir nekeičia standartinio Business Central įrašo išsaugojimo elgesio.
Apribojimai
Šis projektas nėra pilna IBAN validavimo sistema. Jis netikrina IBAN checksum ir negarantuoja, kad įvestas IBAN numeris yra galiojantis.
Taip pat projektas negarantuoja, kad bankų kataloge esantys duomenys visada yra aktualūs. Production aplinkoje reikėtų aiškiai apsibrėžti, kas prižiūri bankų katalogą ir kaip jis atnaujinamas.
Projektas sukurtas kaip praktinis Business Central AL development portfolio pavyzdys.
Ką šis projektas demonstruoja?
Šis projektas demonstruoja kelis praktinius Microsoft Dynamics 365 Business Central AL development aspektus:
- standartinių Business Central kortelių išplėtimą naudojant
page extension; - bendros verslo logikos iškėlimą į
codeunit; - darbą su atskira bankų katalogo lentele;
- banko kodo ištraukimą iš lietuviško IBAN;
- automatinį
Customer Bank AccountirVendor Bank Accountlaukų pildymą; - atsargų požiūrį į duomenų pildymą be priverstinio įrašo išsaugojimo;
- praktinį lokalizavimo scenarijų Lietuvos rinkai.
Kodėl tai tinka mano portfolio?
Šis projektas papildo mano techninių darbų kryptį: Microsoft Dynamics 365 Business Central / NAV programavimas, AL development, integracijos, ataskaitos, duomenų apdorojimas ir verslo procesų automatizavimas.
Business Central Lithuanian IBAN Bank Account Autofill nėra teorinis pavyzdys. Tai mažas, aiškus ir praktiškas extension, parodantis, kaip Business Central sistemoje galima automatizuoti pasikartojantį duomenų pildymo procesą.
GitHub repository
Source code is available on GitHub:
Business Central Lithuanian IBAN Bank Account Autofill
English summary
Business Central Lithuanian IBAN Bank Account Autofill is a Microsoft Dynamics 365 Business Central AL extension that automatically fills Lithuanian customer and vendor bank account details based on the bank code found in the IBAN number.
The project demonstrates AL development, page extensions, codeunit-based business logic, a configurable bank directory, and a practical automation scenario for Business Central.