#13: formular de facturare unificat - etapa curenta
Squash al branch-ului de lucru plan13-s2. Clase: ofacturare (nucleul formularului unificat), ofacturare_comun, ferestre_cere_date, ocomenzi, caut_ora (lista de preturi in combo-urile de cautare), omodificari. Programe: ofacturare impartit - ofacturare_antet, ofacturare_rutare_scriere si ogrid_latimi sunt fisiere noi; oproceduri_facturare primeste discountul pe linie si cota standard de TVA cand articolul nu are cota pe politica. Documentatie: capcana SQLExec no_data_found, conventia de encoding, depanarea testelor VFP si regulile de lucru - conflictele cu modificarile venite din alte proiecte sunt rezolvate pastrand ambele parti. Loguri de rulare a testelor scoase din versionare; testele raman. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PkyjGyrV2S7932om4kfSiK
This commit is contained in:
57
utile/Teste/editare_factura/mock_incarca_linii_prefix.prg
Normal file
57
utile/Teste/editare_factura/mock_incarca_linii_prefix.prg
Normal file
@@ -0,0 +1,57 @@
|
||||
* mock_incarca_linii_prefix.prg
|
||||
* Control negativ pentru FACT-008: versiunea DINAINTE de reparatie a lui
|
||||
* IncarcaLiniiFacturaEditare (fara Cont in crsarticole_editare / REPLACE si fara re-derivarea lui
|
||||
* pretv_orig din RUL). Se incarca INAINTEA lui ofacturare_editare.prg in SET PROCEDURE, deci
|
||||
* castiga la nume duplicat. Nu atinge niciun fisier de productie.
|
||||
FUNCTION IncarcaLiniiFacturaEditare
|
||||
LPARAMETERS toDate, tnIdVanzare
|
||||
|
||||
LOCAL llInValuta, lnCursDoc, lnMultDoc, lnIdTemp, lnGestionabil
|
||||
|
||||
llInValuta = (toDate.in_valuta = 1)
|
||||
lnCursDoc = Nvl(toDate.Curs,1)
|
||||
lnMultDoc = Nvl(toDate.multiplicator,1)
|
||||
|
||||
IncarcaArticoleFactura(m.tnIdVanzare, 'crsarticole_doc')
|
||||
|
||||
IF Used('crsarticole_editare')
|
||||
Use In crsarticole_editare
|
||||
ENDIF
|
||||
SELECT id_vanzare_det, id_articol, explicatie, Nvl(denumire,[]) As denumire, lot, serie, codmat, id_jtva_coloana, taxcode, ;
|
||||
pret_achizitie, cantitate, proc_tvav, pret_cu_tva, id_vanzare_set, id_gestiune, id_ctr, id_valuta, nume_val, in_stoc, ;
|
||||
id_pol, pretd, id_valutad, ;
|
||||
Nvl(curs, m.lnCursDoc) As curs, Nvl(multiplicator, m.lnMultDoc) As multiplicator, ;
|
||||
Iif(m.llInValuta, Round(pret * Nvl(curs, m.lnCursDoc) / Nvl(multiplicator, m.lnMultDoc), gnPPretV), pret) As pret, ;
|
||||
Iif(m.llInValuta, pret, 0) As pret_val, ;
|
||||
Iif(m.llInValuta, Round(discount_unitar * Nvl(curs, m.lnCursDoc) / Nvl(multiplicator, m.lnMultDoc), gnPPretV), discount_unitar) As discount_unitar, ;
|
||||
Iif(m.llInValuta, discount_unitar, 0) As discount_unitar_val, ;
|
||||
Iif(m.llInValuta,1,0) As tip_valuta, ;
|
||||
Cast(.Null. As N(10)) As id_jtva_coloana_ex, Space(50) As codmatf, Space(50) As codbare, Space(10) As um, Space(50) As numar_contract ;
|
||||
FROM crsarticole_doc INTO CURSOR crsarticole_editare READWRITE
|
||||
|
||||
creeaza_facturacrs('crsfactura')
|
||||
prelucreaza_facturacrs('crsarticole_editare','crsfactura',0,0,0)
|
||||
|
||||
*!* gestionabil vine din nomenclatorul curent, nu din id_gestiune; id_gestiune, Cont, id_pol/
|
||||
*!* pretd/id_valuta_d si vvaldiminuatctva (total in valuta cu tva, cf. oproceduri_facturare.prg:2282)
|
||||
*!* nu sunt in lista de insert a lui prelucreaza_facturacrs
|
||||
SELECT crsarticole_editare
|
||||
SCAN
|
||||
lnIdTemp = id_vanzare_det
|
||||
lnGestionabil = Iif(Nvl(in_stoc,0) <> 0, 1, 0)
|
||||
SELECT crsfactura
|
||||
REPLACE gestionabil WITH m.lnGestionabil, ;
|
||||
id_gestiune WITH Nvl(crsarticole_editare.id_gestiune, -1000), ;
|
||||
id_pol WITH crsarticole_editare.id_pol, ;
|
||||
pretd WITH crsarticole_editare.pretd, ;
|
||||
id_valuta_d WITH crsarticole_editare.id_valutad, ;
|
||||
vvaldiminuatctva WITH vvaldiminuatftva + vvaldiminuattva ;
|
||||
FOR id_temp = m.lnIdTemp
|
||||
SELECT crsarticole_editare
|
||||
ENDSCAN
|
||||
|
||||
Use In crsarticole_doc
|
||||
Use In crsarticole_editare
|
||||
|
||||
RETURN .T.
|
||||
ENDFUNC
|
||||
Reference in New Issue
Block a user