Import eFactura in lot: borderou cu ce lipseste, coada de contabilizare, alegerea contului
Borderoul tine per factura ce mai are de completat si daca are articole de gestiune (camp gest, coloana si filtru), coada contabilizeaza in serie facturile bifate si incheie cu un rezumat, iar contul de furnizor/client se alege din planul de conturi. Cheia normalizata de articol, rezolvarea automata a partenerului si anularea in bloc intra tot aici. Pozitia in lista se pastreaza peste reaplicarea filtrului. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Aroafxp4z8bmM5oVECZRXY
This commit is contained in:
54
utile/Teste/test_inkey_poll.prg
Normal file
54
utile/Teste/test_inkey_poll.prg
Normal file
@@ -0,0 +1,54 @@
|
||||
* test_inkey_poll.prg
|
||||
* Dovada fix INKEY(0,'H') -> INKEY(0.01,'H') in anaf_efactura.vc2::do_coada:
|
||||
* 1) fara tasta apasata, INKEY(0.01,'H') revine imediat (nu asteapta nelimitat)
|
||||
* 2) cu '{ESC}' in buffer, INKEY(0.01,'H') intoarce 27
|
||||
*
|
||||
* Rulare: vfp9.exe -A -T "D:\ROA\ROACONT\COMUN\utile\Teste\test_inkey_poll.prg"
|
||||
* Iesire in D:\ROA\ROACONT\COMUN\utile\Teste\test_inkey_poll_log.txt
|
||||
|
||||
SET SAFETY OFF
|
||||
SET TALK OFF
|
||||
CLOSE DATABASES
|
||||
|
||||
PUBLIC gcUILog
|
||||
gcUILog = "D:\ROA\ROACONT\COMUN\utile\Teste\test_inkey_poll_log.txt"
|
||||
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
||||
|
||||
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
||||
ON SHUTDOWN QUIT
|
||||
|
||||
TRY
|
||||
DO PrLogLocal WITH '=== INKEY(0.01,H) fara tasta - trebuie sa revina imediat ==='
|
||||
CLEAR TYPEAHEAD
|
||||
LOCAL lnStart, lnStop, lnDurata, lnI, lnCod
|
||||
lnStart = SECONDS()
|
||||
FOR lnI = 1 TO 10
|
||||
lnCod = INKEY(0.01, 'H')
|
||||
ENDFOR
|
||||
lnStop = SECONDS()
|
||||
lnDurata = lnStop - lnStart
|
||||
DO PrLogLocal WITH ' 10 apeluri INKEY(0.01,H) fara tasta, durata=' + TRANSFORM(m.lnDurata) + ' sec, ultimul cod=' + TRANSFORM(m.lnCod)
|
||||
DO PrLogLocal WITH ' ' + IIF(m.lnDurata < 1, 'OK - sub 1 sec, deci polling, nu asteptare nelimitata', 'FAIL - a durat prea mult')
|
||||
|
||||
DO PrLogLocal WITH '=== INKEY(0.01,H) cu {ESC} in buffer - trebuie sa intoarca 27 ==='
|
||||
CLEAR TYPEAHEAD
|
||||
KEYBOARD '{ESC}'
|
||||
lnCod = INKEY(0.01, 'H')
|
||||
DO PrLogLocal WITH ' cod obtinut=' + TRANSFORM(m.lnCod) + ' asteptat=27 ' + IIF(m.lnCod = 27, 'OK', 'FAIL')
|
||||
|
||||
DO PrLogLocal WITH '=== TERMINAT ==='
|
||||
CATCH TO loEx
|
||||
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message
|
||||
ENDTRY
|
||||
|
||||
QUIT
|
||||
|
||||
PROCEDURE PrLogLocal
|
||||
LPARAMETERS tcMesaj
|
||||
STRTOFILE(m.tcMesaj + CHR(13) + CHR(10), gcUILog, 1)
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE PrErrLocal
|
||||
LPARAMETERS tnErr, tcMsg, tcProg, tnLine
|
||||
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(m.tnErr) + ': ' + m.tcMsg + ' in ' + m.tcProg + ' linia ' + TRANSFORM(m.tnLine)
|
||||
ENDPROC
|
||||
Reference in New Issue
Block a user