Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   problemas de impresion con Qreport y SQL (https://www.clubdelphi.com/foros/showthread.php?t=96051)

viverosjosem 13-01-2023 17:08:42

problemas de impresion con Qreport y SQL
 
Hola Estimados.

Estoy migrando mis aplicaciones desde Paradox a SQL. Tengo un reporte muy sencillo, con cuatro bandas de detalle. Una banda para los titulos, una banda para agrupar por una expresion, una banda para el detalle de productos, y una banda para los totales. Este reporte muestra los detalles de venta de un cliente, y subTotaliza por mes.

Este reporte funciona perfecto con delphi y paradox. Pero ahora al trabajar con SQL-Firebird, al poner un valor en la "propiedad Expresion" (Campo: Mes) de la segunda banda (Banda tipo: TQRGroup), me aparece un mensaje que dice: "Operation not allowed on a unidirectional dataset". Si quito el valor en la propiedad "expresion", este funciona correctamente. Pero necesito sub-Totalizar por mes.

El archivo que estoy tratando de imprimir esta ordenado por el campo: Mes.

Alguna idea de que pasa? , y como solucionar esto?

Gracias de antemano.

Saludos.
Jose Miguel B.

Casimiro Notevi 13-01-2023 20:07:05

El dataset que estás usando tiene la propiedad unidirectional deshabilitada, habilítala.


viverosjosem 13-01-2023 23:15:43

Hola Casimiro.
Agradesco tu respuesta. Pero estoy usando Componentes DbExpres, y el DataSet no tiene esa propiedad que me indicas. :(

Saludos.
Jose Miguel.

Casimiro Notevi 14-01-2023 10:14:08

Pues que yo recuerde, de forma predeterminada los dataset de DBExpress son unidereccionales, así que el problema debe venir de otro lugar a pesar de ese mensaje.

viverosjosem 15-01-2023 16:35:22

Hola Casimiro.
E revisado todo e probado de distintas maneras y el problema es el mismo. El problema se produce solo si en la propiedad: "Expresion", de la Banda: "TQRGroup", va un campo que es parte de la consulta. (Tipodoc, Mes, Codigo, descrip, etc..) cualquiera de ellos presenta el error. Pero si en la propiedad "Expresion", va un campo que no es parte de la consulta, o dejo la propiedad vacia, no presenta el problema.

Esta es la consulta que estoy usando.

Código:

  SQL_String.Close;

  SQL_Text := 'SELECT DetFact.TipoDoc, DetFact.Rut, DetFact.CodAux, DetFact.Numero, ' +
                    'DetFact.FechaEmi, DetFact.Mes, DetFact.Codigo, DetFact.Descrip, DetFact.Cantidad, ' +
                    'DetFact.TotalLinDe, DetFact.Vendedor, Vendedores.Nombre ' +
                    'FROM DetFact '                                +
                    'LEFT JOIN Vendedores '                            +
                    'ON Vendedores.Codigo=DetFact.Vendedor ' +
                                      'WHERE DetFact.FechaEmi>=' + QuotedStr( sFechaSel ) + ';';

  SQL_String.CommandText := SQL_Text;
  SQL_String.Open;


Alguna idea?

Saludos.
Jose Miguel.
:(

Casimiro Notevi 15-01-2023 19:55:01

¿Y esa sentencia funciona?

viverosjosem 15-01-2023 21:36:07

Si.
Funciona perfectamente.

El problema se produce en el reporte.

Como te comentaba. Cuando agrego en propiedad "Expresion", de la segunda banda (Banda tipo: TQRGroup), algun dato, como el campo: "Mes", para que subtotalize por mes, me presenta el mensaje de error. Si no agrego nada en esa propiedad, o agrego algun campo que no esta en la consulta, presenta el informe correspondiente, sin ningun tipo de error.

El problema es solo que no puedo subtotalizar un informe. :confused:

Alguna idea?

Gracias.

Saludos.
Jose Miguel.


La franja horaria es GMT +2. Ahora son las 06:47:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi