FORO SOPORTE TÉCNICO PSKLOUD
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
BIENVENIDO Explícanos detalladamente tu caso. Con mucho gusto te ayudaremos a resolverlo.
Sabias que un ALIADO DE NEGOCIOS puede tener su propia red de distribuidores PSKloud y ganar mucho dinero?. Solicita información en nuestra pagina www.premium-soft.com
¿Necesitas alcanzar a mas clientes? ¿Aumentar tus ventas? Crea tu tienda virtual con eShop de PSKloud y comienza a expandir tu empresa. PSKShop
Consulta las operaciones de tu empresa con nuestra aplicación móvil Manager y comienza a controlar tu empresa desde cualquier lugar. PSKManager
Los posteadores más activos del mes
No hay usuarios

Ir abajo
b1nar10
b1nar10
Cantidad de envíos : 69
Edad : 44
Localización : Barinas
Fecha de inscripción : 11/04/2009
http://www.binario.net.ve

Reporte con Agrupamiento y filtrado de registros. Empty Reporte con Agrupamiento y filtrado de registros.

Jue Jul 19, 2012 4:10 pm
Buen día, me gustaría saber si hay alguna forma de modificar la clausula WHERE que condiciona los registros que van a determinado reporte.

El caso es que estoy intentando hacer un reporte en el que solo se muestren registros de 2 ("000001" y "000002") de los 5 Grupos de Inventario con sus totales (es un desglose complementario a la factura).

He copiado el reporte de factura y estoy utilizando "nombregrupo" como parametro de agrupación de los registros...

Reporte con Agrupamiento y filtrado de registros. Reportedesglose1

Además de los condicionales para la impresión de cada uno de los campos.

Reporte con Agrupamiento y filtrado de registros. Reportedesglose2

"nombregrupo" es alias de "grupos.NOMBRE" y "grupoart" de "opermv.GRUPO".

Sin embargo, cuando en la factura no se ingresan en orden los registros de cada grupo, el reporte asume que se trata de otro grupo y se imprime incorrectamente el reporte, como sucede en este caso con el grupo de "MEDICAMENTOS", ya que entre el CARDIOPRIL y la CLINDAMICINA se ingresaron otros registros no pertenecientes a este grupo de inventario.

Reporte con Agrupamiento y filtrado de registros. Reportedesglose3

El reporte completo de puede descargar del siguiente link

https://www.dropbox.com/s/5na0rcqx71elmem/relmatymed2.pdf

Creo que la solución pasaría por algún parámetro que estoy obviando en el agrupamiento del reporte o por la modificación de la clausula WHERE del mismo, para asi recuperar solo los registros que serán utilizados en el reporte y evitar el salto.

Si alguien sabe como resolverlo de una forma u otra, le agradezco de antemano la información que pueda facilitarme al respecto.

Saludos.
b1nar10
b1nar10
Cantidad de envíos : 69
Edad : 44
Localización : Barinas
Fecha de inscripción : 11/04/2009
http://www.binario.net.ve

Reporte con Agrupamiento y filtrado de registros. Empty Re: Reporte con Agrupamiento y filtrado de registros.

Miér Jul 25, 2012 3:10 pm
Pude resolver el problema creando un Informe Adicional, con una copia de los reports y query de la FACTURA STANDAR y modificando de la siguiente forma las condiciones del mismo.

Reporte con Agrupamiento y filtrado de registros. Facturaadicional01

Reporte con Agrupamiento y filtrado de registros. Facturaadicional02

syhcomputacion
syhcomputacion
Cantidad de envíos : 393
Edad : 50
Fecha de inscripción : 18/02/2008

Reporte con Agrupamiento y filtrado de registros. Empty Re: Reporte con Agrupamiento y filtrado de registros.

Miér Jul 25, 2012 3:38 pm
creo que con ordenar el cursor resultante tienes por "nombregrupo" tienes...

en el dataenviroment en el procedure init, alli capturas el cursor y lo ordenas por ese campo "nombregrupo", ej:


w_allias=alias()

select * from &w_alias order by nombregrupo into cursor &w_alias
go top

prueba e informas..

Saludos

b1nar10
b1nar10
Cantidad de envíos : 69
Edad : 44
Localización : Barinas
Fecha de inscripción : 11/04/2009
http://www.binario.net.ve

Reporte con Agrupamiento y filtrado de registros. Empty Re: Reporte con Agrupamiento y filtrado de registros.

Jue Jul 26, 2012 7:49 pm
Buen día Richard.
Agradezco tu respuesta. La verdad en Visual Fox Pro no tengo nada de experiencia; he intentado modificar el Data Environment tomando como referencia el ejemplo que me diste y no logro que se ordenen los registros de la forma deseada.

El Data Evironment que corresponde al formato que necesito modificar es una copia del Factur01

Código:

PROCEDURE Init
*INITBLOCK
*------------------
* Parametros de seteo de entorno
initset()
select alias()
lnameAlias=alias()
cm_documento=documento
** para obtener las formas de pago del documento, si el cursor devuelve al menos un registro es porque tiene abonos
** adicionalmente si posee mas de un abono sera sumado en cada forma de pago correspondiente, la estructura del cursor es identica a la de operclit
**
ArmaFormaPago("FAC",cm_documento,3) && 1= traer formas de pago , 2=trae el vuelto, 3=devuelve copia de operclit pero con los saldos acumulados
SELECT formapago

*
* Este bloque permite exportar en un archivo texto los parámetros que requiere el centro de impresión fiscal
* la idea es que por la reimpresión de factura (NO FISCAL) el usuario puedo crear un archivo plano para que otro software pueda
* tomar la información de la factura hecha en Premium Soft y registrarlo en su producto de software que use
*
*!*   SELECT(lnameAlias)
*!*   cDocumentoCIF="FACTI"+ALLTRIM(documento)
*!*   cArchivoTi="FACTI"+ALLTRIM(documento)+".txt"
*!*   cArchivoMv="FACMV"+ALLTRIM(documento)+".txt"
*!*   cRutaInArchivo="C:\x\Gary\" &&&&& ACA SE MODIFICA LA RUTA DONDE SE GENERARA EL ARCHIVO (2)
*!*   *
*!*   create cursor cursor_operti (documento  c(20),;
*!*      nombrecli  c(80),;
*!*      rif        c(15),;
*!*      direccion  c(150),;
*!*      totdescuen n(19,2),;
*!*      totpagos  n(19,2),;
*!*      totalfinal n(19,2),;
*!*      recargos  n(19,2),;
*!*      recargoprc n(19,2),;
*!*      efectivo  n(19,2),;
*!*      cheque    n(19,2),;
*!*      tcredito  n(19,2),;
*!*      tdebito    n(19,2),;
*!*      ncredito  n(19,2),;
*!*      otrotipo  n(19,2),;
*!*      Tipodoc    c(3),;
*!*      totneto    n(19,2),;
*!*      totimpuest n(19,2),;
*!*      alicuota  n(19,3),;
*!*      baseimpo1  n(19,2),;
*!*      baseimpo2  n(19,2),;
*!*      baseimpo3  n(19,2),;
*!*      notas      c(100),;
*!*      aplicadoa  c(20),;
*!*      fechadev  d(8),;
*!*      horadev    c(5),;
*!*      serialprint c(25),;
*!*      facfiscal  c(8))

*!*   **
*!*   * Tabla de movimientos de factura
*!*   *
*!*   create cursor cursor_opermv (documento  c(20),;
*!*      codigo    c(25),;
*!*      nombre    c(80),;
*!*      unidad    c(20),;
*!*      cantidad  n(19,4),;
*!*      preciofin  n(19,2),;
*!*      timpueprc  n(19,3),;
*!*      agrupado  n(3),;
*!*      baseimpo1  n(19,3),;
*!*      baseimpo2  n(19,3),;
*!*      baseimpo3  n(19,3))

