USE [TryNFeOnline]
GO

ALTER TABLE [dbo].[MaquinaProducaoProduto] ADD 
[larguraMaxima] [int] NULL,
[refilePadrao] [int] NULL,
[maximoFolhasPorBatida] [int] NULL,
[refileMaximo] [int] NULL
GO
ALTER TABLE [dbo].[mdfePercurso] ADD 
[sequencia] [int] NULL
GO
ALTER TABLE [dbo].[Operador] ADD 
[idsOperacoesAutorizadas] [varchar] (250) COLLATE Latin1_General_CI_AS NULL
GO
ALTER TABLE [dbo].[parceiro] ADD 
[idnAceitaMaterialPaletizado] [bit] NULL
GO
ALTER TABLE [dbo].[pedidoProduto] ADD 
[larguraChapa] [int] NULL,
[comprimentoChapa] [int] NULL,
[vinco1] [int] NULL,
[vinco2] [int] NULL,
[vinco3] [int] NULL,
[vinco4] [int] NULL,
[vinco5] [int] NULL
GO
ALTER TABLE [dbo].[PedidoProdutoProducao] ADD 
[idPedidoProdutoCompra] [int] NULL
GO
ALTER TABLE [dbo].[ProdutoClassificacao] ADD 
[observacoes] [varchar] (5000) COLLATE Latin1_General_CI_AS NULL
GO
ALTER TABLE [dbo].[TipoOndaPapel] ADD 
[tipoOnda] [varchar] (10) COLLATE Latin1_General_CI_AS NULL
GO
CREATE TABLE [dbo].[ProdutoModeloCaixaVariavel]
(
	[id] [int] IDENTITY (1,1) NOT NULL,
	[idProdutoModeloCaixa] [int] NOT NULL,
	[tipoLC] [varchar] (5) COLLATE Latin1_General_CI_AS NOT NULL,
	[sequencia] [int] NOT NULL,
	[variavel] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[formula] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[compensacaoB] [int] NULL,
	[compensacaoC] [int] NULL,
	[compensacaoE] [int] NULL,
	[compensacaoBC] [int] NULL,
	[compensacaoBB] [int] NULL,
	[compensacaoBE] [int] NULL,
	[compensacaoA] [int] NULL,
	[compensacaoD] [int] NULL,
	[compensacaoAC] [int] NULL,
	[compensacaoDC] [int] NULL,
	[compensacaoDB] [int] NULL,
	CONSTRAINT [PK_ProdutoModeloCaixaVariavel] PRIMARY KEY CLUSTERED
	(
		[id] ASC
	) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY  = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[ProdutoModeloCaixa]
(
	[id] [int] IDENTITY (1,1) NOT NULL,
	[descricao] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[atributoA] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoB] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoC] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoD] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoE] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoF] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoG] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoH] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoI] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoJ] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[atributoOrelha] [varchar] (20) COLLATE Latin1_General_CI_AS NULL,
	[labelA] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[labelB] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[labelC] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[labelD] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[labelE] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[labelF] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[labelG] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[labelH] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[labelI] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[labelJ] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[dicaA] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[dicaB] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[dicaC] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[dicaD] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[dicaE] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[dicaF] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[dicaG] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[dicaH] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[dicaI] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[dicaJ] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[desenho] [varchar] (max) COLLATE Latin1_General_CI_AS NULL,
	[medidaOrelha] [int] NULL,
	CONSTRAINT [PK_ModeloCaixaAcessorios] PRIMARY KEY CLUSTERED
	(
		[id] ASC
	) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY  = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[ProdutoCaixa]
