Apare la executabile xHarbour 1.2 la listarea anumitor documente de iesire ca TBON, TFACI etc.
EROARE:  BASE/1110  Argument error: SUBSTR
Motiv:
tipul de document este incoerent:
- textul liber are 4 linii si
- in formule model este referita si linia 5:
Cumparator         ; Cumparator       ;
          (xF_5 := EMPTY (SUBSTR(xF_Linia5,12))),
          IF (xF_5, xF_Client, SUBSTR(xF_Linia5,12))  ; C30
Pina la aceasta versiune nu aparea eroare pentru ca aceste versiuni aveau o anomalie:
pentru prima linie de dupa ultima completata au returnat linie cu spatii,
iar de la V1.2 nu se mai intoarce linie de spatii.
Solutie:
in formule sa nu fie referiri xF_Linia... la linii din text liber care nu exista.
			
			
									
						
										
						Eroare SUBSTR la listare anumite documente de iesire
Moderator: HAMOR
- 
				imre.bodosi
 - Site Admin
 - Posts: 456
 - Joined: 08 Dec 2011, 10:49
 
- 
				imre.bodosi
 - Site Admin
 - Posts: 456
 - Joined: 08 Dec 2011, 10:49
 
Re: Eroare SUBSTR la listare anumite documente de iesire
Test de exemplicificare:
Text liber:
Formular:
Formule:
[/code]
In Clipper si pana la V1.2 se listeaza:[/code]
In V1.2 listeaza:
Variabilele xF_Linia..., daca linia este vida, au valoarea NIL,
daca MEMOLINE(...) returneaza "" se schimba in NIL, pentru ca liniile vide din text liber sa nu fie listate.
			
			
									
						
										
						Text liber:
Code: Select all
1: Unu
2: DoiCode: Select all
{L1            }
{L2            }
{L3            }
{L4            }Code: Select all
[code]L1 ; ; "["+MEMOLINE (fac->TXTLIB, 10, 1)+"]"; C12
L2 ; ; "["+MEMOLINE (fac->TXTLIB, 10, 2)+"]"; C12
L3 ; ; "["+MEMOLINE (fac->TXTLIB, 10, 3)+"]"; C12
L4 ; ; "["+MEMOLINE (fac->TXTLIB, 10, 4)+"]"; C12In Clipper si pana la V1.2 se listeaza:
Code: Select all
[code][Unu         ]
[Doi          ]
[               ]      - linia 3, desi nu exista, apar spatii
[]In V1.2 listeaza:
Code: Select all
[Unu         ]
[Doi          ]
[]                     - linia 3 vida: corect
[]daca MEMOLINE(...) returneaza "" se schimba in NIL, pentru ca liniile vide din text liber sa nu fie listate.