Crystal Report - Migrar Crystal Reportes

 
Vista:

Migrar Crystal Reportes

Publicado por Sebastián (22 intervenciones) el 10/01/2006 14:49:00
En el trabajo estamos migrando una aplicación hecha en VB 6 a VB.NET. Y además esta aplicación tiene Crystal Reports.
Todos estos los tengo que migrar también (la base de datos estaba en SQL 6.5 y ahora en SQL 2000)

En la mayoria de los reportes no tuve problemas pero muchos los store procedure tiene como tablas temporales y crystal reports no me reconoce lo que devuelven estos store procedure.

El tema que no se que hacer!!!! Ahora estoy trabajando con el crystal reports que trae el visula studio 2003, con lo cual estoy bajando el crystal reports 11 para ver si con este funciona algo.

La otra seria cambiar los store procedure lo cual es bastante complicado ya que esto esta hecho hace mil y son bastante feos. Les dejo aca abajo uno para que vean lo digo y si me pueden orientar.

If Exists (Select * From sysobjects Where name = 'Rpt_Cargos' And user_name(uid) = 'dbo')
Drop Procedure dbo.Rpt_Cargos
Go

/****** Object: Stored Procedure dbo.Rpt_Cargos Script Date: 07-Feb-03 5:33:27 PM ******/
CREATE PROCEDURE Rpt_Cargos
@LoteAnio tinyint,
@LoteNume smallint
AS
-- GER 18/09/2000 DECLARE @Fecha datetime, @iva_nominal float

DECLARE @Fecha datetime, @iva_nominal float, @TablaBase int

select @iva_nominal = 0.00

-- GER 18/09/2000
SELECT @TablaBase = TablaId FROM Tablas_Iva WHERE TablaBase = 'S'
-- GER 18/09/2000

SELECT
--FA.Zona,
FA.Oficina,
FA.FactuTipo,
FA.LoteAnio,
FA.LoteNume,
LF.LoteFVenci,
FA.FactuNume,
FA.Abonado,
FA.EmiFecha,
ISNULL(FA.CliApeRazon,'') + ' ' + ISNULL(FA.CliNombre,'') RazonSocial,
RTRIM(FA.CalleNombre) + ' ' +
RTRIM(FA.CalleNume) +
CASE WHEN FA.Piso IS NOT NULL THEN ' - Piso ' + FA.Piso END +
CASE WHEN FA.Puerta IS NOT NULL THEN ' - Of. ' + FA.Puerta END Domicilio,
RTRIM(CONVERT(Char,FA.PostalCodi)) + ' - ' +
RTRIM(FA.CiudadNombre) CodiPostal,
rtrim((select provincodi + ' - ' + ProvinDescrip from provincias where provincodi=SUBSTRING(EE.CiudadCodi,1,1))) Provincia, --modificado por marcelo
FA.ClienteCodi,
FA.EXPECODI,
FA.TipoIva,
TI.IvaDescrip,
FA.Cuit,
CF.ConcepCodi,
CF.ExpoDescrip,
getdate() Fecha_Impuestos,
Importe = CASE WHEN CF.Impuesto LIKE 'IV%' OR CF.CONCEPCODI IN ('B96','FA9') THEN 0
ELSE CF.ExpoValor END,
-- IVA_Nominal = CASE WHEN CF.Impuesto LIKE 'IV%' THEN 0 ELSE CF.ExpoValor END,
IVA_Nominal = @iva_nominal,
-- JES 03/10/2000 Recargo_IVA = CASE WHEN ISNULL(CF.Impuesto,'') <> 'IVR' THEN 0 ELSE CF.ExpoValor END,
Recargo_IVA = CASE WHEN (ISNULL(CF.Impuesto,'') <> 'IVR') and (ISNULL(CF.Impuesto,'') <> 'IVD') THEN 0 ELSE CF.ExpoValor END,
Total_Neto = CF.ExpoValor,
ISNULL(CF.Impuesto,'') Impuesto,
CASE WHEN cc.macroconcepto=9 THEN
(select pr.provincodi + ' - ' + pr.ProvinDescrip from provincias pr, facturas_IIBB FIIBB where pr.provincodi=FIIBB.provincodi and fIIBB.factunume=fa.factunume and IbpPercep<>0 )
else ' ' END IBProv,
-- GER 18/09/2000
TablaIva = @TablaBase
-- GER 18/09/2000
INTO #Tmp
FROM Facturas FA,
Lotes_Factu LF,
Expedientes_Ext EE,
Tipos_Iva TI,
Conceptos_Facturados CF,
Conceptos_catalogo CC,
Facturas_Interfases FI
WHERE FA.LoteAnio = @LoteAnio AND
FA.LoteNume = @LoteNume AND
LF.LoteAnio = FA.LoteAnio AND
LF.LoteNume = FA.LoteNume AND
FA.ClienteCodi = EE.ClienteCodi AND
FA.ExpeCodi = EE.ExpeCodi AND
FA.Estadocodi <> 'FAC_FRECHA' AND
FA.Estadocodi <> 'EXP_FRECHA' AND
FA.Estadocodi <> 'EXP_FANULA' AND
TI.IvaTipo = FA.TipoIva AND
CF.FactuNume = FA.FactuNume AND
CF.FactuSeccion = 'B' AND
CF.SubTotal = 'N' AND
CF.ConcepCodi <> 'IVA' AND
cf.concepcodi = cc.concepcodi AND
FI.FactuNume = FA.FactuNume

