From 16ec278e2ab15b01fdaf685b377d437ee3f4f726 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 30 May 2022 20:38:09 -0700 Subject: [PATCH] Foramtos 4.0 Commit 1 --- App_Code/ClsContPAQi.vb | 258 ++++++++++++++--------------- App_Code/ClsPaginas.vb | 21 +++ App_Code/ClsVentas.vb | 3 +- App_Code/Modelos.vb | 3 +- App_Code/Timbrado.vb | 16 +- Bancos/DepositosCaja.aspx | 4 +- Bancos/DepositosCaja.aspx.vb | 37 ++++- Bancos/Devoluciones.aspx | 4 +- Compras/PopUpVerFactura.aspx.vb | 8 +- Empresas/119/Formatos/Factura.rdlc | 225 +++++++++++++++++++------ 10 files changed, 383 insertions(+), 196 deletions(-) diff --git a/App_Code/ClsContPAQi.vb b/App_Code/ClsContPAQi.vb index f1be4bfd8..acd968f9e 100644 --- a/App_Code/ClsContPAQi.vb +++ b/App_Code/ClsContPAQi.vb @@ -6623,162 +6623,162 @@ Public Class ClsContPAQi End If StrSQL.Clear() - StrSQL.Append(" SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;") - StrSQL.Append(" SET ARITHABORT ON;") - StrSQL.Append(" DECLARE") - StrSQL.Append(" @CuentaNivel INT;") - StrSQL.Append(" SET NOCOUNT ON;") - StrSQL.Append(" ") - StrSQL.Append(" BEGIN ") - StrSQL.Append(" ") - StrSQL.Append(" ") - StrSQL.Append(" SELECT @CuentaNivel = CtaMayor FROM Cuentas C WHERE C.Id = @IdCuentaPadre;") - StrSQL.Append(" ") - StrSQL.Append(" SET @CuentaNivel = CASE WHEN @CuentaNivel = 1 THEN 0 WHEN @CuentaNivel = 4 THEN 1 WHEN @CuentaNivel = 2 THEN 0 WHEN @CuentaNivel = 3 THEN 0 END;") + StrSQL.AppendLine(" SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;") + StrSQL.AppendLine(" SET ARITHABORT ON;") + StrSQL.AppendLine(" DECLARE") + StrSQL.AppendLine(" @CuentaNivel INT;") + StrSQL.AppendLine(" SET NOCOUNT ON;") + StrSQL.AppendLine(" ") + StrSQL.AppendLine(" BEGIN ") + StrSQL.AppendLine(" ") + StrSQL.AppendLine(" ") + StrSQL.AppendLine(" SELECT @CuentaNivel = CtaMayor FROM Cuentas C WHERE C.Id = @IdCuentaPadre;") + StrSQL.AppendLine(" ") + StrSQL.AppendLine(" SET @CuentaNivel = CASE WHEN @CuentaNivel = 1 THEN 0 WHEN @CuentaNivel = 4 THEN 1 WHEN @CuentaNivel = 2 THEN 0 WHEN @CuentaNivel = 3 THEN 0 END;") 'StrSQL.AppendLine(" --CREAMOS TABLA TEMPORAL PARA ALMACENAR TODO EL CONTENIDO DEL WITH") - StrSQL.Append(" CREATE TABLE #TEMP (ID INT, Nombre VARCHAR(200), Tipo nvarchar(1), CtaMayor INT, Clasificacion Varchar(100), Orden VARCHAR(500), ") - StrSQL.Append(" SaldoInicial FLOAT, Cargos FLOAT, Abonos FLOAT, Nivel INT, ") - StrSQL.Append(" Codigo VARCHAR(100), ") - StrSQL.Append(" CodigoSup VARCHAR(100), Sup VARCHAR(200), CodigoSup2 VARCHAR(100), Sup2 VARCHAR(200),") - StrSQL.Append(" CodigoSup3 VARCHAR(100), Sup3 VARCHAR(200), CodigoSup4 VARCHAR(100), Sup4 VARCHAR(200),") - StrSQL.Append(" CodigoSup5 VARCHAR(100), Sup5 VARCHAR(200), CodigoSup6 VARCHAR(100), Sup6 VARCHAR(200),") - StrSQL.Append(" CodigoSup7 VARCHAR(100), Sup7 VARCHAR(200), CodigoSup8 VARCHAR(100), Sup8 VARCHAR(100),") - StrSQL.Append(" SaldoActual FLOAT);") - StrSQL.Append(" CREATE NONClUSTERED INDEX IDX ON #TEMP (ID); ") - StrSQL.Append(" ") + StrSQL.AppendLine(" CREATE TABLE #TEMP (ID INT, Nombre VARCHAR(200), Tipo nvarchar(1), CtaMayor INT, Clasificacion Varchar(100), Orden VARCHAR(500), ") + StrSQL.AppendLine(" SaldoInicial FLOAT, Cargos FLOAT, Abonos FLOAT, Nivel INT, ") + StrSQL.AppendLine(" Codigo VARCHAR(100), ") + StrSQL.AppendLine(" CodigoSup VARCHAR(100), Sup VARCHAR(200), CodigoSup2 VARCHAR(100), Sup2 VARCHAR(200),") + StrSQL.AppendLine(" CodigoSup3 VARCHAR(100), Sup3 VARCHAR(200), CodigoSup4 VARCHAR(100), Sup4 VARCHAR(200),") + StrSQL.AppendLine(" CodigoSup5 VARCHAR(100), Sup5 VARCHAR(200), CodigoSup6 VARCHAR(100), Sup6 VARCHAR(200),") + StrSQL.AppendLine(" CodigoSup7 VARCHAR(100), Sup7 VARCHAR(200), CodigoSup8 VARCHAR(100), Sup8 VARCHAR(100),") + StrSQL.AppendLine(" SaldoActual FLOAT);") + StrSQL.AppendLine(" CREATE NONClUSTERED INDEX IDX ON #TEMP (ID); ") + StrSQL.AppendLine(" ") 'StrSQL.AppendLine(" -- RECOLECCION DE DATOS RECORRIENDO TODO EL ARBOL") - StrSQL.Append(" WITH Rec(IdCtaSup, IdSubCtade, CtaSup, SubCtade, Level, Orden) AS ") - StrSQL.Append(" ( ") - StrSQL.Append(" SELECT CONVERT (varchar(255), IdCtaSup), IdSubCtade, CtaSup, SubCtade, 0 AS Level, CAST(SubCtade AS VARCHAR(128)) AS Orden ") - StrSQL.Append(" FROM Asociaciones A ") - StrSQL.Append(" WHERE A.IdSubCtade IN (@IdCuentaPadre) OR (@IdCuentaPadre = 1 AND A.IdCtaSup IN (@IdCuentaPadre))") - StrSQL.Append(" UNION ALL ") - StrSQL.Append(" SELECT CONVERT (varchar(255), REPLICATE ('| ' , 10 - Level) + CONVERT(varchar(255), AA.IdCtaSup)), ") - StrSQL.Append(" AA.IdSubCtade, AA.CtaSup, AA.SubCtade, Level + 1, CAST(d.Orden + '/' + CAST(AA.SubCtade AS VARCHAR) AS VARCHAR(128)) ") - StrSQL.Append(" FROM( ") - StrSQL.Append(" SELECT X.IdCtaSup, X.IdSubCtade, X.CtaSup, X.SubCtade ") - StrSQL.Append(" FROM Asociaciones X ") + StrSQL.AppendLine(" WITH Rec(IdCtaSup, IdSubCtade, CtaSup, SubCtade, Level, Orden) AS ") + StrSQL.AppendLine(" ( ") + StrSQL.AppendLine(" SELECT CONVERT (varchar(255), IdCtaSup), IdSubCtade, CtaSup, SubCtade, 0 AS Level, CAST(SubCtade AS VARCHAR(128)) AS Orden ") + StrSQL.AppendLine(" FROM Asociaciones A ") + StrSQL.AppendLine(" WHERE A.IdSubCtade IN (@IdCuentaPadre) OR (@IdCuentaPadre = 1 AND A.IdCtaSup IN (@IdCuentaPadre))") + StrSQL.AppendLine(" UNION ALL ") + StrSQL.AppendLine(" SELECT CONVERT (varchar(255), REPLICATE ('| ' , 10 - Level) + CONVERT(varchar(255), AA.IdCtaSup)), ") + StrSQL.AppendLine(" AA.IdSubCtade, AA.CtaSup, AA.SubCtade, Level + 1, CAST(d.Orden + '/' + CAST(AA.SubCtade AS VARCHAR) AS VARCHAR(128)) ") + StrSQL.AppendLine(" FROM( ") + StrSQL.AppendLine(" SELECT X.IdCtaSup, X.IdSubCtade, X.CtaSup, X.SubCtade ") + StrSQL.AppendLine(" FROM Asociaciones X ") StrSQL.AppendLine(" INNER JOIN Cuentas C ON C.Id = X.IdSubCtade") ' --AND C.Tipo IN ('A', 'B', 'C','D','E','F','G','H','L') - StrSQL.Append(" ) AS AA ") - StrSQL.Append(" INNER JOIN Rec AS d ON AA.IdCtaSup = d.IdSubCtade") - StrSQL.Append(" ) ") - StrSQL.Append(" INSERT INTO #TEMP ") + StrSQL.AppendLine(" ) AS AA ") + StrSQL.AppendLine(" INNER JOIN Rec AS d ON AA.IdCtaSup = d.IdSubCtade") + StrSQL.AppendLine(" ) ") + StrSQL.AppendLine(" INSERT INTO #TEMP ") 'StrSQL.AppendLine(" -- SE LLENA LA TABLA TEMPORAL CON EL ARBOL DEL WITH CON JOINS DE CUENTAS SUPERIORES ") - StrSQL.Append(" SELECT T.*, ISNULL (dbo.FNC_Total_Segmento(T.Id, CAST('1900-01-01' AS DATE),@FechaF,@CveMoneda,@IdSegNeg), 0) As SaldoActual ") '-- CASE WHEN Tipo IN ('A','B') THEN ISNULL(T.SaldoInicial + T.Cargos - T.Abonos,0) ELSE ISNULL(T.SaldoInicial + T.Abonos - T.Cargos,0) END AS SaldoActual - StrSQL.Append(" FROM (") - StrSQL.Append(" Select C.Id, C.Nombre, C.Tipo, C.CtaMayor, '' AS Clasificacion, Orden,") - StrSQL.Append(" ISNULL (dbo.FNC_Total_Segmento(c.Id, CAST('1900-01-01' AS DATE),EOMONTH(@FechaI, -1 ),@CveMoneda,@IdSegNeg), 0) AS SaldoInicial,") - StrSQL.Append(" ISNULL (dbo.FNC_Cargos_Segmento(c.Id, @FechaI, @FechaF,@CveMoneda,@IdSegNeg), 0) AS Cargos,") - StrSQL.Append(" ISNULL (dbo.FNC_Abonos_Segmento(c.Id, @FechaI, @FechaF,@CveMoneda,@IdSegNeg), 0) AS Abonos,") - StrSQL.Append(" Level as Nivel,") - StrSQL.Append(" CASE WHEN ISNUMERIC (C.Codigo) = 1 THEN FORMAT (CAST (C.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE C.Codigo END AS Codigo,") - StrSQL.Append(" CASE WHEN ISNUMERIC (CT.Codigo) = 1 THEN FORMAT (CAST (CT.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT.Codigo END AS CodigoSup, Ct.Nombre as Sup,") - StrSQL.Append(" CASE WHEN ISNUMERIC (CT2.Codigo) = 1 THEN FORMAT (CAST (CT2.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT2.Codigo END AS CodigoSup2, CT2.Nombre as Sup2,") - StrSQL.Append(" CASE WHEN ISNUMERIC (CT3.Codigo) = 1 THEN FORMAT (CAST (CT3.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT3.Codigo END AS CodigoSup3, CT3.Nombre as Sup3,") - StrSQL.Append(" CASE WHEN ISNUMERIC (CT4.Codigo) = 1 THEN FORMAT (CAST (CT4.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT4.Codigo END AS CodigoSup4, CT4.Nombre as Sup4,") - StrSQL.Append(" CASE WHEN ISNUMERIC (CT5.Codigo) = 1 THEN FORMAT (CAST (CT5.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT5.Codigo END AS CodigoSup5, CT5.Nombre as Sup5,") - StrSQL.Append(" CASE WHEN ISNUMERIC (CT6.Codigo) = 1 THEN FORMAT (CAST (CT6.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT6.Codigo END AS CodigoSup6, CT6.Nombre as Sup6,") - StrSQL.Append(" CASE WHEN ISNUMERIC (CT7.Codigo) = 1 THEN FORMAT (CAST (CT7.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT7.Codigo END AS CodigoSup7, CT7.Nombre as Sup7,") - StrSQL.Append(" CASE WHEN ISNUMERIC (CT8.Codigo) = 1 THEN FORMAT (CAST (CT8.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT8.Codigo END AS CodigoSup8, CT8.Nombre as Sup8") - StrSQL.Append(" FROM Rec D ") + StrSQL.AppendLine(" SELECT T.*, ISNULL (dbo.FNC_Total_Segmento(T.Id, CAST('1900-01-01' AS DATE),@FechaF,@CveMoneda,@IdSegNeg), 0) As SaldoActual ") '-- CASE WHEN Tipo IN ('A','B') THEN ISNULL(T.SaldoInicial + T.Cargos - T.Abonos,0) ELSE ISNULL(T.SaldoInicial + T.Abonos - T.Cargos,0) END AS SaldoActual + StrSQL.AppendLine(" FROM (") + StrSQL.AppendLine(" Select C.Id, C.Nombre, C.Tipo, C.CtaMayor, '' AS Clasificacion, Orden,") + StrSQL.AppendLine(" ISNULL (dbo.FNC_Total_Segmento(c.Id, CAST('1900-01-01' AS DATE),EOMONTH(@FechaI, -1 ),@CveMoneda,@IdSegNeg), 0) AS SaldoInicial,") + StrSQL.AppendLine(" ISNULL (dbo.FNC_Cargos_Segmento(c.Id, @FechaI, @FechaF,@CveMoneda,@IdSegNeg), 0) AS Cargos,") + StrSQL.AppendLine(" ISNULL (dbo.FNC_Abonos_Segmento(c.Id, @FechaI, @FechaF,@CveMoneda,@IdSegNeg), 0) AS Abonos,") + StrSQL.AppendLine(" Level as Nivel,") + StrSQL.AppendLine(" CASE WHEN ISNUMERIC (C.Codigo) = 1 THEN FORMAT (CAST (C.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE C.Codigo END AS Codigo,") + StrSQL.AppendLine(" CASE WHEN ISNUMERIC (CT.Codigo) = 1 THEN FORMAT (CAST (CT.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT.Codigo END AS CodigoSup, Ct.Nombre as Sup,") + StrSQL.AppendLine(" CASE WHEN ISNUMERIC (CT2.Codigo) = 1 THEN FORMAT (CAST (CT2.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT2.Codigo END AS CodigoSup2, CT2.Nombre as Sup2,") + StrSQL.AppendLine(" CASE WHEN ISNUMERIC (CT3.Codigo) = 1 THEN FORMAT (CAST (CT3.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT3.Codigo END AS CodigoSup3, CT3.Nombre as Sup3,") + StrSQL.AppendLine(" CASE WHEN ISNUMERIC (CT4.Codigo) = 1 THEN FORMAT (CAST (CT4.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT4.Codigo END AS CodigoSup4, CT4.Nombre as Sup4,") + StrSQL.AppendLine(" CASE WHEN ISNUMERIC (CT5.Codigo) = 1 THEN FORMAT (CAST (CT5.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT5.Codigo END AS CodigoSup5, CT5.Nombre as Sup5,") + StrSQL.AppendLine(" CASE WHEN ISNUMERIC (CT6.Codigo) = 1 THEN FORMAT (CAST (CT6.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT6.Codigo END AS CodigoSup6, CT6.Nombre as Sup6,") + StrSQL.AppendLine(" CASE WHEN ISNUMERIC (CT7.Codigo) = 1 THEN FORMAT (CAST (CT7.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT7.Codigo END AS CodigoSup7, CT7.Nombre as Sup7,") + StrSQL.AppendLine(" CASE WHEN ISNUMERIC (CT8.Codigo) = 1 THEN FORMAT (CAST (CT8.Codigo AS FLOAT), (SELECT REPLACE (Mascarilla, 'X', '0') FROM Parametros)) ELSE CT8.Codigo END AS CodigoSup8, CT8.Nombre as Sup8") + StrSQL.AppendLine(" FROM Rec D ") 'StrSQL.AppendLine(" --Nivel 1") - StrSQL.Append(" LEFT JOIN Cuentas C ON D.IdSubCtade = C.Id") + StrSQL.AppendLine(" LEFT JOIN Cuentas C ON D.IdSubCtade = C.Id") 'StrSQL.AppendLine(" --Nivel 2") - StrSQL.Append(" LEFT JOIN Cuentas CT ON D.CtaSup = CT.Codigo") - StrSQL.Append(" ") + StrSQL.AppendLine(" LEFT JOIN Cuentas CT ON D.CtaSup = CT.Codigo") + StrSQL.AppendLine(" ") 'StrSQL.AppendLine(" --Nivel 3") - StrSQL.Append(" LEFT JOIN Asociaciones A ON A.IdSubCtade = CT.Id") - StrSQL.Append(" LEFT JOIN Cuentas CT2 ON CT2.Id = A.IdCtaSup") - StrSQL.Append(" ") + StrSQL.AppendLine(" LEFT JOIN Asociaciones A ON A.IdSubCtade = CT.Id") + StrSQL.AppendLine(" LEFT JOIN Cuentas CT2 ON CT2.Id = A.IdCtaSup") + StrSQL.AppendLine(" ") 'StrSQL.AppendLine(" --Nivel 4") - StrSQL.Append(" LEFT JOIN Asociaciones A2 ON A2.IdSubCtade = CT2.Id") - StrSQL.Append(" LEFT JOIN Cuentas CT3 ON CT3.Id = A2.IdCtaSup") + StrSQL.AppendLine(" LEFT JOIN Asociaciones A2 ON A2.IdSubCtade = CT2.Id") + StrSQL.AppendLine(" LEFT JOIN Cuentas CT3 ON CT3.Id = A2.IdCtaSup") 'StrSQL.AppendLine(" --Nivel 5") - StrSQL.Append(" LEFT JOIN Asociaciones A3 ON A3.IdSubCtade = CT3.Id") - StrSQL.Append(" LEFT JOIN Cuentas CT4 ON CT4.Id = A3.IdCtaSup") + StrSQL.AppendLine(" LEFT JOIN Asociaciones A3 ON A3.IdSubCtade = CT3.Id") + StrSQL.AppendLine(" LEFT JOIN Cuentas CT4 ON CT4.Id = A3.IdCtaSup") 'StrSQL.AppendLine(" --Nivel 6") - StrSQL.Append(" LEFT JOIN Asociaciones A4 ON A4.IdSubCtade = CT4.Id") - StrSQL.Append(" LEFT JOIN Cuentas CT5 ON CT5.Id = A4.IdCtaSup") + StrSQL.AppendLine(" LEFT JOIN Asociaciones A4 ON A4.IdSubCtade = CT4.Id") + StrSQL.AppendLine(" LEFT JOIN Cuentas CT5 ON CT5.Id = A4.IdCtaSup") 'StrSQL.AppendLine(" --Nivel 7") - StrSQL.Append(" LEFT JOIN Asociaciones A5 ON A5.IdSubCtade = CT5.Id") - StrSQL.Append(" LEFT JOIN Cuentas CT6 ON CT6.Id = A5.IdCtaSup") + StrSQL.AppendLine(" LEFT JOIN Asociaciones A5 ON A5.IdSubCtade = CT5.Id") + StrSQL.AppendLine(" LEFT JOIN Cuentas CT6 ON CT6.Id = A5.IdCtaSup") 'StrSQL.AppendLine(" --Nivel 8") - StrSQL.Append(" LEFT JOIN Asociaciones A6 ON A6.IdSubCtade = CT6.Id") - StrSQL.Append(" LEFT JOIN Cuentas CT7 ON CT7.Id = A6.IdCtaSup") + StrSQL.AppendLine(" LEFT JOIN Asociaciones A6 ON A6.IdSubCtade = CT6.Id") + StrSQL.AppendLine(" LEFT JOIN Cuentas CT7 ON CT7.Id = A6.IdCtaSup") 'StrSQL.AppendLine(" --Nivel 9") - StrSQL.Append(" LEFT JOIN Asociaciones A7 ON A7.IdSubCtade = CT7.Id") - StrSQL.Append(" LEFT JOIN Cuentas CT8 ON CT8.Id = A7.IdCtaSup") + StrSQL.AppendLine(" LEFT JOIN Asociaciones A7 ON A7.IdSubCtade = CT7.Id") + StrSQL.AppendLine(" LEFT JOIN Cuentas CT8 ON CT8.Id = A7.IdCtaSup") 'StrSQL.AppendLine(" --NIVEL 10") 'StrSQL.AppendLine(" -- Movimientos -> obtenidos mas abajo| ") - StrSQL.Append(" WHERE D.IdSubCtade NOT IN (SELECT IdCtaCierre FROM Ejercicios WHERE Ejercicio = YEAR(@FechaF))") - StrSQL.Append(" ) AS T") - StrSQL.Append(" WHERE Cargos <> 0 OR Abonos <> 0 OR SaldoInicial <> 0 ") - StrSQL.Append(" ORDER BY Orden;") + StrSQL.AppendLine(" WHERE D.IdSubCtade NOT IN (SELECT IdCtaCierre FROM Ejercicios WHERE Ejercicio = YEAR(@FechaF))") + StrSQL.AppendLine(" ) AS T") + StrSQL.AppendLine(" WHERE Cargos <> 0 OR Abonos <> 0 OR SaldoInicial <> 0 ") + StrSQL.AppendLine(" ORDER BY Orden;") 'StrSQL.AppendLine(" ---------------------------------------------------------------------") 'StrSQL.AppendLine(" -- SELECT FINAL PARA RECOPILAR TODOS LOS DATOS, AGRUPAMIENTO Y ORDEN") - StrSQL.Append(" SELECT ") + StrSQL.AppendLine(" SELECT ") 'StrSQL.AppendLine(" --CASE WHEN len(Orden) = 75 THEN replace(Codigo,'-','') WHEN SaldoActual is null THEN Codigo + '3' WHEN SaldoActual is not null then '2' + Codigo End as b,") - StrSQL.Append(" bb,Nivel1,Nivel2,Nivel3,Nivel4,Nivel5,Nivel6,Nivel7,Nivel8,Nivel9,Nivel10,Nombre, CtaMayor, Orden, Codigo, SaldoInicial, Cargos, Abonos, SaldoActual,") - StrSQL.Append(" CASE WHEN Concepto = '' THEN ConceptoPadre ELSE Concepto END AS Concepto, Fecha, Folio, Referencia, IdPoliza, TipoPoliza, CargosMovto, AbonosMovto, Saldo") + StrSQL.AppendLine(" bb,Nivel1,Nivel2,Nivel3,Nivel4,Nivel5,Nivel6,Nivel7,Nivel8,Nivel9,Nivel10,Nombre, CtaMayor, Orden, Codigo, SaldoInicial, Cargos, Abonos, SaldoActual,") + StrSQL.AppendLine(" CASE WHEN Concepto = '' THEN ConceptoPadre ELSE Concepto END AS Concepto, Fecha, Folio, Referencia, IdPoliza, TipoPoliza, CargosMovto, AbonosMovto, Saldo") 'StrSQL.AppendLine(" --ROW_NUMBER() OVER (PARTITION BY Orden ORDER BY Cargos) as bb,") - StrSQL.Append(" ") - StrSQL.Append(" FROM (") - StrSQL.Append(" ") + StrSQL.AppendLine(" ") + StrSQL.AppendLine(" FROM (") + StrSQL.AppendLine(" ") 'StrSQL.AppendLine(" -- CREAMOS NIVELES PARA EL ARBOL DE ORDENAMIENTO/VIZUALIZACION | EXTRAEMOS LOS MOVIMEINTOS(CARGOS, ABONOS) DE ""T"" Y OBTENEMOS EL SALDO DE LA CUENTA") - StrSQL.Append(" SELECT") - StrSQL.Append(" (Nivel + @CuentaNivel) as bb,") - StrSQL.Append(" CASE Nivel + @CuentaNivel WHEN 0 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,'-',Nombre COLLATE DATABASE_DEFAULT) WHEN 1 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,'-',Sup COLLATE DATABASE_DEFAULT) WHEN 2 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,'-',Sup2 COLLATE DATABASE_DEFAULT) WHEN 3 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,'-',Sup3 COLLATE DATABASE_DEFAULT) WHEN 4 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,'-',Sup4 COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup5 COLLATE DATABASE_DEFAULT,'-',Sup5 COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup6 COLLATE DATABASE_DEFAULT,'-',Sup6 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup7 COLLATE DATABASE_DEFAULT,'-',Sup7 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup8 COLLATE DATABASE_DEFAULT,'-',Sup8 COLLATE DATABASE_DEFAULT) END as Nivel1 , ") - StrSQL.Append(" CASE Nivel + @CuentaNivel WHEN 1 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 2 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 3 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 4 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,Sup4 COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup5 COLLATE DATABASE_DEFAULT,Sup5 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup6 COLLATE DATABASE_DEFAULT,Sup6 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup7 COLLATE DATABASE_DEFAULT,Sup7 COLLATE DATABASE_DEFAULT) WHEN 9 THEN CONCAT(CodigoSup8 COLLATE DATABASE_DEFAULT,Sup8 COLLATE DATABASE_DEFAULT) END as Nivel2 ,") - StrSQL.Append(" CASE Nivel + @CuentaNivel WHEN 2 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 3 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 4 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,Sup4 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup5 COLLATE DATABASE_DEFAULT,Sup5 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup6 COLLATE DATABASE_DEFAULT,Sup6 COLLATE DATABASE_DEFAULT) WHEN 9 THEN CONCAT(CodigoSup7 COLLATE DATABASE_DEFAULT,Sup7 COLLATE DATABASE_DEFAULT) END as Nivel3,") - StrSQL.Append(" CASE Nivel + @CuentaNivel WHEN 3 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 4 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,Sup4 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup5 COLLATE DATABASE_DEFAULT,Sup5 COLLATE DATABASE_DEFAULT) WHEN 9 THEN CONCAT(CodigoSup6 COLLATE DATABASE_DEFAULT,Sup6 COLLATE DATABASE_DEFAULT) END as Nivel4,") - StrSQL.Append(" CASE Nivel + @CuentaNivel WHEN 4 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,Sup4 COLLATE DATABASE_DEFAULT) END as Nivel5,") - StrSQL.Append(" CASE Nivel + @CuentaNivel WHEN 5 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) END as Nivel6,") - StrSQL.Append(" CASE Nivel + @CuentaNivel WHEN 6 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) END as Nivel7,") - StrSQL.Append(" CASE Nivel + @CuentaNivel WHEN 7 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) END as Nivel8,") - StrSQL.Append(" CASE Nivel + @CuentaNivel WHEN 8 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) END as Nivel9,") - StrSQL.Append(" CASE WHEN Nivel + @CuentaNivel in (2,3,4,5,6,7,8,9) AND Concepto IS NOT NULL THEN Concepto END as Nivel10,") - StrSQL.Append(" T.*,") - StrSQL.Append(" SUM( CASE WHEN TIPO IN ('A','B','G') THEN CargosMovto-AbonosMovto ELSE AbonosMovto-CargosMovto END ) OVER (PARTITION BY Sup, Nombre ORDER BY Fecha, Folio ROWS UNBOUNDED PRECEDING) + SaldoInicial AS Saldo") - StrSQL.Append(" ") + StrSQL.AppendLine(" SELECT") + StrSQL.AppendLine(" (Nivel + @CuentaNivel) as bb,") + StrSQL.AppendLine(" CASE Nivel + @CuentaNivel WHEN 0 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,'-',Nombre COLLATE DATABASE_DEFAULT) WHEN 1 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,'-',Sup COLLATE DATABASE_DEFAULT) WHEN 2 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,'-',Sup2 COLLATE DATABASE_DEFAULT) WHEN 3 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,'-',Sup3 COLLATE DATABASE_DEFAULT) WHEN 4 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,'-',Sup4 COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup5 COLLATE DATABASE_DEFAULT,'-',Sup5 COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup6 COLLATE DATABASE_DEFAULT,'-',Sup6 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup7 COLLATE DATABASE_DEFAULT,'-',Sup7 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup8 COLLATE DATABASE_DEFAULT,'-',Sup8 COLLATE DATABASE_DEFAULT) END as Nivel1 , ") + StrSQL.AppendLine(" CASE Nivel + @CuentaNivel WHEN 1 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 2 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 3 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 4 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,Sup4 COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup5 COLLATE DATABASE_DEFAULT,Sup5 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup6 COLLATE DATABASE_DEFAULT,Sup6 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup7 COLLATE DATABASE_DEFAULT,Sup7 COLLATE DATABASE_DEFAULT) WHEN 9 THEN CONCAT(CodigoSup8 COLLATE DATABASE_DEFAULT,Sup8 COLLATE DATABASE_DEFAULT) END as Nivel2 ,") + StrSQL.AppendLine(" CASE Nivel + @CuentaNivel WHEN 2 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 3 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 4 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,Sup4 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup5 COLLATE DATABASE_DEFAULT,Sup5 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup6 COLLATE DATABASE_DEFAULT,Sup6 COLLATE DATABASE_DEFAULT) WHEN 9 THEN CONCAT(CodigoSup7 COLLATE DATABASE_DEFAULT,Sup7 COLLATE DATABASE_DEFAULT) END as Nivel3,") + StrSQL.AppendLine(" CASE Nivel + @CuentaNivel WHEN 3 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 4 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,Sup4 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup5 COLLATE DATABASE_DEFAULT,Sup5 COLLATE DATABASE_DEFAULT) WHEN 9 THEN CONCAT(CodigoSup6 COLLATE DATABASE_DEFAULT,Sup6 COLLATE DATABASE_DEFAULT) END as Nivel4,") + StrSQL.AppendLine(" CASE Nivel + @CuentaNivel WHEN 4 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 5 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup4 COLLATE DATABASE_DEFAULT,Sup4 COLLATE DATABASE_DEFAULT) END as Nivel5,") + StrSQL.AppendLine(" CASE Nivel + @CuentaNivel WHEN 5 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 6 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup3 COLLATE DATABASE_DEFAULT,Sup3 COLLATE DATABASE_DEFAULT) END as Nivel6,") + StrSQL.AppendLine(" CASE Nivel + @CuentaNivel WHEN 6 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 7 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup2 COLLATE DATABASE_DEFAULT,Sup2 COLLATE DATABASE_DEFAULT) END as Nivel7,") + StrSQL.AppendLine(" CASE Nivel + @CuentaNivel WHEN 7 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) WHEN 8 THEN CONCAT(CodigoSup COLLATE DATABASE_DEFAULT,Sup COLLATE DATABASE_DEFAULT) END as Nivel8,") + StrSQL.AppendLine(" CASE Nivel + @CuentaNivel WHEN 8 THEN CONCAT(Codigo COLLATE DATABASE_DEFAULT,Nombre COLLATE DATABASE_DEFAULT) END as Nivel9,") + StrSQL.AppendLine(" CASE WHEN Nivel + @CuentaNivel in (2,3,4,5,6,7,8,9) AND Concepto IS NOT NULL THEN Concepto END as Nivel10,") + StrSQL.AppendLine(" T.*,") + StrSQL.AppendLine(" SUM( CASE WHEN TIPO IN ('A','B','G') THEN CargosMovto-AbonosMovto ELSE AbonosMovto-CargosMovto END ) OVER (PARTITION BY Sup, Nombre ORDER BY Fecha, Folio ROWS UNBOUNDED PRECEDING) + SaldoInicial AS Saldo") + StrSQL.AppendLine(" ") 'StrSQL.AppendLine(" -- OBTENEMOS LOS MOVIMIENTOS(CARGOS, ABONOS) DE LA CUENTA") - StrSQL.Append(" FROM (") - StrSQL.Append(" ") - StrSQL.Append(" SELECT T.* , MP.Concepto, MP.Fecha, TP.Nombre AS TipoPoliza, MP.Folio, MP.Id AS IdMovimientoPoliza, MP.Referencia, 0 AS CargosMovto, 0 AS AbonosMovto, MP.IdPoliza, P.Concepto AS ConceptoPadre") - StrSQL.Append(" FROM #TEMP T") - StrSQL.Append(" LEFT JOIN MovimientosPoliza MP ON T.ID = MP.IdCuenta AND MP.Fecha < CAST('0001-01-01' AS DATE)") - StrSQL.Append(" LEFT JOIN TiposPolizas TP ON MP.TipoPol = TP.Codigo") - StrSQL.Append(" LEFT JOIN Polizas P ON MP.IdPoliza = P.Id") - StrSQL.Append(" WHERE (MP.IdSegNeg = @IdSegNeg OR ( @IdSegNeg =-1 OR MP.IdSegNeg IS NULL)) ") + StrSQL.AppendLine(" FROM (") + StrSQL.AppendLine(" ") + StrSQL.AppendLine(" SELECT T.* , MP.Concepto, MP.Fecha, TP.Nombre AS TipoPoliza, MP.Folio, MP.Id AS IdMovimientoPoliza, MP.Referencia, 0 AS CargosMovto, 0 AS AbonosMovto, MP.IdPoliza, P.Concepto AS ConceptoPadre") + StrSQL.AppendLine(" FROM #TEMP T") + StrSQL.AppendLine(" LEFT JOIN MovimientosPoliza MP ON T.ID = MP.IdCuenta AND MP.Fecha < CAST('0001-01-01' AS DATE)") + StrSQL.AppendLine(" LEFT JOIN TiposPolizas TP ON MP.TipoPol = TP.Codigo") + StrSQL.AppendLine(" LEFT JOIN Polizas P ON MP.IdPoliza = P.Id") + StrSQL.AppendLine(" WHERE (MP.IdSegNeg = @IdSegNeg OR ( @IdSegNeg =-1 OR MP.IdSegNeg IS NULL)) ") - StrSQL.Append(" UNION") - StrSQL.AppendFormat(" SELECT T.*, MP.Concepto, MP.Fecha, TP.Nombre AS TipoPoliza, MP.Folio, MP.Id AS IdMovimientoPoliza, MP.Referencia, CASE WHEN MP.TipoMovto = 0 THEN MP.{0} ELSE 0 END, CASE WHEN MP.TipoMovto = 1 THEN MP.{0} ELSE 0 END, MP.IdPoliza, P.Concepto AS ConceptoPadre", If(CveMoneda = 1, "Importe", "ImporteME")) - StrSQL.Append(" FROM #TEMP T") - StrSQL.Append(" LEFT JOIN MovimientosPoliza MP ON T.ID = MP.IdCuenta AND CAST(MP.Fecha AS DATE) BETWEEN @FechaI AND @FechaF") - StrSQL.Append(" LEFT JOIN TiposPolizas TP ON MP.TipoPol = TP.Codigo") - StrSQL.Append(" LEFT JOIN Polizas P ON MP.IdPoliza = P.Id") - StrSQL.Append(" WHERE (MP.IdSegNeg = @IdSegNeg OR ( @IdSegNeg =-1 OR MP.IdSegNeg IS NULL)) ") + StrSQL.AppendLine(" UNION") + StrSQL.AppendFormat(" SELECT T.*, MP.Concepto, MP.Fecha, TP.Nombre AS TipoPoliza, MP.Folio, MP.Id AS IdMovimientoPoliza, MP.Referencia, CASE WHEN MP.TipoMovto = 0 THEN MP.{0} ELSE 0 END, CASE WHEN MP.TipoMovto = 1 THEN MP.{0} ELSE 0 END, MP.IdPoliza, P.Concepto AS ConceptoPadre {1}", If(CveMoneda = 1, "Importe", "ImporteME"), vbCrLf) + StrSQL.AppendLine(" FROM #TEMP T") + StrSQL.AppendLine(" LEFT JOIN MovimientosPoliza MP ON T.ID = MP.IdCuenta AND CAST(MP.Fecha AS DATE) BETWEEN @FechaI AND @FechaF") + StrSQL.AppendLine(" LEFT JOIN TiposPolizas TP ON MP.TipoPol = TP.Codigo") + StrSQL.AppendLine(" LEFT JOIN Polizas P ON MP.IdPoliza = P.Id") + StrSQL.AppendLine(" WHERE (MP.IdSegNeg = @IdSegNeg OR ( @IdSegNeg =-1 OR MP.IdSegNeg IS NULL)) ") - StrSQL.Append(" ) AS T") - StrSQL.Append(" ) TT") + StrSQL.AppendLine(" ) AS T") + StrSQL.AppendLine(" ) TT") 'StrSQL.AppendLine(" --PRIMER GROUPING SON LAS CABECERAS Y TOTALES DE LAS CUENTAS, SEGUNDO GROUPING SON LOS MOVIMIENTOS DE LAS CUENTAS") - StrSQL.Append(" GROUP BY GROUPING SETS ((Nivel1,Nivel2,Nivel3,Nivel4,Nivel5,Nivel6,Nivel7,Nivel8,Nivel9,Nombre, CtaMayor, Codigo,Orden,SaldoInicial), (Nivel1,Nivel2,Nivel3,Nivel4,Nivel5,Nivel6,Nivel7,Nivel8,Nivel9,Nivel10,Nombre, CtaMayor,Orden, Codigo, SaldoInicial, Cargos, Abonos, SaldoActual, Concepto, ConceptoPadre, Fecha, Folio, Referencia, IdPoliza, TipoPoliza, CargosMovto, AbonosMovto, Saldo,bb))") - StrSQL.Append(" ORDER BY ") - StrSQL.Append(" Nivel1,") - StrSQL.Append(" CASE WHEN Nivel2 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel2 IS NOT NULL THEN 1 WHEN Nivel2 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel2,") - StrSQL.Append(" CASE WHEN Nivel3 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel3 IS NOT NULL THEN 1 WHEN Nivel3 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel3,") - StrSQL.Append(" CASE WHEN Nivel4 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel4 IS NOT NULL THEN 1 WHEN Nivel4 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel4,") - StrSQL.Append(" CASE WHEN Nivel5 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel5 IS NOT NULL THEN 1 WHEN Nivel5 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel5,") - StrSQL.Append(" CASE WHEN Nivel6 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel6 IS NOT NULL THEN 1 WHEN Nivel6 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel6,") - StrSQL.Append(" CASE WHEN Nivel7 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel7 IS NOT NULL THEN 1 WHEN Nivel7 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel7,") - StrSQL.Append(" CASE WHEN Nivel8 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel8 IS NOT NULL THEN 1 WHEN Nivel8 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel8,") - StrSQL.Append(" CASE WHEN Nivel9 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel9 IS NOT NULL THEN 1 WHEN Nivel9 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel9,") - StrSQL.Append(" CASE WHEN Nivel10 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel10 IS NOT NULL THEN 1 WHEN Nivel10 IS NULL AND Cargos IS NOT NULL THEN 2 END, ") - StrSQL.Append(" CASE WHEN Cargos IS NULL THEN 0 WHEN Cargos IS NOT NULL AND Concepto IS NOT NULL THEN 1 WHEN Cargos IS NOT NULL AND Concepto IS NULL THEN 2 END, Fecha, Folio;") + StrSQL.AppendLine(" GROUP BY GROUPING SETS ((Nivel1,Nivel2,Nivel3,Nivel4,Nivel5,Nivel6,Nivel7,Nivel8,Nivel9,Nombre, CtaMayor, Codigo,Orden,SaldoInicial), (Nivel1,Nivel2,Nivel3,Nivel4,Nivel5,Nivel6,Nivel7,Nivel8,Nivel9,Nivel10,Nombre, CtaMayor,Orden, Codigo, SaldoInicial, Cargos, Abonos, SaldoActual, Concepto, ConceptoPadre, Fecha, Folio, Referencia, IdPoliza, TipoPoliza, CargosMovto, AbonosMovto, Saldo,bb))") + StrSQL.AppendLine(" ORDER BY ") + StrSQL.AppendLine(" Nivel1,") + StrSQL.AppendLine(" CASE WHEN Nivel2 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel2 IS NOT NULL THEN 1 WHEN Nivel2 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel2,") + StrSQL.AppendLine(" CASE WHEN Nivel3 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel3 IS NOT NULL THEN 1 WHEN Nivel3 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel3,") + StrSQL.AppendLine(" CASE WHEN Nivel4 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel4 IS NOT NULL THEN 1 WHEN Nivel4 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel4,") + StrSQL.AppendLine(" CASE WHEN Nivel5 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel5 IS NOT NULL THEN 1 WHEN Nivel5 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel5,") + StrSQL.AppendLine(" CASE WHEN Nivel6 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel6 IS NOT NULL THEN 1 WHEN Nivel6 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel6,") + StrSQL.AppendLine(" CASE WHEN Nivel7 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel7 IS NOT NULL THEN 1 WHEN Nivel7 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel7,") + StrSQL.AppendLine(" CASE WHEN Nivel8 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel8 IS NOT NULL THEN 1 WHEN Nivel8 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel8,") + StrSQL.AppendLine(" CASE WHEN Nivel9 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel9 IS NOT NULL THEN 1 WHEN Nivel9 IS NULL AND Cargos IS NOT NULL THEN 2 END, Nivel9,") + StrSQL.AppendLine(" CASE WHEN Nivel10 IS NULL AND Cargos IS NULL THEN 0 WHEN Nivel10 IS NOT NULL THEN 1 WHEN Nivel10 IS NULL AND Cargos IS NOT NULL THEN 2 END, ") + StrSQL.AppendLine(" CASE WHEN Cargos IS NULL THEN 0 WHEN Cargos IS NOT NULL AND Concepto IS NOT NULL THEN 1 WHEN Cargos IS NOT NULL AND Concepto IS NULL THEN 2 END, Fecha, Folio;") 'StrSQL.AppendLine(" -- ELIMINAMOS TABLA TEMPORAL") - StrSQL.Append(" DROP TABLE #TEMP;") - StrSQL.Append(" END ") + StrSQL.AppendLine(" DROP TABLE #TEMP;") + StrSQL.AppendLine(" END ") SqlDataAdapter(StrSQL.ToString, CommandType.Text) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 8a0a66972..44f9bfa8b 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -6946,6 +6946,7 @@ Public Class ClsPaginas Dim TipoDocumento As String = "" Dim TipoDocumentoRef As String = "" Dim RFCReceptor As String = "" + Dim XmlVersion As String = "" If String.IsNullOrEmpty(Vta.RFCReceptor) Then RFCReceptor = Vta.Cliente.RFC @@ -7019,10 +7020,15 @@ Public Class ClsPaginas GuardaLog(" --- *** Impresion ventas - ClsPaginas LN#5016 (Aprox) - EXISTE EL XML PERO NO SE PUEDE LEER. *** --- ") End Try + + + If EsXMLValido Then Dim TC As Decimal = ValorNodoXML(XmlDoc.DocumentElement, "TC").ToDecimal If TC <= 0 Then TC = 1 + XmlVersion = ValorNodoXML(XmlDoc.DocumentElement, "version") + If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then Vta.FechaEmision = ValorNodoXML(XmlDoc.DocumentElement, "fecha").ToDate Vta.NoSerieCertificadoContribuyente = ValorNodoXML(XmlDoc.DocumentElement, "NoCertificado") @@ -7066,6 +7072,12 @@ Public Class ClsPaginas End If + + + If Vta.Version.Length = 0 AndAlso XmlVersion.Length > 0 Then + Vta.Version = XmlVersion + End If + 'DIRECCION CLIENTE If Vta.CveClienteSucursal.ToEntero > 0 Then 'Si cliente tiene Noint, NoExt, CP @@ -7146,6 +7158,14 @@ Public Class ClsPaginas Dim params As New List(Of ReportParameter) + If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then + params.Add(New ReportParameter("CFDIVersion", Vta.Version)) + If Vta.Cliente.CodigoRegimenFiscal.ToString.Length > 0 Then + params.Add(New ReportParameter("RegimenFiscalCodigo", $"{Vta.Cliente.CodigoRegimenFiscal}-{Vta.Cliente.RegimenFiscal}")) + End If + End If + + 'CLIENTE If Vta.CveCliente.ToEntero > 0 Or Vta.CveEmpresaCRM.ToEntero > 0 Then params.Add(New ReportParameter("ClienteCodigo", Vta.Cliente.Codigo)) @@ -7162,6 +7182,7 @@ Public Class ClsPaginas params.Add(New ReportParameter("ClienteRFC", RFCReceptor)) End If + 'TOTALES params.Add(New ReportParameter("SubTotal", Vta.SubTotal.ToString.FormatoNumero(2))) params.Add(New ReportParameter("Descuento", Vta.Descuento.ToString.FormatoNumero(2))) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index fd678dad0..c15085155 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -766,7 +766,7 @@ Public Class ClsVentas Optional IdPolizaCancelacion As Integer = -1, Optional CvePAC As Integer = -1, Optional CveEstatusRefacturacion As Integer = 0, Optional CveUsuarioCambiaEstatus As Integer = -1, Optional FechaCambioEstatus As String = "-1", Optional RFCReceptor As String = "-1", Optional CveMotivoCancelacion As Integer = -1, Optional MotivoCancelacion As String = "", Optional EstadoCancelacion As String = "", - Optional CveEstadoCancelacion As Integer = 0, Optional SelloSolicitudDigitalSAT As String = "") As Boolean + Optional CveEstadoCancelacion As Integer = 0, Optional SelloSolicitudDigitalSAT As String = "", Optional CFDIVersion As String = "-1") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_VentasUpdateEstatus") @@ -788,6 +788,7 @@ Public Class ClsVentas .Add("@EstadoCancelacion", SqlDbType.VarChar).Value = EstadoCancelacion .Add("@CveEstadoCancelacion", SqlDbType.TinyInt).Value = CveEstadoCancelacion .Add("@SelloSolicitudDigitalSAT", SqlDbType.VarChar).Value = SelloSolicitudDigitalSAT + .Add("@CFDIVersion", SqlDbType.VarChar).Value = CFDIVersion End With Try diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index acbed6511..948806db8 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -6655,7 +6655,7 @@ Namespace Modelos Public Property SubProyectoMatriz As Modelos.SubProyectoModel 'CFDi - Public Property Version As String + Public Property Version As String = "" Public Property Serie As String = "" Public Property Folio As Integer @@ -10306,6 +10306,7 @@ Namespace Modelos Public Property CP As String Public Property CveRegimenFiscal As Integer Public Property CodigoRegimenFiscal As String + Public Property RegimenFiscal As String Public Property Telefono As String Public Property Contacto As String Public Property Mail As String diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 98a1e5553..68f338ac6 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -1527,7 +1527,7 @@ Public Class Timbrado Dim ObjVentas As New ClsVentas() - If Not ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=1) Then + If Not ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=1, CFDIVersion:="3.3") Then Retorno = "No se pudo registrar el folio fiscal" End If ObjVentas.Dispose() @@ -2117,7 +2117,7 @@ Public Class Timbrado If Ventas.CveVenta > 0 Then Dim ObjVentas As New ClsVentas() - If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then + If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC, CFDIVersion:="3.3") Then Retorno = "" Else Retorno = "Error" @@ -2855,7 +2855,7 @@ Public Class Timbrado Using ObjVentas As New ClsVentas() - If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then + If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC, CFDIVersion:="3.3") Then Retorno = "" Else Retorno = "Error" @@ -3440,7 +3440,7 @@ Public Class Timbrado Using ObjVentas As New ClsVentas() - If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then + If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC, CFDIVersion:="3.3") Then Retorno = "" Else Retorno = "Error" @@ -4902,7 +4902,7 @@ Public Class Timbrado Dim ObjVentas As New ClsVentas() - If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", Now, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then + If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", Now, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC, CFDIVersion:="4.0") Then Retorno = "" Else Retorno = "Error" @@ -5681,7 +5681,7 @@ Public Class Timbrado Using ObjVentas As New ClsVentas() - If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then + If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC, CFDIVersion:="4.0") Then Retorno = "" Else Retorno = "Error" @@ -5910,7 +5910,7 @@ Public Class Timbrado Using ObjVentas As New ClsVentas() - If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then + If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC, CFDIVersion:="4.0") Then Retorno = "" Else Retorno = "Error" @@ -7295,7 +7295,7 @@ Public Class Timbrado Dim ObjVentas As New ClsVentas() - If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", Now, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then + If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", Now, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC, CFDIVersion:="3.3") Then Retorno = "" Else Retorno = "Error" diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx index 5fa4f467c..a00b2e162 100644 --- a/Bancos/DepositosCaja.aspx +++ b/Bancos/DepositosCaja.aspx @@ -295,10 +295,10 @@ - + - + diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index bad49980c..31607cfd2 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -97,12 +97,16 @@ Partial Class Bancos_DepositosCaja ObjBancos.GetPagosCajaChica(FechaI, FechaF, UsuarioActual.CveEmpresa, DdlCajaChica.SelectedValue.ToEntero, DdlTipoPago.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, MSI:=MSI) GvFacturas.DataSource = ObjBancos.DtResultados - lblValorTotal.Text = ObjBancos.DtResultados.SUM("Importe").ToString("###,###,###.00") - - ObjBancos.Dispose() - GvFacturas.DataBind() + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + lblValorTotal.Text = ObjBancos.DtResultados.SUM("Importe").ToString("###,###,###.00") + End If + + ObjBancos.Dispose() + + + GvFacturas.DataBind() ChkFaltante.Checked = False ChkDescuento.Checked = False ChkIntermediario.Checked = False @@ -365,11 +369,34 @@ Partial Class Bancos_DepositosCaja End Sub Protected Sub GvFacturas_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvFacturas.RowDataBound - If e.Row.RowType = DataControlRowType.DataRow Then + If e.Row.RowType = DataControlRowType.DataRow Then + + + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + e.Row.FCCheckBox("ChkFactura").Checked = True + e.Row.FCCheckBox("ChkFactura").Enabled = False + + 'Dim checkbox As HtmlControl = DirectCast(e.Row.FindControl("checkbox"), HtmlControl) + 'checkbox.Attributes.Add("chequed", "cheked") + + End If + + + e.Row.FCCheckBox("ChkFactura").Attributes.Add("onclick", String.Format("FnSuma(this,{0});", e.Row.DBCampo("Importe"))) e.Row.FCCheckBox("ChkFactura").InputAttributes.Add("Value", e.Row.DBCampo("Importe")) End If + + If e.Row.RowType = DataControlRowType.Header Then + + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + RegistraScript("$('#C_GvFacturas_ChkSelector').attr('checked', true); $('#C_GvFacturas_ChkSelector').prop('disabled', 'disabled');") + 'RegistraScript("$('#C_GvFacturas_ChkSelector').prop('disabled', 'disabled');") + End If + + End If + End Sub diff --git a/Bancos/Devoluciones.aspx b/Bancos/Devoluciones.aspx index eaa04eda3..4a9817c09 100644 --- a/Bancos/Devoluciones.aspx +++ b/Bancos/Devoluciones.aspx @@ -19,7 +19,7 @@
-
+
@@ -253,7 +253,7 @@ -
+
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index df24000c7..887f721e6 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -2335,6 +2335,7 @@ Partial Class PopUpVerFactura Dim dtVentas As DataTable = ObjVentas.DtResultados ' se rellenan los campos de la factura + Vta = ObjVentas.DtResultados.Rows(0).DataRowToObject(Of Modelos.Factura) Vta.MonedaAbreviatura = dtVentas(0)("Abreviatura").ToString @@ -2363,10 +2364,15 @@ Partial Class PopUpVerFactura Vta.Cliente.Codigo = dtVentas(0)("ClienteCodigo").ToString Vta.Cliente.Mail = dtVentas(0)("Mail").ToString Vta.Cliente.MailCotizacion = dtVentas(0)("SucClienteCorreo").ToString + Vta.Cliente.CodigoRegimenFiscal = dtVentas(0)("CodigoRegimenFiscal").ToString + Vta.Cliente.RegimenFiscal = dtVentas(0)("RegimenFiscal").ToString + + Vta.RefDocto = dtVentas(0)("Ref").ToString Vta.CveVenta = dtVentas(0)("CveVenta").ToString.ToEntero Vta.NumeroCuenta = dtVentas(0)("NumCtaPago").ToString - Vta.Version = dtVentas(0)("Version").ToString + Vta.Version = dtVentas(0)("CFDIVersion").ToString + Vta.NumeroContrato = dtVentas(0)("NumeroContrato").ToString Vta.DescripcionContrato = dtVentas(0)("DescripcionContrato").ToString diff --git a/Empresas/119/Formatos/Factura.rdlc b/Empresas/119/Formatos/Factura.rdlc index bf4e63eaf..cab74d0ae 100644 --- a/Empresas/119/Formatos/Factura.rdlc +++ b/Empresas/119/Formatos/Factura.rdlc @@ -879,12 +879,43 @@ Left + + + + Regimen fiscal: + + + + + + + + =Parameters!RegimenFiscalCodigo.Value + + + + + Textbox2 0.05159in 4.31439cm - 1.62208in - 3.20861in + 2.04917in + 3.35209in 1 + + + + + + Textbox30 + + + #008204 + 2pt + 2pt + 2pt + 2pt + + + + @@ -2011,7 +2082,7 @@ Myriad Pro 7.5pt Normal - #,0.00;-#,0.00;'-' + #,0.00;(#,0.00) @@ -2136,6 +2207,42 @@ + + + + true + true + + + + + =Fields!CodigoObjetoImpuesto.Value + + + + + + + ObjetoImpuesto + + + 2pt + 2pt + 2pt + 2pt + + + true + + @@ -2278,7 +2385,6 @@ 2pt - true @@ -2295,7 +2401,7 @@ Myriad Pro 7.5pt Normal - #,0.00 + #,0.00;-#,0.00;'-' es-MX @@ -2333,6 +2439,7 @@ + @@ -2349,7 +2456,7 @@ 2.25503in 0.04048in 0.34081in - 8.22304in + 8.21054in 6 - - true - true - - - - - VERSION 3.3 - - - - - - - Textbox5 - 2.32303cm - 17.39754cm - 0.6cm - 3.32021cm - 4 - - - 2pt - 2pt - 2pt - 2pt - - true 14.85441cm 0.10282cm - 2.97096cm + 2.25247cm 20.89818cm 14 @@ -3941,6 +4012,50 @@ 2pt + + true + true + + + + + VERSION + + + + =Parameters!CFDIVersion.Value + + + + + + + Textbox5 + 17.20919cm + 17.68079cm + 0.6cm + 3.32021cm + 22 + + + 2pt + 2pt + 2pt + 2pt + + 31.01581cm - 21.12144cm + 21.001cm 0.63499cm @@ -4198,6 +4313,10 @@ SATClaveProdServ System.String + + CodigoObjetoImpuesto + System.String + DsOC @@ -4889,6 +5008,18 @@ true ReportParameter1 + + String + true + true + ReportParameter1 + + + String + true + true + ReportParameter1 +