(
	[id] [int] IDENTITY (1,1) NOT NULL,
	[idProduto] [int] NOT NULL,
	[idProdutoClassificacao] [int] NULL,
	[refCliente] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[idProdutoModeloCaixa] [int] NULL,
	[idnOndaVirada] [bit] NOT NULL,
	[medidaA] [int] NULL,
	[medidaB] [int] NULL,
	[medidaC] [int] NULL,
	[medidaD] [int] NULL,
	[medidaE] [int] NULL,
	[medidaF] [int] NULL,
	[medidaG] [int] NULL,
	[medidaH] [int] NULL,
	[medidaI] [int] NULL,
	[medidaJ] [int] NULL,
	[medidaOrelha] [int] NULL,
	[larguraCaixa] [int] NULL,
	[comprimentoCaixa] [int] NULL,
	[larguraChapa] [int] NULL,
	[comprimentoChapa] [int] NULL,
	[qtdePecas] [int] NULL,
	[observacaoPacote] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[unidade] [varchar] (10) COLLATE Latin1_General_CI_AS NULL,
	[preco] [decimal] (18,6) NULL,
	[precoUnitario] [decimal] (18,6) NULL,
	[idForma] [int] NULL,
	[qtdePecasForma] [int] NULL,
	[larguraForma] [int] NULL,
	[comprimentoForma] [int] NULL,
	[idnSemImpressao] [bit] NOT NULL,
	[idCliche] [int] NULL,
	[tipoFechamento] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[idCores] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[areaM2] [decimal] (18,4) NULL,
	[pesoKg] [decimal] (18,4) NULL,
	[idParceiro] [int] NULL,
	CONSTRAINT [PK_ProdutoCaixa] PRIMARY KEY CLUSTERED
	(
		[id] ASC
	) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY  = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[PedidoProgramacaoProducaoOrdens]
(
	[id] [int] IDENTITY (1,1) NOT NULL,
	[idPedidoProgramacaoProducao] [int] NOT NULL,
	[idPedidoProdutoProducao] [int] NOT NULL,
	[larguraBobina] [int] NULL,
	[folhasPorBatida] [int] NULL,
	[comprimentoTotal] [int] NULL,
	[sequenciaImpressao] [int] NOT NULL,
	CONSTRAINT [PK_PedidoProgramacaoProducaoOrdens] PRIMARY KEY CLUSTERED
	(
		[id] ASC
	) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY  = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[PedidoProgramacaoProducao]
(
	[id] [int] IDENTITY (1,1) NOT NULL,
	[idFilial] [int] NULL,
	[dataHora] [datetime] NOT NULL,
	[observacao] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[idMaquina] [int] NULL,
	CONSTRAINT [PK_PedidoProgramacaoProducao] PRIMARY KEY CLUSTERED
	(
		[id] ASC
	) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY  = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[ParceiroFornecedorPapelao]
(
	[id] [int] IDENTITY (1,1) NOT NULL,
	[idParceiro] [int] NOT NULL,
	[ucom] [varchar] (10) COLLATE Latin1_General_CI_AS NULL,
	[codigoPapelaoInterno] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[codigoPapelaoFornecedor] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[precoM2] [decimal] (18,6) NULL,
	[precoKG] [decimal] (18,6) NULL,
	[gramagemFornecedor] [decimal] (18,4) NULL,
	[compraMinima] [int] NULL,
	[idEstruturaPapel] [int] NULL,
	CONSTRAINT [PK_ParceiroFornecedorPapelao] PRIMARY KEY CLUSTERED
	(
		[id] ASC
	) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY  = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[FormasCartonagem]
(
	[id] [int] IDENTITY (1,1) NOT NULL,
	[descricao] [varchar] (100) COLLATE Latin1_General_CI_AS NOT NULL,
	[localizacao] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[larguraArranjo] [int] NULL,
	[comprimentoArranjo] [int] NULL,
	[quantidadePecas] [int] NULL,
	[larguraChapa] [int] NULL,
	[comprimentoChapa] [int] NULL,
	[areaM2] [decimal] (18,4) NULL,
	[areaTotal] [decimal] (28,10) NULL,
	[idTipoOndaPapel] [int] NULL,
	[observacao] [varchar] (200) COLLATE Latin1_General_CI_AS NULL,
	[idnInativo] [bit] NOT NULL,
	CONSTRAINT [PK_FormasCartonagem] PRIMARY KEY CLUSTERED
	(
		[id] ASC
	) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY  = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Cores]
(
	[id] [int] IDENTITY (1,1) NOT NULL,
	[descricao] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL,
	[observacao] [varchar] (200) COLLATE Latin1_General_CI_AS NULL,
	[idnInativo] [bit] NOT NULL,
	CONSTRAINT [PK_Cores] PRIMARY KEY CLUSTERED
	(
		[id] ASC
	) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY  = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Cliche]
(
	[id] [int] IDENTITY (1,1) NOT NULL,
	[descricao] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[idParceiro] [int] NULL,
	[localizacao] [varchar] (50) COLLATE Latin1_General_CI_AS NULL,
	[idnPropriedadeCliente] [bit] NOT NULL,
	[observacao] [varchar] (100) COLLATE Latin1_General_CI_AS NULL,
	[idnInativo] [bit] NOT NULL,
	CONSTRAINT [PK_Cliche] PRIMARY KEY CLUSTERED
	(
		[id] ASC
	) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY  = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

ALTER FUNCTION [dbo].[EstoqueProdutosTodasFiliais]
(
	@dataInf datetime = null,
	@idFiliais varchar(100) = '',
	@idProdutoInf int = 0,
	@idProdutoClassificacaoInf int = 0,
	@idContaInf int = 0,
	@idGrupoInf int = 0,
	@idnMostrarProdutosBaixadosInf bit = 0,
	@idnMostrarProdutosQtdNegativaInf bit = 1,
	@idMarcaInf int = 0
)
RETURNS 
@Resultado TABLE 
(
	idProduto int,
	idProdutoClassificacao int NULL,
	sequenciaClassificacao int NULL,
	codigoProdutoClasse varchar(50),
	dscProdutoClasse varchar(500),
	unidadeMedida varchar(30),
	qtd decimal(18,4),
	custo decimal(18,4)
)
AS
BEGIN
	
	declare @Produtos TABLE
	(
		idProduto int,
		idProdutoClassificacao int NULL,
		sequenciaClassificacao int NULL,
		codigoProdutoClasse varchar(50),
		dscProduto varchar(500),		
		unidadeMedida varchar(30),
		qtd decimal(18,4),
		idEmitente int,
		custo decimal(18,4)
	)

	DECLARE @IdFilial INT

	DECLARE cursorFilial CURSOR FOR
	SELECT id
	FROM emitente
	WHERE (COALESCE(idnBaixa, 0) = 0)
	AND ((id in (select * from ConvertStringToTable(@idFiliais))) or (@idFiliais = ''))
	
	OPEN cursorFilial
	FETCH NEXT FROM cursorFilial INTO @IdFilial

	WHILE @@FETCH_STATUS = 0
	BEGIN
    
		INSERT INTO @Produtos
		SELECT idProduto, idProdutoClassificacao, sequenciaClassificacao, codigoProdutoClasse, dscProdutoClasse, unidadeMedida, qtd, @IdFilial, custoCalculado
		FROM EstoqueProdutos(@dataInf, @IdFilial, @idProdutoInf, @idProdutoClassificacaoInf, @idContaInf, @idGrupoInf, @idnMostrarProdutosBaixadosInf, @idnMostrarProdutosQtdNegativaInf, @idMarcaInf)
    
		FETCH NEXT FROM cursorFilial INTO @IdFilial
	END

	CLOSE cursorFilial
	DEALLOCATE cursorFilial

	INSERT INTO @Resultado
	select p.idProduto, p.idProdutoClassificacao, p.sequenciaClassificacao, p.codigoProdutoClasse, p.dscProduto, p.unidadeMedida, SUM(p.qtd), sum(p.custo)
	from @Produtos p
	group by p.idProduto, p.idProdutoClassificacao, p.sequenciaClassificacao, p.codigoProdutoClasse, p.dscProduto, p.unidadeMedida

	RETURN 
END
GO
ALTER TABLE [dbo].[ParceiroFornecedorPapelao] ADD CONSTRAINT [FK_ParceiroFornecedorPapelao_parceiro] FOREIGN KEY
	(
		[idParceiro]
	)
	REFERENCES [dbo].[parceiro]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[PedidoProgramacaoProducao] ADD CONSTRAINT [FK_PedidoProgramacaoProducao_emitente] FOREIGN KEY
	(
		[idFilial]
	)
	REFERENCES [dbo].[emitente]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[PedidoProgramacaoProducao] ADD CONSTRAINT [FK_PedidoProgramacaoProducao_MaquinaProducaoProduto] FOREIGN KEY
	(
		[idMaquina]
	)
	REFERENCES [dbo].[MaquinaProducaoProduto]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[PedidoProgramacaoProducaoOrdens] ADD CONSTRAINT [FK_PedidoProgramacaoProducaoOrdens_PedidoProdutoProducao] FOREIGN KEY
	(
		[idPedidoProdutoProducao]
	)
	REFERENCES [dbo].[PedidoProdutoProducao]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[PedidoProgramacaoProducaoOrdens] ADD CONSTRAINT [FK_PedidoProgramacaoProducaoOrdens_PedidoProgramacaoProducao] FOREIGN KEY
	(
		[idPedidoProgramacaoProducao]
	)
	REFERENCES [dbo].[PedidoProgramacaoProducao]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[ProdutoCaixa] ADD CONSTRAINT [FK_ProdutoCaixa_Cliche] FOREIGN KEY
	(
		[idCliche]
	)
	REFERENCES [dbo].[Cliche]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[ProdutoCaixa] ADD CONSTRAINT [FK_ProdutoCaixa_FormasCartonagem] FOREIGN KEY
	(
		[idForma]
	)
	REFERENCES [dbo].[FormasCartonagem]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[ProdutoCaixa] ADD CONSTRAINT [FK_ProdutoCaixa_parceiro] FOREIGN KEY
	(
		[idParceiro]
	)
	REFERENCES [dbo].[parceiro]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[ProdutoCaixa] ADD CONSTRAINT [FK_ProdutoCaixa_produto] FOREIGN KEY
	(
		[idProduto]
	)
	REFERENCES [dbo].[produto]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[ProdutoCaixa] ADD CONSTRAINT [FK_ProdutoCaixa_ProdutoClassificacao] FOREIGN KEY
	(
		[idProdutoClassificacao]
	)
	REFERENCES [dbo].[ProdutoClassificacao]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[ProdutoCaixa] ADD CONSTRAINT [FK_ProdutoCaixa_ProdutoModeloCaixa] FOREIGN KEY
	(
		[idProdutoModeloCaixa]
	)
	REFERENCES [dbo].[ProdutoModeloCaixa]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[Cliche] ADD CONSTRAINT [FK_Cliche_parceiro] FOREIGN KEY
	(
		[idParceiro]
	)
	REFERENCES [dbo].[parceiro]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[ProdutoModeloCaixaVariavel] ADD CONSTRAINT [FK_ProdutoModeloCaixaVariavel_ProdutoModeloCaixa] FOREIGN KEY
	(
		[idProdutoModeloCaixa]
	)
	REFERENCES [dbo].[ProdutoModeloCaixa]
	(
		[id]
	)
GO

ALTER TABLE [dbo].[FormasCartonagem] ADD CONSTRAINT [FK_FormasCartonagem_TipoOndaPapel] FOREIGN KEY
	(
		[idTipoOndaPapel]
	)
	REFERENCES [dbo].[TipoOndaPapel]
	(
		[id]
	)
GO

CREATE PROCEDURE [dbo].[DESENHO_CAIXA_PAPELAO]
	@idModeloCaixa int,
	@idEstruturaPapel int,
	@medidaA int,
	@medidaB int,
	@medidaC int,
	@medidaD int,
	@medidaE int,
	@medidaF int,
	@medidaG int,
	@medidaH int,
	@medidaI int,
	@medidaJ int,
	@medidaOrelha int
	--@desenho varchar(MAX) OUTPUT
AS
BEGIN
	SET NOCOUNT ON;

	DECLARE @Variaveis TABLE
	(
		variavel varchar(50),
		formula varchar(50),
		compensacao int
	)

	INSERT INTO @Variaveis
	SELECT cxv.variavel, REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(cxv.formula, 'A', @medidaA), 'B', @medidaB), 'C', @medidaC), 'D', @medidaD), 'E', @medidaE), 'F', @medidaF), 'G', @medidaG), 'H', @medidaH), 'I', @medidaI), 'J', @medidaJ),
	COALESCE((case when ond.tipoOnda = 'A' then cxv.compensacaoA when ond.tipoOnda = 'B' then cxv.compensacaoB when ond.tipoOnda = 'C' then cxv.compensacaoC when ond.tipoOnda = 'D' then cxv.compensacaoD when ond.tipoOnda = 'E' 
	then cxv.compensacaoE when ond.tipoOnda = 'AC' then cxv.compensacaoAC when ond.tipoOnda = 'BB' then cxv.compensacaoBB when ond.tipoOnda = 'BC' then cxv.compensacaoBC when ond.tipoOnda = 'BE' then cxv.compensacaoBE when ond.tipoOnda = 'DB' then cxv.compensacaoDB when ond.tipoOnda = 'DB' then cxv.compensacaoDC else 0 end), 0)
	FROM ProdutoModeloCaixaVariavel cxv
	inner join TipoEstruturaPapel te on te.id = @idEstruturaPapel
	inner join TipoOndaPapel ond on ond.id = te.idTipoOnda
	WHERE (cxv.idProdutoModeloCaixa = @idModeloCaixa)

	
    DECLARE @Resultado TABLE 
	(
		desenho varchar(MAX)
	)

	INSERT INTO @Resultado
	SELECT desenho FROM ProdutoModeloCaixa WHERE id = @idModeloCaixa

	UPDATE @Resultado SET desenho = REPLACE(desenho, 'Orelha', @medidaOrelha)


	DECLARE @Variavel varchar(50)
	DECLARE @Formula varchar(50)
	DECLARE @Compensacao varchar(10)

	DECLARE @Valor AS FLOAT
	DECLARE @SqlStatement AS NVARCHAR(MAX)

	DECLARE cursorVariaveis CURSOR FOR
	SELECT variavel, formula, compensacao
	FROM @Variaveis

	OPEN cursorVariaveis
	FETCH NEXT FROM cursorVariaveis INTO @Variavel, @Formula, @Compensacao

	WHILE @@FETCH_STATUS = 0
	BEGIN
		
		SET @SqlStatement = 'SET @Valor = ' + @Formula + '+' + @Compensacao

		EXECUTE sp_executesql @SqlStatement, N'@Valor FLOAT OUTPUT', @Valor OUTPUT

		UPDATE @Resultado SET desenho = REPLACE(desenho, @Variavel, REPLACE(STR(@Valor, 4), SPACE(1), ' '))
		
		FETCH NEXT FROM cursorVariaveis INTO @Variavel, @Formula, @Compensacao

	END

	CLOSE cursorVariaveis
	DEALLOCATE cursorVariaveis

	--SELECT @desenho = (select desenho from @Resultado)
	SELECT * FROM @Resultado

