m.lcNuoroda=""
urbo_qr_link(@lcNuoroda,1.00,"Mokėjimo paskirtis testas")
f_info(m.lcNuoroda,.t.)
urbo_qr_link(@lcNuoroda,lnSuma,lcPaskirtis,[lcLaukas],[lcKodas_op],[lcModulis])
Procedūra urbo_qr_link grąžina .T. arba .F., pagal šias reikšmes galime nustatyti ar nuoroda buvo sugeneruota ar ne.
Naudojimo pavyzdys be nuorodos ID išsaugojimo:
m.lcNuoroda=""
urbo_qr_link(@lcNuoroda,200.99,"Dokumentas #AAA")
* Kintamajame m.lcNuoroda grąžinama nuoroda arba klaidos pranešimas:
* "https://mip.urbo.lt/payment-link/daf1fe0a-0931-4e8b-8ac4-5b9a11ac1..."
Naudojimo pavyzdys be nuorodos ID išsaugojimo pardavimuose:
m.lcNuoroda=""
urbo_qr_link(@lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr))
* Kintamajame m.lcNuoroda grąžinama nuoroda arba klaidos pranešimas:
* "https://mip.urbo.lt/payment-link/daf1fe0a-0931-4e8b-8ac4-5b9a11ac1..."
Naudojimo pavyzdys su nuorodos ID išsaugojimu pardavimuose:
m.lcNuoroda=""
urbo_qr_link(@lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr),"i06_aprasymas3",i06_kodas_po,"RO")
* Kintamajame m.lcNuoroda grąžinama nuoroda arba klaidos pranešimas:
* "https://mip.urbo.lt/payment-link/daf1fe0a-0931-4e8b-8ac4-5b9a11ac1..."
Perdavus lcLaukas, į nurodytą dokumento lauką įrašoma nuorodos ID su kontroline suma. Kontrolinė suma skaičiuojama iš apmokamos sumos ir mokėjimo paskirties.
Pakartotinio kvietimo metu kontrolinė suma perskaičiuojama:
Naudojamas laukas turi būti pakankamo ilgio ir nenaudojamas kitiems tikslams. Pavyzdyje naudojamas i06_aprasymas3.
Spausdinant ataskaitoje, sugeneruotą nuorodą reikėtų įterpti į ataskaitos duomenis (ataskaitos INIT'e). Pavyzdžiui:
LOCAL lal
lal=ALIAS()
IF TYPE(lal+".payment_link")#"C"
LOCAL lcNuoroda
IF !urbo_qr_link(@lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr))
WAIT WINDOW LEFT(m.lcNuoroda,250)
RETURN .F.
ENDIF
IF EMPTY(m.lcNuoroda)
WAIT WINDOW "Nepavyko sugeneruoti nuorodos"
RETURN .F.
ENDIF
SELECT *, CAST(m.lcNuoroda as M) as payment_link FROM (lal) INTO CURSOR (lal) READWRITE
ENDIF
SELECT (m.lal)
GO TOP
Ataskaitos formoje įkeliama nuoroda. Nuoroda pagal XFRX taisykles aprašoma objekto komentaruose:
#UR A NAME=<Apmokėti>
#UR A HREF=payment_link
Norint ataskaitoje suformuoti QR kodą, komanda paveiksliuko objektui:
bar_kod_gen_qr_full(payment_link,330)
Abiem objektams nurodoma Print When sąlyga:
!EMPTY(payment_link)

Detaliau: bar_kod_gen_qr_full.
Siunčiant el. laišką sugeneruotą nuorodą reikėtų įterpti į ataskaitos duomenis (ataskaitos INIT'e). Pavyzdžiui:
LOCAL lcNuoroda
IF !urbo_qr_link(@lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr))
WAIT WINDOW m.lcNuoroda
RETURN .F.
ENDIF
IF EMPTY(m.lcNuoroda)
WAIT WINDOW "Nepavyko sugeneruoti nuorodos"
RETURN .F.
ENDIF
m.lcPav="PVM S/F"
m.lcText=[Laba diena,<br><br>]
m.lcText=m.lcText+[Siunčiame Jums PVM Sąskaitą-Faktūrą.<br>]
m.lcText=m.lcText+[Apmokėti galite <a href="]+alltrim(m.lcNuoroda)+[" target="_blank">ČIA</a><br>]
...
IF !f_mail_Chilkat(m.lcE_mail,m.lcPav,,m.lcFile,m.lcText)
...
Kad nuoroda būtų aktyvi el. laiške, privaloma laiško tekstą formatuoti ir siųsti HTML formatu.