os paso una modificación que he realizado sobre la clase DO REPORT.
Dado que hace 16 años que no programo y no me gusta reescribir mucho código, creo que esta herramienta del DO REPORT para hacer un listado simple es muy buena, eso sí con unos retoques.., los que yo le he dado .
Os comento.
Como no me funcionaban el acumulador, GROUPED BY, le he quitado las comillas en el INCLUDE y a funcionar.
Otra modificación es la variable del HEADRGRP, yo lo utilizo para imprimir en la cabecera del listado el nombre de la empresa, lo hago pasandole el valor con una variable.
Y por ultimo le he añadido la clausula WHILE (que es opcional), lo que me permite poner el marcha el listado sin tener FILTRAR ni hacer un SELECT previamente..., directamente aaaa jugar...
Ojo!, Solo que la primera búsqueda para posicionar el puntero la tienes que hacer por aproximación, quedando el código así
Code: Select all
local vProva:="MI EMPRESA S.L."
Estado->(dBSeek(xPrimero,.t.)) //--> realizo búsqueda por aproximación
DO REPORT ;
TITLE 'Tipos' ;
HEADERS {'',''} , {'Codigo','Descripcion'} ;
FIELDS {'CODIGO','DESCRIP'} ;
WIDTHS {20,20} ;
TOTALS {.F.,.F.} ;
WORKAREA Estado ;
LPP 50 ;
CPL 80 ;
LMARGIN 5 ;
PREVIEW ;
* GROUPED BY 'lpedidos->fecha_se' ; **-> Lo he puesto de otro listado
HEADRGRP vProva ;
WHILE !Estado->(EOF()) .AND. Estado->CODIGO <=xUltimo