Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2015
synapsevzla synapsevzla is offline
Registrado
NULL
 
Registrado: sep 2015
Posts: 5
Poder: 0
synapsevzla Va por buen camino
Ayuda con vista en ibexpert y reportbuilder enterprise

hola a todos amigos del club delphi, estoy tratando de adaptar una ap para el negocio de mi papa que esta realizada en delphi y firebird como motor de db el problema que tengo es el siguiente genere una vista en ibexpert que me arroja los siguientes resusltados.


DOCUMENTO TIPO_DOCUMENTO TOTAL_OPERACION
0000000001 FAC 180962,96,0000
0000000002 FAC 365094,44,0000
0000000003 FAC 180962,96,0000
0000000001 DEV 180962,96,0000
0000000004 FAC 180962,96,0000
0000000005 FAC 180962,96,0000
0000000006 FAC 180962,96,0000

Pero yo necesito que todo lo que aparesca en la fila con la descripcion 'DEV y N/C' en el reportbuilder se ponga en negativo para que se pueda restar.

Ejemplo:

DOCUMENTO TIPO_DOCUMENTO TOTAL_OPERACION
0000000001 FAC 180962,96,0000
0000000002 FAC 365094,44,0000
0000000003 FAC 180962,96,0000
0000000001 DEV -180962,96,0000
0000000004 FAC 180962,96,0000
0000000005 FAC 180962,96,0000
0000000006 FAC 180962,96,0000

Como puedo lograr esto?

Les agradeceria de todo corazon su ayuda.

Comparto tambien copia de la db con las vistas incluidas.

Última edición por synapsevzla fecha: 07-09-2015 a las 04:16:07. Razón: Correcion de datos
Responder Con Cita
  #2  
Antiguo 07-09-2015
synapsevzla synapsevzla is offline
Registrado
NULL
 
Registrado: sep 2015
Posts: 5
Poder: 0
synapsevzla Va por buen camino
Post

Corrijo la mustra de los datos asi se ve la vista

DOCUMENTO TIPO_DOCUMENTO TOTAL_OPERACION
0000000001 FAC 180962,96,0000
0000000002 FAC 365094,44,0000
0000000003 FAC 180962,96,0000
0000000001 DEV 180962,96,0000
0000000004 FAC 180962,96,0000
0000000005 FAC 180962,96,0000
0000000006 FAC 180962,96,0000

y me tendria que quedar asi

DOCUMENTO TIPO_DOCUMENTO TOTAL_OPERACION
0000000001 FAC 180962,96,0000
0000000002 FAC 365094,44,0000
0000000003 FAC 180962,96,0000
0000000001 DEV -180962,96,0000
0000000004 FAC 180962,96,0000
0000000005 FAC 180962,96,0000
0000000006 FAC 180962,96,0000
Responder Con Cita
  #3  
Antiguo 07-09-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, primero de todo, ¿qué dato es esto?: 180962,96,0000
Se supone que es un número con decimales, pero dos comas ahí

En cuanto a lo que quieres hacer en el informe no es nada complicado, pero demasiado difícil de explicar por escrito, debes añadir una campo calculado sobre la columna que quieras, nada más.
Te aconsejo que mires la documentación o alguno de los montones de ejemplos que vienen con reportbuilder.
Responder Con Cita
  #4  
Antiguo 07-09-2015
synapsevzla synapsevzla is offline
Registrado
NULL
 
Registrado: sep 2015
Posts: 5
Poder: 0
synapsevzla Va por buen camino
Unhappy

Hola casimiro gracias por la observacion si en realidad son dos decimales los 0000000 al final pertenecian a otra columna lo que pasa es que copie y pege mal lo siento e tratado de hacer lo siguiente en mi report builder anoche.

Código:
if (vista['Documento_Tipo'] = 'Dev') then

 Value := -(vista[monto])

else

 Value := vista[monto];
al darle compilar me aparece 0 error pero al tratar de ver el reporte me arroja el error variable0oncalc en un cuadro de mensaje.

pense que asi quisas podria cambiar los valores positivo que aparecieran con DEV en el reporte en negativo pero nada.
Responder Con Cita
  #5  
Antiguo 07-09-2015
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Estimado compañero, te sugiero que realices la transformación del valor en la misma vista...

Te propongo algo así:

Código SQL [-]
CREATE OR ALTER VIEW TU_VISTA(
    DOCUMENTO,
    TIPO_DOCUMENTO,
   TOTAL_OPERACION)
AS
   SELECT DOCUMENTO,
              TIPO_DOCUMENTO 
              IIF(TIPO_DOCUMENTO='DEV',-1*TOTAL_OPERACION,TOTAL_OPERACION) AS TOTAL_OPERACION
FROM TU_TABLA;

Saludos cordiales
Responder Con Cita
  #6  
Antiguo 07-09-2015
synapsevzla synapsevzla is offline
Registrado
NULL
 
Registrado: sep 2015
Posts: 5
Poder: 0
synapsevzla Va por buen camino
osea que tendria que ser algo como esto?