END
GO
UPDATE selecao SET camposListar = 'upper(descricao) as descricao = Descrição, id = Código, larguraMaxima = Largura Máx|90, refilePadrao = Refile Padrão|100, refileMaximo = Refile Máx|90, maximoFolhasPorBatida = Máx Fls Batida|110' WHERE tabela = 'MaquinaProducaoProduto'
GO
INSERT INTO [selecao] ([tabela],[descricao],[camposListar],[campoChave],[campoRetorno],[nomeTela]) VALUES ('ProdutoModeloCaixa', 'Modelo de Caixa', 'upper(descricao) as descricao = Descrição, id = Código', 'id', 'descricao', 'ucCadProdutoModeloCaixa')
GO
INSERT INTO [selecao] ([tabela],[descricao],[camposListar],[campoChave],[campoRetorno],[filtro],[nomeTela]) VALUES ('Cores', 'Cor', 'upper(descricao) as descricao = Descrição, id = Código', 'id', 'descricao', '(idnInativo = 0)', 'ucCadCor')
GO
INSERT INTO [selecao] ([tabela],[descricao],[camposListar],[campoChave],[campoRetorno],[filtro],[nomeTela]) VALUES ('Cliche', 'Clichê de Impressão', 'upper(descricao) as descricao = Descrição, id = Código', 'id', 'descricao', '(idnInativo = 0)', 'ucCadCliche')
GO
INSERT INTO [selecao] ([tabela],[descricao],[camposListar],[campoChave],[campoRetorno],[filtro],[nomeTela]) VALUES ('FormasCartonagem', 'Forma de Papelão', 'upper(descricao) as descricao = Descrição, id = Código', 'id', 'descricao', '(idnInativo = 0)', 'ucCadFormaCartonagem')
GO
INSERT INTO [dbo].[configuracaoNovo]([nomeParametro],[descricaoSimplificada],[descricaoDetalhada],[tipoValor],[valor],[grupo],[subgrupo],[tamanhoValorMaximo],[idnParametroMultilinhas],[idnParametroRadio],[idnParametroSelecaoPasta],[idnPermiteAlteracaoApenasPorAdmins],[idnCampoSenha],[tabelaSelecao],[filtroSelecao],[validacaoRegularExpression],[idnPermiteSelecaoMultiplaOpcoes]) VALUES ('idnExibirAvisoNumDoctoDuplicadoPedido', 'Exibir um aviso ao lançar um Pedido com o mesmo Número do Documento', 'Selecione esta opção quando desejar que um aviso seja exibido na emissão do Pedido, quando informado um Número de Documento já salvo.', 'bool', 'False', 'Pedido', 'Configurações do Pedido',null,0,0,0,0,0,null,null,null,0)

