USE [TryNFeOnline]
GO

ALTER TABLE [dbo].[emitente] ADD 
[idnDesabilitarAtualizacaoEstoque] [bit] NULL
GO
ALTER TABLE [dbo].[EstoqueConta] ADD 
[idnAtualizarEstoqueSelecao] [bit] NULL
GO
ALTER TABLE [dbo].[operacao] ADD 
[idnExigirInformarVendedorVenda] [bit] NULL
GO
ALTER TABLE [dbo].[parceiro] ADD 
[idnNaoEnviarEmailDFe] [bit] NULL
GO
-- =============================================
-- Author:		Name
-- Create date: 
-- Description:	
-- =============================================
ALTER FUNCTION [dbo].[CustoProdutoData] 
(
	@idEmitenteInf int,
	@idProdutoInf int = 0,
	@idProdutoClassificacaoInf int = 0,
	@dataInf datetime = null
)
RETURNS 
@Resultado TABLE 
(
		idProduto int,
		idProdutoClassificacao int NULL,
		dscProdutoClasse varchar(500),							
		valor decimal(18,4),
		origemCusto varchar(50),
		idNotaFiscal int NULL,
		custoContabil decimal(18,4)
)
AS
BEGIN
	declare @idEmitente int = @idEmitenteInf;
	declare @idProduto int = 0;
	declare @idProdutoClassificacao int = 0;
	declare @dataAtual datetime = @dataInf;
	declare @idnConsiderarCustoMedio bit = (select coalesce(valor, 'false') from ConfiguracoesValorParametro('idnConsiderarCustoMedioComoCustoProduto'))
	
	if (@idProdutoClassificacaoInf > 0)
		SET @idProdutoClassificacao = @idProdutoClassificacaoInf;
	
	if (@idProdutoInf > 0)
		SET @idProduto = @idProdutoInf;
	
	if (@dataAtual is null)
		SET @dataAtual = (SELECT GETDATE());

	declare @idnPuxarSempreUltimoPreco bit = 0;

	SET @idnPuxarSempreUltimoPreco = (select coalesce(valor, 'false') from ConfiguracoesValorParametro('idnSemprePuxarUltimaCusto'))

	if (@idnPuxarSempreUltimoPreco = 1)
		SET @idEmitente = 0;
	
	declare @idnConsiderarCustoProdutoSeMaisAtual bit = (select coalesce(valor, 'false') from ConfiguracoesValorParametro('idnSempreConsiderPrecoECustoDoProdutoSeMaisAtual'))
	
	if (@idProdutoClassificacao > 0)
	BEGIN
		INSERT INTO @Resultado
		select TOP 1
		pcu.idProduto, pcu.idProdutoClassificacao, 
		(case when pcu.idProdutoClassificacao is not null then pr.descricao + ' - ' + coalesce(pc.descricao, '') else pr.descricao end) as dscProdutoClasse,
		(case when @idnConsiderarCustoMedio = 1 then pcu.custoMedio else pcu.precoCusto end), cast('CUSTO' as varchar(50)), pcu.idNotaFiscal, coalesce(pcu.custoContabil, 0)
		from ProdutoCusto pcu
		inner join produto pr on pr.id = pcu.idProduto
		left join ProdutoClassificacao pc on pc.id = pcu.idProdutoClassificacao
		where (pcu.dataVigencia <= @dataAtual)
		and ((pcu.idFilial = @idEmitente) or (@idEmitente = 0))
		and (pcu.idProduto = @idProduto)
		and ((pcu.idProdutoClassificacao = @idProdutoClassificacao)
		or ((@idnConsiderarCustoProdutoSeMaisAtual = 1) and (pcu.idProdutoClassificacao = @idProdutoClassificacao or pcu.idProdutoClassificacao is null)))
		order by pcu.dataVigencia desc
		
		declare @totalClasse int = (select COUNT(*) from @Resultado)
		if (@totalClasse = 0)
		BEGIN
			INSERT INTO @Resultado
			select TOP 1
			pcu.idProduto, pcu.idProdutoClassificacao, 
			(case when pcu.idProdutoClassificacao is not null then pr.descricao + ' - ' + coalesce(pc.descricao, '') else pr.descricao end) as dscProdutoClasse,
			(case when @idnConsiderarCustoMedio = 1 then pcu.custoMedio else pcu.precoCusto end), cast('CUSTO' as varchar(50)), pcu.idNotaFiscal, coalesce(pcu.custoContabil, 0)
			from ProdutoCusto pcu
			inner join produto pr on pr.id = pcu.idProduto
			left join ProdutoClassificacao pc on pc.id = pcu.idProdutoClassificacao
			where (pcu.dataVigencia <= @dataAtual)
			and ((pcu.idFilial = @idEmitente) or (@idEmitente = 0))
			and (pcu.idProduto = @idProduto)
			and (pcu.idProdutoClassificacao is null)
			order by pcu.dataVigencia desc	
		END
	END
	ELSE
	BEGIN
		INSERT INTO @Resultado
		select TOP 1
		pcu.idProduto, pcu.idProdutoClassificacao, 
		(case when pcu.idProdutoClassificacao is not null then pr.descricao + ' - ' + coalesce(pc.descricao, '') else pr.descricao end) as dscProdutoClasse,
		(case when @idnConsiderarCustoMedio = 1 then pcu.custoMedio else pcu.precoCusto end), cast('CUSTO' as varchar(50)), pcu.idNotaFiscal, coalesce(pcu.custoContabil, 0)
		from ProdutoCusto pcu
		inner join produto pr on pr.id = pcu.idProduto
		left join ProdutoClassificacao pc on pc.id = pcu.idProdutoClassificacao
		where (pcu.dataVigencia <= @dataAtual)
		and ((pcu.idFilial = @idEmitente) or (@idEmitente = 0))
		and (pcu.idProduto = @idProduto)
		and (pcu.idProdutoClassificacao is null)
		order by pcu.dataVigencia desc	
	END
	
	declare @totalRegistros int
	--declare @descricaoSistema varchar(100)
	SET @totalRegistros = (select count(*) from @Resultado)
	--SET @descricaoSistema = (select top 1 descricao from Menu where idnPadrao = 1)
	
	if (@totalRegistros = 0) --or (@descricaoSistema = 'NFE'))
	BEGIN
	--Se n?o tem um custo definido, obtem o pre?o de entrada no cadastro do produto
		--delete from @Resultado
		if (@idProdutoClassificacao > 0)
		BEGIN
		--Se foi informado classifica??o, obtem os dados da classifica??o
			INSERT INTO @Resultado
				select pc.idProduto, pc.id,
					pr.descricao + ' - ' + coalesce(pc.descricao, '') as dscProdutoClasse,
					(case when pc.precoEntrada > 0 then pc.precoEntrada else pr.precoEntrada end) as precoCusto,
					cast('CUSTOPADRAO' as varchar(50)), null, 0
				from ProdutoClassificacao pc
				inner join Produto pr on pr.id = pc.idProduto
				where (pc.id = @idProdutoClassificacao)
		END
		ELSE
		BEGIN
		--Se uma classifica??o n?o foi informada, obtem os dados do cadastro do produto
			INSERT INTO @Resultado
				select pr.id, null,
					pr.descricao,
					pr.precoEntrada,
					cast('CUSTOPADRAO' as varchar(50)), null, 0
				from Produto pr			
				where (pr.id = @idProduto)		
		END
					
	END
	
	RETURN 
END
GO
-- =============================================
-- Author:		Name
-- Create date: 
-- Description:	
-- =============================================
ALTER FUNCTION [dbo].[PrecoProduto]
(
	@idEmitenteInf int,
	@idProdutoInf int = 0,
	@idProdutoClassificacaoInf int = 0,
	@dataInf datetime = null
)
RETURNS 
@Resultado TABLE 
(
		idProduto int,
		idProdutoClassificacao int NULL,	
		dscProdutoClasse varchar(500),							
		valor decimal(28,10),
		idnOferta bit,
		valorMinimo decimal(28,10)
)
AS
BEGIN
	
	declare @idEmitente int = @idEmitenteInf;
	declare @idProduto int = 0;
	declare @idProdutoClassificacao int = 0;
	declare @dataAtual datetime = @dataInf;
	
	declare @idnPuxarSempreUltimoPreco bit = 0;

	SET @idnPuxarSempreUltimoPreco = (select coalesce(valor, 'false') from ConfiguracoesValorParametro('idnSemprePuxarUltimoPreco'))

	if (@idnPuxarSempreUltimoPreco = 1)
		SET @idEmitente = 0;

	declare @idnConsiderarPrecoProdutoSeMaisAtual bit = (select coalesce(valor, 'false') from ConfiguracoesValorParametro('idnSempreConsiderPrecoECustoDoProdutoSeMaisAtual'))

	if (@dataAtual is null)
		SET @dataAtual = (SELECT GETDATE());
	
	if (@idProdutoClassificacaoInf > 0)
		SET @idProdutoClassificacao = @idProdutoClassificacaoInf;
	
	if (@idProdutoInf > 0)
		SET @idProduto = @idProdutoInf;
	
	if (@idProdutoClassificacao > 0)
	BEGIN
		INSERT INTO @Resultado
		select TOP 1
		pcu.idProduto, pcu.idProdutoClassificacao, 
		(case when pcu.idProdutoClassificacao is not null then pr.descricao + ' - ' + coalesce(pc.descricao, '') else pr.descricao end) as dscProdutoClasse,
		pcu.preco, COALESCE(pcu.idnOferta, 0), COALESCE(pcu.precoMinimo, 0)
		from ProdutoPreco pcu
		inner join produto pr on pr.id = pcu.idProduto
		left join ProdutoClassificacao pc on pc.id = pcu.idProdutoClassificacao
		where (pcu.dataVigencia <= @dataAtual)
		and ((pcu.idFilial = @idEmitente) or (@idEmitente = 0))
		and (pcu.idProduto = @idProduto)
		and ((pcu.idProdutoClassificacao = @idProdutoClassificacao)
		or ((@idnConsiderarPrecoProdutoSeMaisAtual = 1) and (pcu.idProdutoClassificacao = @idProdutoClassificacao or pcu.idProdutoClassificacao is null)))
		order by pcu.dataVigencia desc
		
		declare @totalClasse int = (select COUNT(*) from @Resultado)
		if (@totalClasse = 0)
		BEGIN
			INSERT INTO @Resultado
			select TOP 1
			pcu.idProduto, pcu.idProdutoClassificacao, 
			(case when pcu.idProdutoClassificacao is not null then pr.descricao + ' - ' + coalesce(pc.descricao, '') else pr.descricao end) as dscProdutoClasse,
			pcu.preco, COALESCE(pcu.idnOferta, 0), COALESCE(pcu.precoMinimo, 0)
			from ProdutoPreco pcu
			inner join produto pr on pr.id = pcu.idProduto
			left join ProdutoClassificacao pc on pc.id = pcu.idProdutoClassificacao
			where (pcu.dataVigencia <= @dataAtual)
			and ((pcu.idFilial = @idEmitente) or (@idEmitente = 0))
			and (pcu.idProduto = @idProduto)
			and (pcu.idProdutoClassificacao is null)
			order by pcu.dataVigencia desc
		END
	END
	ELSE
	BEGIN
		INSERT INTO @Resultado
		select TOP 1
		pcu.idProduto, pcu.idProdutoClassificacao, 
		(case when pcu.idProdutoClassificacao is not null then pr.descricao + ' - ' + coalesce(pc.descricao, '') else pr.descricao end) as dscProdutoClasse,
		pcu.preco, COALESCE(pcu.idnOferta, 0), COALESCE(pcu.precoMinimo, 0)
		from ProdutoPreco pcu
		inner join produto pr on pr.id = pcu.idProduto
		left join ProdutoClassificacao pc on pc.id = pcu.idProdutoClassificacao
		where (pcu.dataVigencia <= @dataAtual)
		and ((pcu.idFilial = @idEmitente) or (@idEmitente = 0))
		and (pcu.idProduto = @idProduto)
		and (pcu.idProdutoClassificacao is null)
		order by pcu.dataVigencia desc
	END
	
	declare @totalRegistros int
	--declare @descricaoSistema varchar(100)
	SET @totalRegistros = (select count(*) from @Resultado)
	--SET @descricaoSistema = (select top 1 descricao from Menu where idnPadrao = 1)
	
	if (@totalRegistros = 0) --or (@descricaoSistema = 'NFE'))
	BEGIN
	--Se nao tem um custo definido, obtem o preco de venda no cadastro do produto
	    --delete from @Resultado
		if (@idProdutoClassificacao > 0)
		BEGIN
		--Se foi informado classificacao, obtem os dados da classificacao
			INSERT INTO @Resultado
				select pc.idProduto, pc.id,
				pr.descricao + ' - ' + coalesce(pc.descricao, '') as dscProdutoClasse,
				(case when pc.vuncom > 0 then pc.vuncom else pr.vuncom end) as preco, 0, 0
				from ProdutoClassificacao pc
				inner join Produto pr on pr.id = pc.idProduto
				where (pc.id = @idProdutoClassificacao)
		END
		ELSE
		BEGIN
		--Se uma classificacaoo nao foi informada, obtem os dados do cadastro do produto
			INSERT INTO @Resultado
				select pr.id, null,
				pr.descricao,
				pr.vuncom, 0, 0
				from Produto pr			
				where (pr.id = @idProduto)		
		END
					
	END
	
	RETURN 
END
GO
-- =============================================
-- Author:		Name
-- Create date: 
-- Description:	
-- =============================================
ALTER FUNCTION [dbo].[CustoProduto] 
(
	@idEmitenteInf int,
	@idProdutoInf int = 0,
	@idProdutoClassificacaoInf int = 0
)
RETURNS 
@Resultado TABLE 
(
		idProduto int,
		idProdutoClassificacao int NULL,
		dscProdutoClasse varchar(500),							
		valor decimal(18,4),
		origemCusto varchar(50)
)
AS
BEGIN
	declare @idEmitente int = @idEmitenteInf;
	declare @idProduto int = 0;
	declare @idProdutoClassificacao int = 0;
	declare @dataAtual datetime = (SELECT GETDATE());
	declare @idnConsiderarCustoMedio bit = (select coalesce(valor, 'false') from ConfiguracoesValorParametro('idnConsiderarCustoMedioComoCustoProduto'))
	
	if (@idProdutoClassificacaoInf > 0)
		SET @idProdutoClassificacao = @idProdutoClassificacaoInf;
	
	if (@idProdutoInf > 0)
		SET @idProduto = @idProdutoInf;

	declare @idnPuxarSempreUltimoPreco bit = 0;

	SET @idnPuxarSempreUltimoPreco = (select coalesce(valor, 'false') from ConfiguracoesValorParametro('idnSemprePuxarUltimaCusto'))

	if (@idnPuxarSempreUltimoPreco = 1)
		SET @idEmitente = 0;
	
	declare @idnConsiderarCustoProdutoSeMaisAtual bit = (select coalesce(valor, 'false') from ConfiguracoesValorParametro('idnSempreConsiderPrecoECustoDoProdutoSeMaisAtual'))
	
	if (@idProdutoClassificacao > 0)
	BEGIN
		INSERT INTO @Resultado
		select TOP 1
		pcu.idProduto, pcu.idProdutoClassificacao, 
		(case when pcu.idProdutoClassificacao is not null then pr.descricao + ' - ' + coalesce(pc.descricao, '') else pr.descricao end) as dscProdutoClasse,
		(case when @idnConsiderarCustoMedio = 1 then pcu.custoMedio else pcu.precoCusto end), cast('CUSTO' as varchar(50))
		from ProdutoCusto pcu
		inner join produto pr on pr.id = pcu.idProduto
		left join ProdutoClassificacao pc on pc.id = pcu.idProdutoClassificacao
		where (pcu.dataVigencia <= @dataAtual)
		and ((pcu.idFilial = @idEmitente) or (@idEmitente = 0))
		and (pcu.idProduto = @idProduto)
		and ((pcu.idProdutoClassificacao = @idProdutoClassificacao)
		or ((@idnConsiderarCustoProdutoSeMaisAtual = 1) and (pcu.idProdutoClassificacao = @idProdutoClassificacao or pcu.idProdutoClassificacao is null)))
		order by pcu.dataVigencia desc
		
		declare @totalClasse int = (select COUNT(*) from @Resultado)
		if (@totalClasse = 0)
		BEGIN
			INSERT INTO @Resultado
			select TOP 1
			pcu.idProduto, pcu.idProdutoClassificacao, 
			(case when pcu.idProdutoClassificacao is not null then pr.descricao + ' - ' + coalesce(pc.descricao, '') else pr.descricao end) as dscProdutoClasse,
			(case when @idnConsiderarCustoMedio = 1 then pcu.custoMedio else pcu.precoCusto end), cast('CUSTO' as varchar(50))
			from ProdutoCusto pcu
			inner join produto pr on pr.id = pcu.idProduto
			left join ProdutoClassificacao pc on pc.id = pcu.idProdutoClassificacao
			where (pcu.dataVigencia <= @dataAtual)
			and ((pcu.idFilial = @idEmitente) or (@idEmitente = 0))
			and (pcu.idProduto = @idProduto)
			and (pcu.idProdutoClassificacao is null)
			order by pcu.dataVigencia desc	
		END
	END
	ELSE
	BEGIN
		INSERT INTO @Resultado
		select TOP 1
		pcu.idProduto, pcu.idProdutoClassificacao, 
		(case when pcu.idProdutoClassificacao is not null then pr.descricao + ' - ' + coalesce(pc.descricao, '') else pr.descricao end) as dscProdutoClasse,
		(case when @idnConsiderarCustoMedio = 1 then pcu.custoMedio else pcu.precoCusto end), cast('CUSTO' as varchar(50))
		from ProdutoCusto pcu
		inner join produto pr on pr.id = pcu.idProduto
		left join ProdutoClassificacao pc on pc.id = pcu.idProdutoClassificacao
		where (pcu.dataVigencia <= @dataAtual)
		and ((pcu.idFilial = @idEmitente) or (@idEmitente = 0))
		and (pcu.idProduto = @idProduto)
		and (pcu.idProdutoClassificacao is null)
		order by pcu.dataVigencia desc	
	END
	
	declare @totalRegistros int
	--declare @descricaoSistema varchar(100)
	
	SET @totalRegistros = (select count(*) from @Resultado)
	--SET @descricaoSistema = (select top 1 descricao from Menu where idnPadrao = 1)
	
	
	if (@totalRegistros = 0) --or (@descricaoSistema = 'NFE'))
	BEGIN
	--Se n?o tem um custo definido, obtem o pre?o de entrada no cadastro do produto
		--delete from @Resultado
		if (@idProdutoClassificacao > 0)
		BEGIN
		--Se foi informado classifica??o, obtem os dados da classifica??o
			INSERT INTO @Resultado
				select pc.idProduto, pc.id,
					pr.descricao + ' - ' + coalesce(pc.descricao, '') as dscProdutoClasse,
					(case when pc.precoEntrada > 0 then pc.precoEntrada else pr.precoEntrada end) as precoCusto,
					cast('CUSTOPADRAO' as varchar(50))
				from ProdutoClassificacao pc
				inner join Produto pr on pr.id = pc.idProduto
				where (pc.id = @idProdutoClassificacao)
		END
		ELSE
		BEGIN
		--Se uma classifica??o n?o foi informada, obtem os dados do cadastro do produto
			INSERT INTO @Resultado
				select pr.id, null,
					pr.descricao,
					pr.precoEntrada,
					cast('CUSTOPADRAO' as varchar(50))
				from Produto pr			
				where (pr.id = @idProduto)		
		END
					
	END
	
	RETURN 
END
GO
CREATE FUNCTION [dbo].[ConvertArrendamentoABNT]
(
	@Valor NUMERIC(38, 16)
)
RETURNS 
@Resultado TABLE 
(
	ValorConvertido NUMERIC(38, 16)
)
AS
BEGIN
	
	DECLARE
        @Parte_Inteira INT = ROUND(@Valor, 0, 1),
        @Parte_Decimal NUMERIC(38, 16) = @Valor - ROUND(@Valor, 0, 1),
        @Nova_Parte_Decimal NUMERIC(38, 16),
        @SegundoDecimal INT,
        @DoisPrimeirosDecimais AS NUMERIC(18, 2),
        @RestanteDosDecimais AS NUMERIC(38, 16)
 
 
    SELECT 
        @SegundoDecimal = SUBSTRING(CAST(@Parte_Decimal AS VARCHAR(40)), 4, 1),
        @DoisPrimeirosDecimais = '0.' + SUBSTRING(CAST(@Parte_Decimal AS VARCHAR(40)), 3, 2),
        @RestanteDosDecimais = '0.' + SUBSTRING(CAST(@Parte_Decimal AS VARCHAR(40)), 5, 16)
    
    
    SELECT
        @Nova_Parte_Decimal = (CASE
            WHEN @RestanteDosDecimais > 0.5 THEN @DoisPrimeirosDecimais + 0.01
            WHEN @RestanteDosDecimais < 0.5 THEN @DoisPrimeirosDecimais
            ELSE @DoisPrimeirosDecimais + IIF(@SegundoDecimal % 2 = 0, 0.00, 0.01)
        END)

	INSERT INTO @Resultado
	SELECT (@Parte_Inteira + @Nova_Parte_Decimal)
	
	RETURN 
