Foramtos 4.0 Commit 1

This commit is contained in:
rakcsle
2022-05-30 20:38:09 -07:00
parent 86be7031cc
commit 16ec278e2a
10 changed files with 383 additions and 196 deletions

View File

@@ -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)

View File

@@ -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)))

View File

@@ -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

View File

@@ -6655,7 +6655,7 @@ Namespace Modelos
Public Property SubProyectoMatriz As Modelos.SubProyectoModel
'CFDi
<ComponentModel.DataAnnotations.Schema.NotMapped>
Public Property Version As String
Public Property Version As String = ""
Public Property Serie As String = ""
Public Property Folio As Integer
<ComponentModel.DataAnnotations.Schema.NotMapped>
@@ -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

View File

@@ -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"

View File

@@ -295,10 +295,10 @@
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" class="form-check-input" id="ChkSelector" onclick="SelectorNotas(this)" checked="checked" disabled >
<input type="checkbox" class="form-check-input" id="ChkSelector" onclick="SelectorNotas(this)" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkFactura" CssClass="CssSelector" runat="server" Checked="true" Enabled="false" />
<asp:CheckBox ID="ChkFactura" CssClass="CssSelector" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Factura">

View File

@@ -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

View File

@@ -19,7 +19,7 @@
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<div class="row">
<div class="col-md-6">
<div class="col-md-8">
<div class="portlet box blue-hoki">
<div class="portlet-title">
<div class="caption">
@@ -253,7 +253,7 @@
<asp:UpdatePanel runat="server" >
<ContentTemplate>
<div class="col-md-6" runat="server" id="DvComprobante">
<div class="col-md-2" runat="server" id="DvComprobante">
<asp:TextBox ID="Anexo" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
</ContentTemplate>

View File

@@ -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

View File

@@ -879,12 +879,43 @@
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Regimen fiscal: </Value>
<Style>
<FontFamily>Myriad Pro</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>SemiBold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value xml:space="preserve"> </Value>
<Style>
<FontFamily>Myriad Pro</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value>=Parameters!RegimenFiscalCodigo.Value</Value>
<Style>
<FontFamily>Myriad Pro</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>0.05159in</Top>
<Left>4.31439cm</Left>
<Height>1.62208in</Height>
<Width>3.20861in</Width>
<Height>2.04917in</Height>
<Width>3.35209in</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
@@ -1500,9 +1531,9 @@
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>0.05022in</Top>
<Left>4.90719in</Left>
<Left>5.05067in</Left>
<Height>1.62345in</Height>
<Width>3.35633in</Width>
<Width>3.21285in</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
@@ -1639,7 +1670,10 @@
<Width>0.8527in</Width>
</TablixColumn>
<TablixColumn>
<Width>3.02234in</Width>
<Width>2.31203in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.69781in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.57354in</Width>
@@ -1807,6 +1841,43 @@
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox30">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Obj. Imp.</Value>
<Style>
<FontFamily>Myriad Pro</FontFamily>
<FontSize>9.5pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox30</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>#008204</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox3">
@@ -2011,7 +2082,7 @@
<FontFamily>Myriad Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Normal</FontWeight>
<Format>#,0.00;-#,0.00;'-'</Format>
<Format>#,0.00;(#,0.00)</Format>
</Style>
</TextRun>
</TextRuns>
@@ -2136,6 +2207,42 @@
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="ObjetoImpuesto">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!CodigoObjetoImpuesto.Value</Value>
<Style>
<FontFamily>Myriad Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Normal</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>ObjetoImpuesto</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<rd:Selected>true</rd:Selected>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="PU">
@@ -2278,7 +2385,6 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<rd:Selected>true</rd:Selected>
</CellContents>
</TablixCell>
<TablixCell>
@@ -2295,7 +2401,7 @@
<FontFamily>Myriad Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Normal</FontWeight>
<Format>#,0.00</Format>
<Format>#,0.00;-#,0.00;'-'</Format>
<Language>es-MX</Language>
</Style>
</TextRun>
@@ -2333,6 +2439,7 @@
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
@@ -2349,7 +2456,7 @@
<Top>2.25503in</Top>
<Left>0.04048in</Left>
<Height>0.34081in</Height>
<Width>8.22304in</Width>
<Width>8.21054in</Width>
<ZIndex>6</ZIndex>
<Style>
<Border>
@@ -3115,47 +3222,11 @@
</Border>
</Style>
</Tablix>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>VERSION 3.3</Value>
<Style>
<FontFamily>MYRiad Pro</FontFamily>
<FontSize>9.16pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>2.32303cm</Top>
<Left>17.39754cm</Left>
<Height>0.6cm</Height>
<Width>3.32021cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Top>14.85441cm</Top>
<Left>0.10282cm</Left>
<Height>2.97096cm</Height>
<Height>2.25247cm</Height>
<Width>20.89818cm</Width>
<ZIndex>14</ZIndex>
<Visibility>
@@ -3941,6 +4012,50 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>VERSION </Value>
<Style>
<FontFamily>MYRiad Pro</FontFamily>
<FontSize>9.16pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value>=Parameters!CFDIVersion.Value</Value>
<Style>
<FontFamily>MYRiad Pro</FontFamily>
<FontSize>9.16pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>17.20919cm</Top>
<Left>17.68079cm</Left>
<Height>0.6cm</Height>
<Width>3.32021cm</Width>
<ZIndex>22</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>31.01581cm</Height>
<Style>
@@ -3949,7 +4064,7 @@
</Border>
</Style>
</Body>
<Width>21.12144cm</Width>
<Width>21.001cm</Width>
<Page>
<PageFooter>
<Height>0.63499cm</Height>
@@ -4198,6 +4313,10 @@
<DataField>SATClaveProdServ</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CodigoObjetoImpuesto">
<DataField>CodigoObjetoImpuesto</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DsOC</rd:DataSetName>
@@ -4889,6 +5008,18 @@
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="CFDIVersion">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="RegimenFiscalCodigo">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<EmbeddedImages>
<EmbeddedImage Name="Logo119">