---
title: "Integracijos diegimas"
url: "https://gidas.rivile.lt/integraciniai_sprendimai/kitos_integracijos/contomobile/integracijos_diegimas"
updated: "2025-10-31"
parent: "https://gidas.rivile.lt/integraciniai_sprendimai/kitos_integracijos/contomobile.md"
---

# Integracijos diegimas

[Konsultantams ir atstovams:](https://manorivile.sharepoint.com/:f:/r/sites/rivilefiles/Shared%20Documents/Downloads/Kitos%20integracijos/Contomobile?csf=1&web=1&e=0HnEPT)

#### Diegimas

- Į Rivile GAMA\ALL katalogą įrašomi failai:
  - contomobile_qr_link.fxp
- Pardavimo operacijų sąraše aprašomas testavimo klavišas (CTRL+Q):
  

```
 m.lcNuoroda=""
 contomobile_qr_link(@lcNuoroda,1.00,"Mokėjimo paskirtis testas","01000000xxxx","RO")
 f_info(m.lcNuoroda,.t.)
```

![contomobile_w4](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/81.Contomobile/21.Integracijos_diegimas/contomobile_w4.png)



- Pirmą kartą paleidus testavimo klavišą, automatiškai susikuria parametras: **CONTOMO_USER**
* Įvedamos parametro **CONTOMO_USER** reikšmės:
  * Contract id ir Key \- ši informacija gaunama iš Contomobile  
* Pardavimo operacijų sąraše paspaudus testavimo klavišą, sėkmės atveju  parodoma pilnai suformuota nuoroda, kurią nukopijavus į naršyklę  atidaromas dokumento apmokėjimo langas Contomobile puslapyje.  Jei viskas  veikia tinkamai - testavimo mygtuką galima ištrinti.
* Susiimportuojama papildoma ataskaita - joje aprašytas nuorodos įkėlimo pavyzdys.
* Analogiškai pakoreguojamos kliento naudojamos ataskaitos arba el. laiškų tekstai:
  * Įkeliamas nuorodos stulpelis ruošiant duomenis ataskaitos INIT'e
  * Įkeliamas QR ir apmokėjimo tekstas su nuoroda
  * Pridedama sugeneruota nuorda į el. laiško tekstą



### CONTOMOBILE_QR_LINK

```
contomobile_qr_link(@lcNuoroda,lnSuma,lcPaskirtis,lcKodas_op,lcModulis)
```

- lcNuoroda - grąžinama nuoroda arba klaidos pranešimas **(Privalomas)**
* lnSuma - nurodoma suma. Tipas skaitmeninis **(Privalomas)**
* lcPaskirtis - mokėjimo paskirtis, gavus pavedimą bus matoma ši mokėjimo paskirtis **(Privalomas)**
* lcKodas_op - operacijos numeris arba sugeneruotas unikalus kodas. **Privalomas, nes reikalingas unikalaus kodo generavimui**
* lcModulis - moduliu kodas. Pavyzdžiui: RO, PO, IN... **Privalomas, nes reikalingas unikalaus kodo generavimui**

> **Informacija:** Jei nėra žinomas tikslus operacijos numeris, tuomet galima generuoti unikalų kodą (contomobile transakcijos ID)

> **Informacija:** Contomobile maksimalus transakcijos ID **(lcKodas_op)** ilgis gali būti 35 simboliai ir negali kartotis. Pavyzdžiui *lcKodas_op = kliento kodas+data su laiku (alltrim(i44_kodas_ks)+ttoc(m.ldDateTime,1))*, contomobile prg dar prideda modulį ir galutinis rezultatas *modulis+kodas+data su laiku*. 

Procedūra **contomobile_qr_link_ro**  grąžina .T. arba .F., pagal šias reikšmes galime nustatyti ar nuoroda buvo sugeneruota ar ne.

Naudojimo pavyzdys kai perduodams tikslus operacijos numeris:

  ```
m.lcNuoroda=""
contomobile_qr_link(@lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr),i06_kodas_po,"RO")
* Grąžinama nuoroda:
* "https://quickpay.contomobile.com/initialize?token=..."
  ```

Naudojimo pavyzdys kai nežinomas tikslus operacijos numeris:

  ```
m.lcNuoroda=""
m.ldDateTime=datetime()
m.lcKodas_op=alltrim(i06_kodas_ks)+ttoc(m.ldDateTime,1)
contomobile_qr_link(@lcNuoroda,200.99,"Dokumentas #AAA",m.lcKodas_op,"RO")
* Grąžinama nuoroda:
* "https://quickpay.contomobile.com/initialize?token=..."
  ```

### Pavyzdžiai sąskaitoje faktūroje ir el. laiško tekste

#### Sąskaitoje faktūroje:

Spausdinant ataskaitoje, sugeneruotą nuorodą reikėtų įterpti į ataskaitos duomenis (ataskaitos INIT'e). Pavyzdžiui:

```
LOCAL lal
lal=ALIAS()

IF TYPE(lal+".contomobile_link")#"C"
	LOCAL lcNuoroda
	IF !contomobile_qr_link(@m.lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr),i06_kodas_po,"RO")
		WAIT WINDOW m.lcNuoroda
		RETURN .F.
	ENDIF
	IF EMPTY(m.lcNuoroda)
		WAIT WINDOW "Nepavyko sugeneruoti nuorodos"
		RETURN .F.
	ENDIF
	SELECT *, CAST(m.lcNuoroda as M) as contomobile_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 HREF=contomobile_link
```

Norint ataskaitoje suformuoti QR kodą, komanda paveiksliuko objektui:

```
bar_kod_gen_qr_full(contomobile_link,330)
```

![contomobile_w3](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/81.Contomobile/21.Integracijos_diegimas/contomobile_w3.png)





Detaliau: [bar_kod_gen_qr_full](https://gidas.rivile.lt/sistemos_programavimas/funkcijos/kitos_funkcijos/bar_kod_gen_qr_full.md).

#### El. laiško tekste:

Siunčiant el. laišką sugeneruotą nuorodą reikėtų įterpti į ataskaitos duomenis (ataskaitos INIT'e). Pavyzdžiui:

```
LOCAL lcNuoroda

IF !contomobile_qr_link(@m.lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr),i06_kodas_po,"RO")
    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.**