END
GO
UPDATE MenuItens set ordem = 3 where id = 26
GO
UPDATE EstoqueConta SET idnAtualizarEstoqueSelecao = 1 WHERE id = 1
GO
INSERT INTO [dbo].[configuracaoNovo]([nomeParametro],[descricaoSimplificada],[descricaoDetalhada],[tipoValor],[valor],[grupo],[subgrupo],[tamanhoValorMaximo],[idnParametroMultilinhas],[idnParametroRadio],[idnParametroSelecaoPasta],[idnPermiteAlteracaoApenasPorAdmins],[idnCampoSenha],[tabelaSelecao],[filtroSelecao],[validacaoRegularExpression],[idnPermiteSelecaoMultiplaOpcoes]) VALUES ('pesoMinimoVolumesNotaFiscal', 'Peso mínimo dos Volumes na Nota Fiscal', 'Informe o Peso mínimo dos Volumes, para os casos em que é necessário um valor mínimo exigido, e a soma dos pesos dos produtos não atingir este valor. Desta forma o Peso Bruto e Líquido, terão este valor atribuído nos dados dos Volumes da nota fiscal.', 'decimal', 0, 'NFe/Movimento', 'Configurações da NFe',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 ('idnEnviarEmailCTeRemetente', 'Enviar email para o Remetente', 'Selecione esta opção quando desejar que o E-mail seja enviado para o Remetente do CTe, além do Tomador do Serviço.', 'bool', 'False', 'Email', '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 ('idnEnviarEmailCTeDestinatario', 'Enviar email para o Destinatário', 'Selecione esta opção quando desejar que o E-mail seja enviado para o Destinatário do CTe, além do Tomador do Serviço.', 'bool', 'False', 'Email', '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 ('idnObrigarInformacaoParceiroFaturaAvista', 'Exigir informar o Parceiro no Lançamento de Recebimentos/Pagamentos', 'Selecione esta opção quando desejar que seja obrigatório informar o Parceiro nas Faturas inseridas pela tela de Lançamento de Recebimentos/Pagamentos.', 'bool', 'False', 'Geral', 'Configurações Gerais',null,0,0,0,1,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 ('idnIgnorarPesoProdutosNotaFiscal', 'Ignorar o Peso dos Produtos nos dados de Volumes da Nota Fiscal', 'Selecione esta opção quando desejar que o Peso definido no cadastro dos Produtos seja ignorado na emissão da nota fiscal, ou seja, o peso dos produtos não será incluído nos dados dos volumes do grupo de Transporte.', 'bool', 'False', 'NFe/Movimento', 'Configurações da NFe',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 ('idnDesabilitarEnvioEmailNFeDestinatario', 'Desabilitar o envio de Email para o Destinatário (enviar apenas para os Emails Adicionais)', 'Selecione esta opção quando NÃO quiser enviar o e-mail do XML e Danfe para o Destinatário, e enviar apenas para os Emails adicionais configurados, quando houver.', 'bool', 'False', 'Email', 'NFe',null,0,0,0,0,0,null,null,null,0)

IF ((select LOWER(valor) from configuracaoNovo where nomeParametro = 'idnObrigarInformacaoVendedor') = 'true')
BEGIN
	UPDATE operacao set idnExigirInformarVendedorVenda = 1 where idnCompraVenda = 1
END
GO
IF (NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_estoque_idEmitente_idProduto_idContaEstoque' AND object_id = OBJECT_ID('[dbo].[estoque]')))
BEGIN
	CREATE NONCLUSTERED INDEX [IX_estoque_idEmitente_idProduto_idContaEstoque]
	ON [dbo].[estoque] ([idEmitente],[idProduto],[idContaEstoqueConsulta])
	INCLUDE ([qtd],[status],[dataUltimaAtualizacao],[idProdutoClassificacao],[precoCusto],[precoVenda],[idnPrecoOferta],[precoVendaMinimo],[precoCustoLetras])
END
GO
INSERT INTO VERSAO(VERSAO, VERSAOATUALIZACAO, DATAATUALIZACAO, REVISAO) VALUES(534, 792, GETDATE(),1);