use BD_SPDV
delete from REGLAS where Descripcion = '4 Boxer por 20$'
DELETE FROM GRUPO_REGLAS
DECLARE @ProximaRegla AS INTEGER
DECLARE @ProximoGrupo AS INTEGER
DECLARE @ProximoIdReg AS INTEGER

SET @ProximaRegla = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.REGLAS)
SET @ProximoGrupo = (SELECT ISNULL(MAX(IDGrupoRegla),0)+1 FROM dbo.GRUPO_REGLAS)

DECLARE @ProximaRegla AS INTEGER
DECLARE @ProximoGrupo AS INTEGER
DECLARE @ProximoIdReg AS INTEGER

SET @ProximaRegla = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.REGLAS)
SET @ProximoGrupo = (SELECT ISNULL(MAX(IDGrupoRegla),0)+1 FROM dbo.GRUPO_REGLAS)

INSERT INTO dbo.REGLAS
(
    ID,
    Descripcion,
    Imprimir,
    Lleve,
    Pague,
    PorcDescuento,
    ProductosActivan,
    ProductosAfectados,
    FechaInicio,
    FechaFin,
    HoraInicio,
    HoraFin,
    Lunes,
    Martes,
    Miercoles,
    Jueves,
    Viernes,
    Sabado,
    Domingo,
    Prioridad,
    Activa,
    FechaCreacion,
    Precio,
    Tipo
)
VALUES
(   @ProximaRegla,         -- ID - bigint
    '4 Boxer por 20$',        -- Descripcion - varchar(250)
    '4x20',        -- Imprimir - varchar(10)
    4,         -- Lleve - int
    4,         -- Pague - int
    0,      -- PorcDescuento - numeric(7, 4)
    @ProximoGrupo,         -- ProductosActivan - bigint
    @ProximoGrupo,         -- ProductosAfectados - bigint
    '03/06/2023 12:00:00', -- FechaInicio - datetime
    '30/06/2023 12:00:00', -- FechaFin - datetime
    '01/01/1990 00:00:01', -- HoraInicio - datetime
    '01/01/1990 23:59:59', -- HoraFin - datetime
    1,         -- Lunes - tinyint
    1,         -- Martes - tinyint
    1,         -- Miercoles - tinyint
    1,         -- Jueves - tinyint
    1,         -- Viernes - tinyint
    1,         -- Sabado - tinyint
    1,         -- Domingo - tinyint
    2,         -- Prioridad - bigint
    1,         -- Activa - tinyint
    GETDATE(), -- FechaCreacion - datetime
    4.31,      -- Precio - numeric(10, 2)
    1          -- Tipo - int
    )

SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '2148GDE' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '2148GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '2333GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '2349GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '2419GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '3969GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '3970GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '3971GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4125GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4127GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4141GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4158GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4159GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4164GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4735GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4774GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4777GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4817GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4856GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '4859GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5080GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5081GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5082EGR' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5082GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5083GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5088GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5089GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5092GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5093GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5170GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5172GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5174GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, '5175GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG01B2GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG01D1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG01L0GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG01L6GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG01T1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG02A5GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG02B1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG02B2GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG02B5GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG02C8PGRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG02D1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG02D7GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG02L0GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG02T1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG03A5GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG03B1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG03D1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG03D7GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG03L0GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG03T1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG04B2GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG04D1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG04D6GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG04T1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG05L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG05T1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG06A5GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG06B1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG06L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG06L9GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG06T1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG07A5GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG07B1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG07L6GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG07L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG07L9GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG07T1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG08B1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG08B2GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG08D2GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG08L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG08L9GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG09B2GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG09L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG10B2GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG10L7GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG10L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG10L9GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG11B1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG11B2GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG11L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG11L9GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG12L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG13L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG14L7GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG14L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG15L7GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG15L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG17L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG18L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG23L1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG24L1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG24L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG25L1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG25L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG25L9GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG26L1GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'GG29L8GRD' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'KG02L1GRK' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'KG03L1GRK' , @ProximoGrupo,1,0)
SET @ProximoIdReg = (SELECT ISNULL(MAX(ID),0)+1 FROM dbo.GRUPO_REGLAS)
INSERT INTO dbo.GRUPO_REGLAS (ID,CodigoBarra,IDGrupoRegla,EsReferencia,EsExcepcion)
VALUES (@ProximoIdReg, 'RG02L9GRD' , @ProximoGrupo,1,0)



GO

ALTER PROCEDURE  [dbo].[PromocionesYOfertas_DescuentoEnSiMismo] 
	@ID_Regla			INT,	
	@Lleve				INT,
	@Pague				INT,
	@PorcDesc			NUMERIC(5,2),
	@Grupo				INT,
	@Imprimir			VARCHAR(15),
	@TablaFacturacion	VARCHAR(50),
	@TablaResultado		VARCHAR(50),
	@convenio			VARCHAR(4),
	@PrecioValor		NUMERIC(24,2),
    @TipoRegla			INT