GO
SET IDENTITY_INSERT [dbo].[Telas] ON
GO
INSERT [dbo].[Telas] ([id], [descricao], [controle], [idnPermiteAbrirVarias]) VALUES (387, N'Consultar Programação de Produção', N'Cadastros.ucConsProgramacaoProducaoPedido, Cadastros, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null', 0)
GO
INSERT [dbo].[Telas] ([id], [descricao], [controle], [idnPermiteAbrirVarias]) VALUES (388, N'Consultar Cores', N'Cadastros.ucConsCores, Cadastros, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null', 0)
GO
INSERT [dbo].[Telas] ([id], [descricao], [controle], [idnPermiteAbrirVarias]) VALUES (389, N'Cadastrar Cores', N'Cadastros.ucCadCor, Cadastros, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null', 0)
GO
INSERT [dbo].[Telas] ([id], [descricao], [controle], [idnPermiteAbrirVarias]) VALUES (390, N'Consultar Forma Papelão', N'Cadastros.ucConsFormaCartonagem, Cadastros, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null', 0)
GO
INSERT [dbo].[Telas] ([id], [descricao], [controle], [idnPermiteAbrirVarias]) VALUES (391, N'Cadastrar Forma Papelão', N'Cadastros.ucCadFormaCartonagem, Cadastros, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null', 0)
GO
INSERT [dbo].[Telas] ([id], [descricao], [controle], [idnPermiteAbrirVarias]) VALUES (392, N'Consultar Cliche', N'Cadastros.ucConsCliches, Cadastros, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null', 0)
GO
INSERT [dbo].[Telas] ([id], [descricao], [controle], [idnPermiteAbrirVarias]) VALUES (393, N'Cadastrar Cliche', N'Cadastros.ucCadCliche, Cadastros, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null', 0)
GO
INSERT [dbo].[Telas] ([id], [descricao], [controle], [idnPermiteAbrirVarias]) VALUES (394, N'Consultar Modelo Caixa', N'Cadastros.ucConsProdutoModeloCaixa, Cadastros, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null', 0)
GO
INSERT [dbo].[Telas] ([id], [descricao], [controle], [idnPermiteAbrirVarias]) VALUES (395, N'Cadastrar Modelo Caixa', N'Cadastros.ucCadProdutoModeloCaixa, Cadastros, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null', 0)
GO
SET IDENTITY_INSERT [dbo].[Telas] OFF

