Miércoles 16 Septiembre, 2009 por Mijhail Mosquera
Para los interesados, aquí están los archivos fuentes del VFPServer. La clave para expandir los archivos es: 1234.
Excepto por la licencia de la librería de comunicaciones, todo el código fuente del VFPServer se encuenta aquí. en una próxima entrada mostraré las soluciones a dos pequeños problemitas que encontré, especialmente el de la trístemente famosa variable que no regresa ningún valor.
Preguntaba Horacio, desde Argentina, sobre cómo hacer una consulta de la información de ciertos clientes que se seleccionan desde un grid.
Aunque no es un caso exactamente igual al descrito por Horacio, creo que es una buena aproximación a la respuesta que buscaba Horacio.
Tengo esta consulta en un archivo de texto (sql_DocsCobrar003.sql), la cual me trae, para un cierto cliente seleccionado, algunos tipos de documentos (curBase.doc_presup, curBase.doc_ordenc y curBase.doc_pendie):
SELECT ccVentac.doc_codigo ,;
empDocumentos.doc_nombre ,;
ccVentac.doc_numero ,;
ccVentac.doc_emisio ,;
ccVentac.doc_totgen ;
FROM ccVentac,empDocumentos ;
WHERE ccVentac.cli_rif=#1 ;
AND ccVentac.doc_codigo$#2 ;
AND EMPTY(ccVentac.doc_cancel);
AND EMPTY(ccVentac.doc_anula) ;
AND empDocumentos.doc_codigo=ccVentac.doc_codigo;
AND empDocumentos.doc_modulo='CXC';
ORDER BY 1,3
Entonces, el código del evento BUSCAR de mi formulario, queda de esta manera:
lSelect=FILETOSTR(gRutaSQL+'sql_DocsCobrar003.sql')
lSelect=oFun.ParaToStr(lSelect,curBase.cli_rif,lDocPresup+lDocOrden+lDocPend)
lCursor="curPresupuesto"
oVFPSclient.SelectToCursor(lSelect,lCursor)
IF !EMPTY(doc_codigo)
DO FORM buscaPresupuestos TO lOk
IF lOk
***
***
***
ENDIF
ENDIF
En el caso de la consulta de Horacio, debería encadenar todas las combinaciones CLIENTES+DOCUMENTOS seleccionadas y, entonces, realizar la sustitución con el evento oFun.ParaToStr.