41 lines
2.1 KiB
Markdown
41 lines
2.1 KiB
Markdown
# Incasare/plata intr-o valuta diferita de cea a facturii
|
|
|
|
Cazul: factura emisa in EUR, clientul vireaza GBP. Meniu: Trezorerie > "3. Banca in valuta" >
|
|
Incasari > "Incasari clienti valuta diferita 411" (`Meniuri\banca3.mn2:53`) -> `lans(10600)`.
|
|
Seturile 10600-10603 acopera banca valuta/lei x incasare/plata (`COMUN\programe\pmenu.prg:11-15`).
|
|
Macheta nu e o forma fixa: e generata din Oracle (`XREQUEST`/`XITEMS`) prin `actbaza2007`
|
|
(`COMUN\clase\baza.vc2:3352`) - vezi `machete-note-xrequest-explicatii.md`.
|
|
|
|
## Ce se completeaza (leul e pivot: ambele cursuri sunt fata de RON)
|
|
|
|
| Camp `poAct` | Ce e | In exemplu |
|
|
|---|---|---|
|
|
| `id_valuta` / `nume_val` | valuta **facturii** | EUR |
|
|
| `id_valuta2` / `nume_val2` | valuta in care se **incaseaza efectiv** | GBP |
|
|
| `suma_3` | cursul valutei facturii | curs EUR/RON al zilei |
|
|
| `suma_22` | suma incasata, in valuta de incasare | suma din extras, in GBP |
|
|
| `suma_32` | cursul valutei de incasare | curs GBP/RON al zilei |
|
|
| `suma_22a` | **calculat**: suma convertita in valuta facturii | echivalent EUR |
|
|
|
|
`suma_2` (itemul 11) e superseded: daca setul contine itemul 81 (`suma_22`), itemul 11 nu mai
|
|
apare si `poAct.suma_2` nu exista. Initializarile: `COMUN\programe\pmenu.prg:376-387`.
|
|
|
|
## Invariante
|
|
|
|
- Lista de facturi e filtrata `i.id_valuta IN (poAct.id_valuta, poAct.id_valuta2)`
|
|
(`COMUN\clase\baza.vc2:10552`), deci **primul camp trebuie sa fie valuta facturii**, altfel
|
|
factura nu apare.
|
|
- Soldul afisat in formularul de alegere e **mereu in valuta facturii** (coloanele `*VAL*` din
|
|
`vireg_parteneri`, `baza.vc2:10593`). Nu se converteste vizual in valuta incasata - nu se
|
|
compara cu suma din extras.
|
|
- Conversia trece prin lei: `suma_22 = (suma_2 * suma_3) / suma_32`
|
|
(`COMUN\clase\baza.vc2:10855-10862`, `Case '.SUMA_32'$M`). Ce nu acopera `suma_22a` din soldul
|
|
facturii ramane sold sau iese ca diferenta de curs - soldul nu se "ajusteaza", raportul
|
|
cursurilor decide.
|
|
|
|
## Nelamurit
|
|
|
|
Textul exact al etichetelor vazute de utilizator e in `XITEMS.LABEL_ITEM` (Oracle), nu in codul
|
|
VFP; semantica de mai sus e din cod. Daca macheta nu cere un curs pentru valuta facturii,
|
|
verifica itemii setului 10600 in `XREQUEST`.
|