GO
SET IDENTITY_INSERT [dbo].[MenuItens] ON 
GO
INSERT [dbo].[MenuItens] ([id], [idMenu], [descricao], [idTela], [idMenuItemPai], [ordem], [idnVisivel], [md5], [imagem]) VALUES (513, 1, N'Consultar Programação de Produção', 387, 373, 8, 1, NULL, NULL)
GO
SET IDENTITY_INSERT [dbo].[MenuItens] OFF

GO
SET IDENTITY_INSERT [dbo].[MenuLateralItens] ON
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (429, 1, '-', null, 25, null, 11)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (430, 1, 'Consultar Cores', 388, 25, 'search-2_32.png', 12)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (431, 1, 'Cadastrar Cor', 389, 25, 'color-palette_32.png', 13)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (432, 1, '-', null, 25, null, 14)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (433, 1, 'Consultar Formas Caixa', 390, 25, 'search-2_32.png', 15)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (434, 1, 'Cadastrar Forma Caixa', 391, 25, 'packaging-box_32.png', 16)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (435, 1, '-', null, 25, null, 17)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (436, 1, 'Consultar Cliches Impressão', 392, 25, 'search-2_32.png', 18)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (437, 1, 'Cadastrar Cliche Impressão', 393, 25, 'printer-3_32.png', 19)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (438, 1, '-', null, 25, null, 20)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (439, 1, 'Consultar Modelos Caixa', 394, 25, 'search-2_32.png', 21)
GO
INSERT INTO [dbo].[MenuLateralItens] ([id],[idMenu],[descricao],[idTela],[idMenuLateralGrupo],[imagem],[ordem]) VALUES (440, 1, 'Cadastrar Modelo Caixa', 395, 25, 'delivery-box_32.png', 22)
GO
SET IDENTITY_INSERT [dbo].[MenuLateralItens] OFF