AS
BEGIN

DECLARE @CodigoBarra			VARCHAR(15)
DECLARE @TipoLista				VARCHAR(3)
DECLARE @PrecioLista			NUMERIC(24,4) 
DECLARE @Precio					NUMERIC(24,2) 
DECLARE @Cantidad				NUMERIC(24,4) 
DECLARE @Impuesto				NUMERIC(24,4) 
DECLARE @PorcentajeImpuesto		NUMERIC(24,2) 
DECLARE @PorcentajeDescuento	NUMERIC(24,2)
DECLARE @Costo					NUMERIC(24,2) 
DECLARE @Regla					VARCHAR(50)
DECLARE @Item					NUMERIC(24,2)
DECLARE @ContadorReg			INT
DECLARE @ContadorInt			INT
DECLARE @Ciclo					INT
DECLARE @strSQL					VARCHAR(MAX)
DECLARE @NuevoPrecio			NUMERIC(24,2)
DECLARE @NvPorcDescuento		NUMERIC(5,2)
DECLARE @UltimaTasa				NUMERIC(24,2)

--Comprobar, eliminar y recrear tabla temporal
IF OBJECT_ID('tempdb..#TempFacturacion') IS NOT NULL 
	DROP TABLE #TempFacturacion

CREATE TABLE #TempFacturacion 
					(
					CodigoBarra VARCHAR(15), 
					TipoLista  VARCHAR(3), 
					PrecioLista NUMERIC(24,4), 
					Precio NUMERIC(24,2), 
					Cantidad NUMERIC(24,4), 
					Impuesto NUMERIC(24,4), 
					PorcentajeImpuesto NUMERIC(24,2), 
					Costo NUMERIC(24,2), 
					PorcentajeDescuento NUMERIC(5,2),
					Item INT 
					) ON [PRIMARY]	
	CREATE NONCLUSTERED INDEX [IX_CodigoBarra] ON #TempFacturacion ([CodigoBarra])
	CREATE NONCLUSTERED INDEX [IX_Item] ON #TempFacturacion ([Item])  

-- Separacion de unidades 
DECLARE Cursor_Ofertas CURSOR
	FOR 
		SELECT Temp.CodigoBarra, Temp.TipoLista, Temp.PrecioLista, Temp.Precio, Temp.Cantidad, Temp.Impuesto, Temp.PorcentajeImpuesto, Temp.Costo, Temp.PorcentajeDescuento
		FROM dbo.#TempFacturacionPasoA Temp
			INNER JOIN (SELECT CodigoBarra, IDGrupoRegla FROM dbo.fntPrendasGrupoRegla(@Grupo)) G ON G.CodigoBarra = Temp.CodigoBarra 
				AND G.IDGrupoRegla = @Grupo  
		ORDER BY Temp.Precio ASC, Temp.CodigoBarra ASC, Temp.Cantidad ASC	
	SET @Item = 0

	OPEN Cursor_Ofertas 
	FETCH NEXT FROM Cursor_Ofertas
	INTO @CodigoBarra, @TipoLista, @PrecioLista, @Precio, @Cantidad, @Impuesto, @PorcentajeImpuesto, @Costo, @PorcentajeDescuento
    
	WHILE @@FETCH_STATUS = 0
	BEGIN
		WHILE @Cantidad > 0 
		BEGIN 
			SET @Item = (@Item + 1)			
			INSERT INTO #TempFacturacion
			        (CodigoBarra, TipoLista, PrecioLista, Precio, Cantidad, Impuesto, PorcentajeImpuesto, Costo, PorcentajeDescuento, Item)
			VALUES  ( 
					  @CodigoBarra, 
					  @TipoLista, 
					  @PrecioLista, 
					  @Precio, 
					  @Cantidad, 
					  @Impuesto, 
					  @PorcentajeImpuesto, 
					  @Costo, 
					  @PorcentajeDescuento,
					  @Item	
			         )
			SET @Cantidad = (@Cantidad - 1)
		END
		FETCH NEXT FROM Cursor_Ofertas
		INTO @CodigoBarra, @TipoLista, @PrecioLista, @Precio, @Cantidad, @Impuesto, @PorcentajeImpuesto, @Costo, @PorcentajeDescuento
    END
CLOSE Cursor_Ofertas  
DEALLOCATE Cursor_Ofertas   

--

