Regulile de completare şi validare documente de recepţie şi vânzări, dacă OpTva este Iz sau Ix sunt descrise în Parametri la secţiunea [TVAI]:
[TVAI]
// Reguli de completare si validare OpTva in cazul Iz, Ix.
// Elementele:
// - Jurnal poate fi "MR" sau "MV"
// - TVAISoc poate fi "D","N" sau " "
// - RTVAI consultare RTVAI: .T.-cu validare manuala, .F. -fara,
vid-nu se consulta
// - TVAIPart poate fi "D","N"," ","?","&" - partener afiliat sau vid
// - OpTVAg poate fi "Iz" sau "Ix" sau vid (in cazul ?)
// - OpTVAe poate fi "Iz" sau "Ix" sau vid
// - mesaj poate fi "...." sau vid, daca OpTVAe = vid,
mesaj obligatoriu
// Exemple:
// [TVAI]
// OP_TVAI_01 := {"MR", "D", .F.,"D", "Iz", "Ix", "OpTva Ix"}
// OP_TVAI_05 := {"MR", "D", ,"&", "Ix", , "OpTva eronat"}
// OP_TVAI_09 := {"MR", "N", .T.,"?", , , "OpTva eronat"}
//
// Daca Jurnal=MR si TVAISoc=D si TVAIPart=D si OpTVA=Iz, OK
// Daca Jurnal=MR si TVAISoc=D si TVAIPart=D si OpTVA=Ix, OK,
dar afisare mesaj atentionare daca este mesaj
// Daca Jurnal=MR si TVAISoc=D si TVAIPart=& si OpTVA=Ix, OK
// Daca Jurnal=MR si TVAISoc=D si TVAIPart=& si OpTVA=Iz, ERR,
afisare mesaj si abandon
// Daca Jurnal=MR si TVAISoc=N si TVAIPart=? indif.OpTVA, ERR,
afisare mesaj si abandon
Procedura de completare şi validare documente de recepţie şi vânzări, dacă OpTva este Iz sau Ix:
1. dupa completarea campului data receptie/factura:
Se citeste TVAISoc din Perioade, din perioada corespunzatoare datei de receptie sau facturare
Se consulta tabelul TVAI din Parametri si se citeste prima pozitie crsp. jurnalului (MR,MV) si TVAISoc
Rezulta linia implicita din tabelul TVAI.
Rezulta lista de ajutor OpTva (F1 pe OpTVA) si OpTVA implicit cu care se completeaza campul OpTVA.
2. dupa completare camp partener
daca nu este firma: TVAIPart = „N“
daca este firma : se consulta Firme, rezulta CIF si & (daca este afiliat)
daca tip firma=& : TVAIPart = „&“
3. daca TVAIPart este completat la pct.2, nu se consulta RTVAI, TVAIPart ramane cel completat.
Daca RTVAI din linia implicita din tabelul TVAI este vid, nu se consulta RTVAI, in acest caz: TVAIPart = „ “.
Daca RTVAI este .T., se consulta RTVAI cu CIF si datadoc, varianta cu cofirmare manuala
Daca RTVAI este .F., se consulta RTVAI cu CIF si datadoc, varianta fara confirmare manuala
4. RTVAI poate returna:
„?“: poate fi in cazurile:
in acest caz se afiseaza mesajul de atentionare
Rezulta noua lista de ajutor OpTva (F1 pe campul OpTVA) si OpTVA cu care se suprascrie campul de pe ecran (daca nu este in validare) OpTVA poate fi Iz numai daca documentul este platibil/incasabil (T sau F $ CodLista)
5. Daca MR si TVA#0 si CIF#RO, mesaj atentionare
Daca MR si TVAIPArt=D si CIF#RO, mesaj atentionare
Daca MV si TVAIPArt=D si CIF#RO, mesaj atentionare
6. Daca OpTVAg si OpTVAe absent, pe ecran se pune in lista OpTVA=„ “, si mesaj eroare (sa nu se poata valida)
Daca OpTVAe absent si OpTva este Ix,Iz si # OpTVAg: mesaj eroare
Daca OpTVAe prezent si OpTva este OpTVAe: mesaj atentionare
Lista de parametri
OP_TVAI_01 := {"MR", "D", .F.,"D", "Iz", "Ix", "OpTva Ix"}
OP_TVAI_02 := {"MR", "D", .F.,"N", "Iz", "Ix", "OpTva Ix"}
OP_TVAI_03 := {"MR", "D", .F.,"?", "Iz", "Ix", "OpTva Ix"}
OP_TVAI_04 := {"MR", "D", .F.," ", "Ix", , "OpTva eronat"}
OP_TVAI_05 := {"MR", "D", .F.,"&", "Iz", "Ix", "OpTva Ix"}
OP_TVAI_06 := {"MR", "N", .T.,"D", "Iz", "Ix", "OpTva Ix"}
OP_TVAI_07 := {"MR", "N", .T.,"N", "Ix", "Iz", "OpTva Iz"}
OP_TVAI_09 := {"MR", "N", .T.,"?", , , "OpTva eronat"}
OP_TVAI_10 := {"MR", "N", .T.," ", "Ix", , "OpTva eronat"}
OP_TVAI_11 := {"MR", "N", ,"&", "Ix", , "OpTva eronat"}
OP_TVAI_12 := {"MR", " ", , , "Ix", , "OpTva eronat"}
OP_TVAI_13 := {"MV", "D", .F.,"D", "Iz", "Ix", "OpTva Ix"}
OP_TVAI_14 := {"MV", "D", .F.,"N", "Iz", "Ix", "OpTva Ix"}
OP_TVAI_15 := {"MV", "D", .F.,"?", "Iz", "Ix", "OpTva Ix"}
OP_TVAI_15 := {"MV", "D", .F.,"?", "Iz", "Ix", "OpTva Ix"}
OP_TVAI_16 := {"MV", "D", .F.," ", "Ix", , "OpTva eronat"}
OP_TVAI_17 := {"MV", "D", ,"&", "Ix", , "OpTva eronat"}
OP_TVAI_18 := {"MV", "N", , , "Ix", , "OpTva eronat"}
OP_TVAI_24 := {"MV", " ", , , "Ix", , "OpTva eronat"}