Yo creo que tenes un problema "grave" aca
Código Delphi
[-]WHERE ((A.TIPO_DOCTO='V'))
Pensando desde Delphi, porque tendrias un caracter (o string, peor aun) para diferenciar entre un "tipo de algo"
Lo mas natural seria usar un enumerativo. Y los enumerativos son tipos de datos numericos (byte, word, integer, etc). Y las operaciones con tipos de datos numericos son mucho mas rapidas que con strings o carácteres