*!*   *--- encabezado
*!*   select cursor_operti
*!*   append blank

*!*   replace documento  with cDocumentoCIF
*!*   replace nombrecli  with &lnameAlias->nombrecli
*!*   replace rif        with &lnameAlias->rif
*!*   replace direccion  with &lnameAlias->direccion
*!*   replace totpagos    with &lnameAlias->totpagos
*!*   replace totalfinal  with &lnameAlias->totalfinal
*!*   replace efectivo    WITH formapago.efectivo
*!*   replace cheque      WITH formapago.bcocheqmto
*!*   replace tcredito    WITH formapago.mtotarjeta
*!*   replace tdebito    WITH formapago.tardebmto
*!*   replace otrotipo    WITH formapago.otrotipo
*!*   replace totimpuest  with &lnameAlias->totimpuest
*!*   replace totdescuen  WITH &lnameAlias->totdescuen

*!*   *--- movimiento
*!*   select * from (lnameAlias) where 1=1 into cursor opermv_export readwrite
*!*   select opermv_export
*!*   go top

*!*   do while !eof()
*!*      select cursor_opermv
*!*      append blank
*!*      replace documento  with cDocumentoCIF
*!*      replace codigo    with opermv_export.codigo
*!*      replace nombre    with opermv_export.nombre
*!*      replace unidad    with opermv_export.unidad
*!*      replace cantidad  with opermv_export.cantidad
*!*      replace preciofin  with opermv_export.preciofin
*!*      replace timpueprc  with opermv_export.timpueprc
*!*      *--
*!*       select opermv_export
*!*      skip
*!*   ENDDO

*!*   select cursor_operti
*!*   GO top
*!*   * Copiando archivo de encabezado
*!*   COPY TO (cRutaInArchivo+cArchivoTi) DELIMITED WITH tab

*!*   select cursor_opermv
*!*   GO top
*!*   COPY TO (cRutaInArchivo+cArchivoMV) DELIMITED WITH tab


*
* Fin del proceso
*
*

SELECT (lnameAlias)
GO top
ENDPROC

Cualquier orientación adicional al respecto será bien recibida.
Saludos.
syhcomputacion
syhcomputacion
Cantidad de envíos : 393
Edad : 50
Fecha de inscripción : 18/02/2008

Reporte con Agrupamiento y filtrado de registros. Empty Re: Reporte con Agrupamiento y filtrado de registros.

Jue Jul 26, 2012 7:54 pm
contactame y te ayudo en eso...

Saludos
b1nar10
b1nar10
Cantidad de envíos : 69
Edad : 44
Localización : Barinas
Fecha de inscripción : 11/04/2009
http://www.binario.net.ve

Reporte con Agrupamiento y filtrado de registros. Empty Re: Reporte con Agrupamiento y filtrado de registros.

Jue Jul 26, 2012 7:59 pm
Acabo de hacer una prueba y funcionó.

Solo sustituí la línea

Código:
SELECT (lnameAlias)

Por
Código:
SELECT * from &lnameAlias order by nombregrupo into cursor &lnameAlias

Gracias Richard, una vez mas!
syhcomputacion
syhcomputacion
Cantidad de envíos : 393
Edad : 50
Fecha de inscripción : 18/02/2008

Reporte con Agrupamiento y filtrado de registros. Empty Re: Reporte con Agrupamiento y filtrado de registros.

Jue Jul 26, 2012 8:20 pm
Excelente Marco, esa es la idea de este foro ayudarnos y aprender todos..

Saludos
Contenido patrocinado

Reporte con Agrupamiento y filtrado de registros. Empty Re: Reporte con Agrupamiento y filtrado de registros.

Volver arriba
Permisos de este foro:
No puedes responder a temas en este foro.