SET @ContadorInt = 0
SET @Ciclo = 0
SET @ContadorReg = (SELECT COUNT(*) FROM #TempFacturacion)
WHILE @ContadorReg >= @Lleve
BEGIN
	SET @Ciclo = @Ciclo + 1

	SET @ContadorInt = @ContadorInt + 1

	IF @Ciclo <= @PAGUE AND @Pague = @Lleve
	BEGIN
		SELECT TOP(1) @CodigoBarra = CodigoBarra, 
					  @TipoLista = TipoLista, 
					  @PrecioLista = ISNULL(PrecioLista,0), 
					  @Precio = ISNULL(Precio,0), 
					  @Cantidad = ISNULL(Cantidad,0), 
					  @Impuesto = ISNULL(Impuesto,0), 
					  @PorcentajeImpuesto = ISNULL(PorcentajeImpuesto,0), 
					  @Costo = ISNULL(Costo,0), 
					  @PorcentajeDescuento = ISNULL(PorcentajeDescuento,0), 
					  @Item = Item 
		FROM #TempFacturacion 
		ORDER BY Item DESC
    
	IF @TipoRegla = 0 
		 BEGIN  
		   SET @NuevoPrecio = (@Precio - (@Precio * @PorcDesc / 100))
		   SET @NvPorcDescuento = @PorcDesc 
		 END
	ELSE
		 BEGIN
		   SET @UltimaTasa = (dbo.UltimaTasaCambio())
		   SET @NuevoPrecio = (CASE WHEN  @Precio < @PrecioValor*@UltimaTasa  THEN  (@Precio) ELSE @PrecioValor*@UltimaTasa  END )
		   SET @NvPorcDescuento = (CASE WHEN  @Precio < @PrecioValor*@UltimaTasa  THEN  (0) ELSE  ROUND(((@Precio-(@PrecioValor*@UltimaTasa))/@Precio)*100,2)   END )
		 END

		SET @strSQL = 'UPDATE ' + @TablaResultado + '
						SET Cantidad = Cantidad + 1 WHERE CodigoBarra = ''' + @CodigoBarra + '''
														AND TipoLista = ''R'' 
														AND PrecioLista = ' + CAST(@NuevoPrecio AS VARCHAR(24)) +  '
														AND Precio = ' + CAST(@Precio AS VARCHAR(24)) +  '
														AND Impuesto = ' + CAST(@Impuesto AS VARCHAR(24)) + '
														AND PorcentajeImpuesto = ' + CAST(@PorcentajeImpuesto AS VARCHAR(24)) + '
														AND Costo = ' + CAST(@Costo AS VARCHAR(24)) + '
														AND PorcentajeDescuento = ' + CAST(@NvPorcDescuento AS VARCHAR(24)) + '
														AND Regla = ''' + @Imprimir + ''' 
														AND IDRegla = ' + CAST(@ID_Regla AS VARCHAR(24))
		
		EXEC (@strSQL)

			IF @@ROWCOUNT = 0
			BEGIN 
				SET @strSQL = 'INSERT INTO ' + @TablaResultado + '
				        ( CodigoBarra ,
				          TipoLista ,
				          PrecioLista ,
				          Precio ,
				          Cantidad ,
				          Impuesto ,
				          PorcentajeImpuesto ,
				          Costo ,
				          PorcentajeDescuento ,
				          Regla,
						  IDRegla
				        )
				VALUES  ( ''' + @CodigoBarra + ''', 
						  ''R'', ' +
						  CAST(@NuevoPrecio AS VARCHAR(24)) + ', ' +
				          CAST(@Precio AS VARCHAR(24)) + ', 
						  1, ' + 
				          CAST(@Impuesto AS VARCHAR(24)) + ', ' +
				          CAST(@PorcentajeImpuesto AS VARCHAR(24)) + ', ' +
				          CAST(@Costo AS VARCHAR(24)) + ', ' +
				          CAST(@NvPorcDescuento AS VARCHAR(24)) + ', 
						  ''' + @Imprimir + ''', ' + 
						  CAST(@ID_Regla AS VARCHAR(24)) + ')' 
				EXEC (@strSQL)				
			END
	END 
        
    DELETE FROM #TempFacturacion WHERE Item = @Item	

  			IF (@convenio = 1 OR  @convenio = 2)  AND  @Ciclo = @PAGUE  --SOLO APLICAMOS UNA SOLA PROMOCION 
			   BEGIN

				  BREAK
			   END 

	IF @Ciclo >= @Lleve
	BEGIN 
		SET @Ciclo = 0
		SET @ContadorReg = (SELECT COUNT(*) FROM #TempFacturacion)
	END 
END

DELETE FROM #TempFacturacionPasoA WHERE CodigoBarra IN (SELECT CodigoBarra FROM dbo.fntPrendasGrupoRegla(@Grupo))

EXEC PromocionesYOfertas_DevolverRemanente

END