GO
INSERT INTO [dbo].[configuracaoNovo]([nomeParametro],[descricaoSimplificada],[descricaoDetalhada],[tipoValor],[valor],[grupo],[subgrupo],[tamanhoValorMaximo],[idnParametroMultilinhas],[idnParametroRadio],[idnParametroSelecaoPasta],[idnPermiteAlteracaoApenasPorAdmins],[idnCampoSenha],[tabelaSelecao],[filtroSelecao],[validacaoRegularExpression],[idnPermiteSelecaoMultiplaOpcoes]) VALUES ('idnImportarQtdVolumesNFeEmissaoCTe', 'Importar a Quantidade de Volumes da NFe, na Emissão do CTe', 'Selecione esta opção quando desejar importar a informação dos Volumes do XML da NFe, ao carregar o arquivo na emissão do CTe. Selecione também a Unidade e Tipo de Medida padrão dos Volumes, para incluir as informações conforme os produtos transportados.', 'bool', 'False', 'CTe', 'Configurações do CTe',null,0,0,0,0,0,null,null,null,0)
GO
INSERT INTO [dbo].[configuracaoNovo]([nomeParametro],[descricaoSimplificada],[descricaoDetalhada],[tipoValor],[valor],[grupo],[subgrupo],[tamanhoValorMaximo],[idnParametroMultilinhas],[idnParametroRadio],[idnParametroSelecaoPasta],[idnPermiteAlteracaoApenasPorAdmins],[idnCampoSenha],[tabelaSelecao],[filtroSelecao],[validacaoRegularExpression],[idnPermiteSelecaoMultiplaOpcoes]) VALUES ('codigoUnidadeMedidaVolumesCTe', 'Unidade de Medida padrão Volumes', 'Selecione a Unidade de Medida equivalente a Quantidade de Volumes informados na Nota Fiscal. Ao importar os dados de uma NFe na emissão do CTe, os volumes serão inseridos nas informações da Carga considerando esta Unidade de medida.', 'varchar', '03', 'CTe', 'Configurações do CTe',null,0,0,0,0,0,null,null,null,0)
GO
INSERT INTO [dbo].[configuracaoNovo]([nomeParametro],[descricaoSimplificada],[descricaoDetalhada],[tipoValor],[valor],[grupo],[subgrupo],[tamanhoValorMaximo],[idnParametroMultilinhas],[idnParametroRadio],[idnParametroSelecaoPasta],[idnPermiteAlteracaoApenasPorAdmins],[idnCampoSenha],[tabelaSelecao],[filtroSelecao],[validacaoRegularExpression],[idnPermiteSelecaoMultiplaOpcoes]) VALUES ('tipoMedidaVolumesCTe', 'Tipo de Medida padrão Volumes', 'Selecione o Tipo de Medida equivalente a Quantidade de Volumes informados na Nota Fiscal. Ao importar os dados de uma NFe na emissão do CTe, os volumes serão inseridos nas informações da Carga considerando este Tipo de medida.', 'varchar', 'VOLUMES', 'CTe', 'Configurações do CTe',null,0,0,0,0,0,null,null,null,0)

INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('codigoUnidadeMedidaVolumesCTe', '00 - M3', '00')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('codigoUnidadeMedidaVolumesCTe', '01 - KG', '01')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('codigoUnidadeMedidaVolumesCTe', '02 - TON', '02')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('codigoUnidadeMedidaVolumesCTe', '03 - UNIDADE', '03')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('codigoUnidadeMedidaVolumesCTe', '04 - LITROS', '04')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('codigoUnidadeMedidaVolumesCTe', '05 - MMBTU', '05')

INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'PESO BRUTO', 'PESO BRUTO')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'PESO DECLARADO', 'PESO DECLARADO')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'PESO CUBADO', 'PESO CUBADO')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'PESO AFORADO', 'PESO AFORADO')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'PESO AFERIDO', 'PESO AFERIDO')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'PESO BASE DE CALCULO', 'PESO BASE DE CALCULO')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'LITRAGEM', 'LITRAGEM')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'CAIXAS', 'CAIXAS')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'VOLUMES', 'VOLUMES')
INSERT INTO [dbo].[ConfiguracaoNovoOpcoes](nomeParametro, descricao, valor) VALUES ('tipoMedidaVolumesCTe', 'PEÇAS', 'PEÇAS')
GO
INSERT INTO VERSAO(VERSAO, VERSAOATUALIZACAO, DATAATUALIZACAO, REVISAO) VALUES(505, 763, GETDATE(),1);