Código SQL [-]
CREATE OR ALTER VIEW VIEW_LIBROVTAIVA2015(
    CORRELATIVO,
    CORRELATIVO_CODIGO,
    DOCUMENTO,
    TIPO_DOCUMENTO,
    CLIENTE_CODIGO,
    CLIENTE_NOMBRE,
    CLIENTE_RIF,
    FECHA_EMISION,
    HORA_EMISION,
    TOTAL_OPERACION,
    TOTAL_BASE_IMPONIBLE,
    TOTAL_IMPUESTO_FISCAL,
    TOTAL_EXENTO,
    CORRELATIVO_PRINCIPAL,
    TOTAL_NETO_01,
    TOTAL_IMPUESTO_01,
    PORC_IMPUESTO_01,
    IMPUESTO_IVA_CODIGO_01,
    CORRELATIVO_PRINCIPAL1,
    TOTAL_NETO_03,
    TOTAL_IMPUESTO_03,
    PORC_IMPUESTO_03,
    IMPUESTO_IVA_CODIGO_03,
    ORDEN_DE_COMPRA)
AS
select 
    ventas.correlativo,
    ventas.correlativo_codigo,
    ventas.documento,
    ventas.tipo_documento,
   if (ventas.tipo_documento='DEV', -1*ventas.total_operacion, ventas.total_operacion) as ventas.total_operacion,
    ventas.cliente_codigo,
    ventas.cliente_nombre,
    ventas.cliente_rif,
    ventas.fecha_emision,
    ventas.hora_emision,
    ventas.total_operacion,
    ventas.total_base_imponible,
    ventas.total_impuesto_fiscal,
    ventas.total_exento,
    view_compiladoiva01.correlativo_principal,
    view_compiladoiva01.total_neto_01,
    view_compiladoiva01.total_impuesto_01,
    view_compiladoiva01.porc_impuesto_01,
    view_compiladoiva01.impuesto_iva_codigo_01,
    view_compiladoiva03.correlativo_principal,
    view_compiladoiva03.total_neto_03,
    view_compiladoiva03.total_impuesto_03,
    view_compiladoiva03.porc_impuesto_03,
    view_compiladoiva03.impuesto_iva_codigo_03,
    ventas.orden_de_compra
from ventas
   inner join view_compiladoiva01 on (ventas.correlativo = view_compiladoiva01.correlativo_principal)
   inner join view_compiladoiva03 on (ventas.correlativo = view_compiladoiva03.correlativo_principal)

Si fuerabn mas valores que al conicidir con DEV tubiesen que cambiar a negativo como seria y si la condicion Fuese no solo DEV si no tambien NC o tra condicion como podria lograrlo?

Nota: trate de crearlo asi y no me manda error el ibexpert la linea que resalto en rojo me la muestra como error.

y los valores que tendrian que cambiar a negativo cuando aparesca la condicion DEV o NC serian los resaltados en azul
Responder Con Cita
  #7  
Antiguo 07-09-2015
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Si fueran mas valores podria ser así:


Código SQL [-]
--Opcion 1:
IIF(ventas.tipo_documento='DEV' OR ventas.tipo_documento='NC', -1*ventas.total_operacion, ventas.total_operacion) as ventas.total_operacion

--Opcion 2:
IIF(ventas.tipo_documento IN ('DEV','NC'), -1*ventas.total_operacion, ventas.total_operacion) as ventas.total_operacion

Saludos cordiales
Responder Con Cita
  #8  
Antiguo 08-09-2015
synapsevzla synapsevzla is offline
Registrado
NULL
 
Registrado: sep 2015
Posts: 5
Poder: 0
synapsevzla Va por buen camino
hola amigos del foro de verdad estoy muy agradecido por la respuesta tan rapida que me han brindado espero a futuro poder colaborar con ustedes miesntras voy puliendo cada ves mas en el tema del desarrollo con respuesta a las suluciones que me am planteado.

me sigue dando error la vista al tratar de compilarla me dice lo siguiente

Código SQL [-]
IIF (ventas.tipo_documento='DEV',  -1*ventas.total_operacion, ventas.total_operacion) as ventas.total_operacion,

al darle compile a la vista me arroja este error.

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 32, column 96.
.

aun sigo sin saber que pasa, aunque agrego que cuando me da el error el cursor se pone en la linea de la sentencia del sql en el ultimo . de ventas.total_operacion
Responder Con Cita
  #9  
Antiguo 08-09-2015
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Amigo, creo que el problema es que estas dando un nombre de alias al campo calculado incluyendo el nombre de la tabla, intenta dejar la sentencia de esta forma:

Código SQL [-]
IIF (ventas.tipo_documento='DEV',  -1*ventas.total_operacion, ventas.total_operacion) as total_operacion

El alias total_operacion, es un nombre que se puede dar a las variables o cálculos que participa en una consulta, de esta manera yo puedo indicar cuales serán los nombres de estas variables, por defecto se asigna el nombre del campo correspondiente a la tabla, pero en este caso como es una expresión yo asigno un alias -total_operacion- que puede ser cualquiera, como:

Código SQL [-]
IIF (ventas.tipo_documento='DEV',  -1*ventas.total_operacion, ventas.total_operacion) as Resultado

Saludos cordiales
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda con Ibexpert al abrir una base de datos microbiano Conexión con bases de datos 3 13-06-2012 19:43:03
Recrear vista con Ibexpert -dialect 3 IVAND Firebird e Interbase 9 03-03-2009 16:01:27
Ayuda con ReportBuilder marcoev Impresión 2 11-03-2008 03:35:54
Funciona Delphi 7 enterprise en Windows Vista?? CRIS Varios 4 11-08-2007 22:21:11
Ayuda con Ejecución de programas creados con Kylix 3 Enterprise Trial darkone2k3 Lazarus, FreePascal, Kylix, etc. 0 18-11-2003 15:58:56


La franja horaria es GMT +2. Ahora son las 22:28: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
Copyright 1996-2007 Club Delphi