-- GER 18/09/2000
-- Poner la tabla de Iva y el tipo de Iva para conceptos que tienen alguno distinto
UPDATE
#Tmp
SET
#Tmp.TablaIva = ISNULL(CI.TablaIva, #Tmp.TablaIva ),
#Tmp.TipoIva = ISNULL(CI.IvaTipo , #Tmp.TipoIva )

FROM
Conceptos_Impuestos CI
WHERE
#TMP.ConcepCodi = CI.Concepcodi AND
(CI.TablaIva <> Null or CI.IvaTipo <> NULL)
-- GER 18/09/2000

-- GER 18/09/2000
UPDATE #Tmp
SET Fecha_Impuestos = ( SELECT MAX(IC.VigenFecha)

FROM Iva_Coeficientes IC
WHERE IC.IvaTipo = #Tmp.TipoIva AND
IC.TablaIva = #tmp.TablaIva AND
IC.VigenFecha <= #Tmp.EmiFecha )
-- GER 18/09/2000

-- GER 18/09/2000
-- CMC 5/8/2002 para que no calcule el iva a las provincias exentas (Tierra del fuego)

UPDATE #Tmp
SET IVA_Nominal = case pr.exento
when 'S' then 0
else
ROUND( Total_Neto * ISNULL(IC.Tasa,0) / 100, 2 )
end
FROM Iva_Coeficientes IC,
Conceptos_Impuestos CI,
provincias PR
WHERE
IC.TablaIva = #Tmp.TablaIva AND

IC.IvaTipo = #Tmp.TipoIva AND
IC.VigenFecha = #Tmp.Fecha_Impuestos AND
NOT #Tmp.Impuesto LIKE 'IV%' AND
CI.ConcepCodi = #Tmp.ConcepCodi AND
CI.ImpuesCodi = 'IVA' and
SUBSTRING(#tmp.provincia,1,1)=pr.provincodi

-- CMC Fin de modificacion 5/8/2002
-- GER 18/09/2000

/*
UPDATE #Tmp
SET Importe = Importe - IVA_Nominal
WHERE Recargo_IVA = 0
*/

-- GER 18/09/2000
UPDATE #Tmp
SET Total_Neto = Importe + IVA_Nominal
WHERE Recargo_IVA = 0
SELECT *
FROM #Tmp
ORDER BY FactuNume
DROP TABLE #Tmp
-- GER 18/09/2000
--**************************************************


Go
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder