declare @versao varchar(10); set @versao = '3.10.0'; if(exists(select * from parametroglobal)) update parametroglobal set versaobase = @versao; else insert into parametroglobal (versaobase) values(@versao); GO /* Almoxarifado */ ALTER TABLE Almoxarifado ALTER COLUMN Codigo varchar(10) NOT NULL; GO /* Balanca */ CREATE TABLE dbo.Balanca ( AutoId int IDENTITY NOT NULL, EmpresaBalanca int NOT NULL, CodigoBalanca varchar(5) NOT NULL, DescricaoBalanca varchar(25) NOT NULL, PortaEntrada smallint NOT NULL, SettingsBitsPorSegundoIn varchar(6) NOT NULL, SettingsBitsDeDadosIn varchar(1) NOT NULL, SettingsBitsDeParadaIn varchar(3) NOT NULL, SettingsParidadeIn varchar(1) NOT NULL, SettingsControleDeFluxoIn varchar(1) NOT NULL, PortaSaida smallint NOT NULL, SettingBitsPorSegundoOut varchar(6) NOT NULL, SettingsBitsDeDadosOut varchar(1) NOT NULL, SettingsBitsDeParadaOut varchar(3) NOT NULL, SettingsParidadeOut varchar(1) NOT NULL, SettingsControleDeFluxoOut varchar(1) NOT NULL, ProtocoloBalanca varchar(20) NOT NULL, TimeOut int NOT NULL, UnidadeBalanca int NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT Balanca_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1875_1974 ON Balanca(EmpresaBalanca,CodigoBalanca); GO CREATE INDEX I1875_TelosUpDt ON Balanca(TelosUpDt); GO /* BemPatrimonial */ ALTER TABLE BemPatrimonial ADD ItemNFE int; GO /* CampoNotaFiscal */ INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('ARCPC2','Alíquota da Retenção da CS/PIS/COFINS'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('AISS2','Alíquota de ISS'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('CFA2','Classificação Fiscal - A'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('CFB2','Classificação Fiscal - B'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('CFC2','Classificação Fiscal - C'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('CFD2','Classificação Fiscal - D'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('COT3','Cotista'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('CPFM2','CPF Motorista'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('EC5','Endereço de Cobrança'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('MOT3','Motorista'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('VRCPC2','Valor da Retenção da CS/PIS/COFINS'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('VISS2','Valor do ISS'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('VS2','Valor do Seguro'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('VIP2','Variantes do Produto'); GO --mudanca para filtro empresa contabil no esqueleto de relatorio contabil - para versao 3.10 --isso tem que ser feito antes da região "Associations" --TODO tem algo estranho nessa query /* EsqueletoRelatorioContabil */ ALTER TABLE EsqueletoRelatorioContabil DROP CONSTRAINT A1836_10148; GO alter table EsqueletoRelatorioContabil add empresavelha int; GO update EsqueletoRelatorioContabil set empresavelha=empresacadastrante; GO update EsqueletoRelatorioContabil set empresacadastrante = (select ec.autoid from empresacontabil ec inner join empresa e on e.empresacontabil = ec.autoid where e.autoid = empresavelha) GO alter table EsqueletoRelatorioContabil drop column empresavelha; GO /* CampoRelatorioContabil */ --select * from CampoRelatorioContabil ALTER TABLE CampoRelatorioContabil ADD FiltroEmpresaContabil varchar(10); GO update CampoRelatorioContabil set filtroempresacontabil = (select ec.codigo from empresacontabil ec inner join EsqueletoRelatorioContabil erc on erc.empresacadastrante = ec.autoid where erc.autoid = CampoRelatorioContabil.Relatorio) GO ALTER TABLE CampoRelatorioContabil alter column FiltroEmpresaContabil varchar(10) NOT NULL; GO /* Cliente */ ALTER TABLE Cliente ALTER COLUMN Preferencial bit; GO ALTER TABLE Cliente ALTER COLUMN VendaBloqueada bit; GO ALTER TABLE Cliente ALTER COLUMN ICMCliente bit; GO ALTER TABLE Cliente ALTER COLUMN IPICliente bit; GO ALTER TABLE Cliente ALTER COLUMN ProtestarTitulos bit; GO ALTER TABLE Cliente ALTER COLUMN CobrarJuros bit; GO ALTER TABLE Cliente ALTER COLUMN CobrancaDuvidosa bit; GO /* ColetaPrecoMaterial */ EXEC sp_rename 'ColetaPrecoMaterial.ItemPedido', 'ItemPedido_OBSOLETO'; GO ALTER TABLE ColetaPrecoMaterial ALTER COLUMN ItemPedido_OBSOLETO int; GO /* ColetaPrecoServico */ EXEC sp_rename 'ColetaPrecoServico.ItemPedido', 'ItemPedido_OBSOLETO'; GO ALTER TABLE ColetaPrecoServico ALTER COLUMN ItemPedido_OBSOLETO int; GO /* ComposicaoCustoCarvao */ update ComposicaoCustoCarvao set DiscriminaNFE=0 where DiscriminaNFE is null GO ALTER TABLE ComposicaoCustoCarvao ALTER COLUMN DiscriminaNFE bit NOT NULL; GO ALTER TABLE ComposicaoCustoCarvao ADD ParticipaBaseCalculoImpostos bit; GO UPDATE ComposicaoCustoCarvao SET ParticipaBaseCalculoImpostos = 0; GO ALTER TABLE ComposicaoCustoCarvao ALTER COLUMN ParticipaBaseCalculoImpostos bit NOT NULL; GO /* ConfiguracaoCarvao */ ALTER TABLE ConfiguracaoCarvao ADD ControleMetragemRestrito bit; GO UPDATE ConfiguracaoCarvao SET ControleMetragemRestrito = 0; GO ALTER TABLE ConfiguracaoCarvao ALTER COLUMN ControleMetragemRestrito bit NOT NULL; GO ALTER TABLE ConfiguracaoCarvao ADD AutoReferenciaPrecoDensidade bit; GO UPDATE ConfiguracaoCarvao SET AutoReferenciaPrecoDensidade = 0; GO ALTER TABLE ConfiguracaoCarvao ALTER COLUMN AutoReferenciaPrecoDensidade bit NOT NULL; GO /* ConfiguracaoNotasFiscais */ ALTER TABLE ConfiguracaoNotasFiscais ALTER COLUMN TipoOperacaoVenda int; GO ALTER TABLE ConfiguracaoNotasFiscais ADD RetencaoCS_PIS_COFINS int --NOT NULL; GO ALTER TABLE ConfiguracaoNotasFiscais ADD ImprimeCondPgto bit; GO UPDATE ConfiguracaoNotasFiscais SET ImprimeCondPgto = 0; GO ALTER TABLE ConfiguracaoNotasFiscais ALTER COLUMN ImprimeCondPgto bit NOT NULL; GO --ALTER TABLE ConfiguracaoNotasFiscais -- add ImprimeCondPgto bit NOT NULL; --GO ALTER TABLE ConfiguracaoNotasFiscais ADD ImpostoSobreServico int --NOT NULL; GO /* ConfiguracaoProducao */ ALTER TABLE ConfiguracaoProducao ADD NotaPesoFornecedorRequired bit; GO UPDATE ConfiguracaoProducao SET NotaPesoFornecedorRequired = 0; GO ALTER TABLE ConfiguracaoProducao ALTER COLUMN NotaPesoFornecedorRequired bit NOT NULL; GO /* ContaAgenteTipoRecebimento */ --select * from ContaAgenteTipoRecebimento DROP INDEX ContaAgenteTipoRecebimento.I1106_1102; GO ALTER TABLE ContaAgenteTipoRecebimento add FiltroEmpresaContabil varchar(10); GO update ContaAgenteTipoRecebimento set FiltroEmpresaContabil=FiltroEmpresa GO ALTER TABLE ContaAgenteTipoRecebimento drop column FiltroEmpresa GO ALTER TABLE ContaAgenteTipoRecebimento alter column FiltroEmpresaContabil varchar(10) not null; GO ALTER TABLE ContaAgenteTipoRecebimento ADD FiltroEmpresaNormal varchar(10); GO --nota: esse max é meio roubado, mas precisa porque 2 empresas podem ser a mesma empresa contábil update ContaAgenteTipoRecebimento set FiltroEmpresaNormal = ( select max(e.codigo) from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.codigo = ContaAgenteTipoRecebimento.filtroempresacontabil ) GO ALTER TABLE ContaAgenteTipoRecebimento alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO CREATE UNIQUE INDEX I1106_1102 ON ContaAgenteTipoRecebimento(FiltroEmpresaNormal,CodigoConta,CodigoAgente,CodigoTipoRecebimento); GO /* ContaCaixa */ ALTER TABLE ContaCaixa ADD Moeda int; GO /* ContaCliente */ --select * from contacliente DROP INDEX ContaCliente.I1105_1100; GO EXEC sp_rename 'ContaCliente.FiltroEmpresa', 'FiltroEmpresaContabil'; GO ALTER TABLE ContaCliente ADD FiltroEmpresaNormal varchar(10); GO --nota: esse max é meio roubado, mas precisa porque 2 empresas podem ser a mesma empresa contábil update ContaCliente set FiltroEmpresaNormal = ( select max(e.codigo) from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.codigo = ContaCliente.filtroempresacontabil ) GO ALTER TABLE ContaCliente Alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO CREATE UNIQUE INDEX I1105_1100 ON ContaCliente(FiltroEmpresaNormal,CodigoConta,CodigoCliente,Adiantamento); GO /* ContaContabilTipoOperacao */ CREATE TABLE dbo.ContaContabilTipoOperacao ( AutoId int IDENTITY NOT NULL, ContaContabil int NOT NULL, TipoOperacao int NOT NULL, EmpresaClassificadora int NOT NULL, FiltroEmpresaNormal varchar(10) NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT ContaContabilTipoOperacao_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1873_1972 ON ContaContabilTipoOperacao(TipoOperacao,ContaContabil); GO CREATE INDEX I1873_TelosUpDt ON ContaContabilTipoOperacao(TelosUpDt); GO /* ContaCredor */ --select * from contacredor DROP INDEX ContaCredor.I1015_1007; GO EXEC sp_rename 'ContaCredor.FiltroEmpresa', 'FiltroEmpresaContabil'; GO ALTER TABLE ContaCredor ADD FiltroEmpresaNormal varchar(10); GO --nota: esse max é meio roubado, mas precisa porque 2 empresas podem ser a mesma empresa contábil update ContaCredor set FiltroEmpresaNormal = ( select max(e.codigo) from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.codigo = ContaCredor.filtroempresacontabil ) GO ALTER TABLE ContaCredor Alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO CREATE UNIQUE INDEX I1015_1007 ON ContaCredor(FiltroEmpresaNormal,CodigoCredor,CodigoConta,Adiantamento); GO /* ContaGrupoEmpresa */ DROP INDEX ContaGrupoEmpresa.I1721_1807; GO EXEC sp_rename 'ContaGrupoEmpresa.FiltroEmpresa', 'FiltroEmpresaContabil'; GO ALTER TABLE ContaGrupoEmpresa ALTER COLUMN FiltroEmpresaContabil varchar(10) NOT NULL; GO ALTER TABLE ContaGrupoEmpresa ADD FiltroEmpresaNormal varchar(10); GO --nota: esse max é meio roubado, mas precisa porque 2 empresas podem ser a mesma empresa contábil update ContaGrupoEmpresa set FiltroEmpresaNormal = ( select max(e.codigo) from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.codigo = ContaGrupoEmpresa.filtroempresacontabil ) GO ALTER TABLE ContaGrupoEmpresa Alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO CREATE UNIQUE INDEX I1721_1807 ON ContaGrupoEmpresa(FiltroEmpresaNormal,Grupo); GO ALTER TABLE ContaGrupoEmpresa ADD ContaContabilReceita int; GO ALTER TABLE ContaGrupoEmpresa ADD ContaContabilICMSReceita int; GO ALTER TABLE ContaGrupoEmpresa ADD HistoricoICMSReceita int; GO ALTER TABLE ContaGrupoEmpresa ADD ComplementoICMSReceita varchar(255); GO ALTER TABLE ContaGrupoEmpresa ADD ContaContabilIPIReceita int; GO ALTER TABLE ContaGrupoEmpresa ADD HistoricoIPIReceita int; GO ALTER TABLE ContaGrupoEmpresa ADD ComplementoIPIReceita varchar(255); GO /* ContaGrupoMaterialRM */ DROP INDEX ContaGrupoMaterialRM.I1203_1198; GO EXEC sp_rename 'ContaGrupoMaterialRM.FiltroEmpresa', 'FiltroEmpresaContabil'; GO ALTER TABLE ContaGrupoMaterialRM ALTER COLUMN FiltroEmpresaContabil varchar(10) NOT NULL; GO ALTER TABLE ContaGrupoMaterialRM ADD FiltroEmpresaNormal varchar(10); GO --nota: esse max é meio roubado, mas precisa porque 2 empresas podem ser a mesma empresa contábil update ContaGrupoMaterialRM set FiltroEmpresaNormal = ( select max(e.codigo) from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.codigo = ContaGrupoMaterialRM.filtroempresacontabil ) GO ALTER TABLE ContaGrupoMaterialRM Alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO CREATE UNIQUE INDEX I1203_1198 ON ContaGrupoMaterialRM(FiltroEmpresaNormal,Grupo,NaturezaApl,CentroResultadoRelacionado); GO /* ContaImposto */ --select * from contaimposto DROP INDEX ContaImposto.I1622_1682; GO ALTER TABLE ContaImposto ADD FiltroEmpresaNormal varchar(10); GO --nota: esse max é meio roubado, mas precisa porque 2 empresas podem ser a mesma empresa contábil update ContaImposto set FiltroEmpresaNormal = ( select max(e.codigo) from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.autoid = ContaImposto.empresaclassificante ) GO ALTER TABLE ContaImposto Alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO CREATE UNIQUE INDEX I1622_1682 ON ContaImposto(FiltroEmpresaNormal,CodigoImposto); GO /* ContaImpostoRetidoFonteEmpresa */ /* select * from ContaImpostoRetidoFonteEmpresa */ DROP INDEX ContaImpostoRetidoFonteEmpresa.I1018_1013; GO ALTER TABLE ContaImpostoRetidoFonteEmpresa ADD FiltroEmpresaNormal varchar(10); GO --nota: esse max é meio roubado, mas precisa porque 2 empresas podem ser a mesma empresa contábil update ContaImpostoRetidoFonteEmpresa set FiltroEmpresaNormal = ( select max(e.codigo) from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.autoid = ContaImpostoRetidoFonteEmpresa.empresaclassificante ) GO ALTER TABLE ContaImpostoRetidoFonteEmpresa Alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO CREATE UNIQUE INDEX I1018_1013 ON ContaImpostoRetidoFonteEmpresa(FiltroEmpresaNormal,Modulo,Imposto); GO /* ContaParametroFaturamento */ DROP INDEX ContaParametroFaturamento.I1627_1691; GO EXEC sp_rename 'ContaParametroFaturamento.FiltroEmpresa', 'FiltroEmpresaContabil'; GO ALTER TABLE ContaParametroFaturamento ALTER COLUMN FiltroEmpresaContabil varchar(10) NOT NULL; GO ALTER TABLE ContaParametroFaturamento ADD FiltroEmpresaNormal varchar(10); GO --nota: esse max é meio roubado, mas precisa porque 2 empresas podem ser a mesma empresa contábil update ContaParametroFaturamento set FiltroEmpresaNormal = ( select max(e.codigo) from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.codigo = ContaParametroFaturamento.filtroempresacontabil ) GO ALTER TABLE ContaParametroFaturamento Alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO CREATE UNIQUE INDEX I1627_1691 ON ContaParametroFaturamento(FiltroEmpresaNormal,Tipo); GO /* select * from ContaTipoCDEmpresa */ ALTER TABLE ContaTipoCDEmpresa ADD FiltroEmpresaNormal varchar(10); GO update ContaTipoCDEmpresa set FiltroEmpresaNormal = ( select e.codigo from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.autoid = ContaTipoCDEmpresa.empresaclassificante ) GO ALTER TABLE ContaTipoCDEmpresa alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO /* select * from ContaTipoDocumentoBancario */ ALTER TABLE ContaTipoDocumentoBancario ADD FiltroEmpresaContabil varchar(10); GO EXEC sp_rename 'ContaTipoDocumentoBancario.FiltroEmpresa', 'FiltroEmpresaNormal'; GO ALTER TABLE ContaTipoDocumentoBancario ALTER COLUMN FiltroEmpresaNormal varchar(10) NOT NULL; GO update ContaTipoDocumentoBancario set FiltroEmpresaContabil = ( select ec.codigo from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and e.codigo = ContaTipoDocumentoBancario.FiltroEmpresaNormal ) GO ALTER TABLE ContaTipoDocumentoBancario alter column FiltroEmpresaContabil varchar(10) NOT NULL; GO /* CreditoDebitoComplementarNFE */ ALTER TABLE CreditoDebitoComplementarNFE ADD ParticipaBaseCalculoImpostos bit; GO UPDATE CreditoDebitoComplementarNFE SET ParticipaBaseCalculoImpostos = 0; GO ALTER TABLE CreditoDebitoComplementarNFE ALTER COLUMN ParticipaBaseCalculoImpostos bit NOT NULL; GO /* CustoAdicionalCarvao */ update CustoAdicionalCarvao set DiscriminaBoletim=0 where DiscriminaBoletim is null GO ALTER TABLE CustoAdicionalCarvao ALTER COLUMN DiscriminaBoletim bit NOT NULL; GO update CustoAdicionalCarvao set DiscriminaNFE=0 where DiscriminaNFE is null GO ALTER TABLE CustoAdicionalCarvao ALTER COLUMN DiscriminaNFE bit NOT NULL; GO ALTER TABLE CustoAdicionalCarvao ADD ParticipaBaseCalculoImpostos bit; GO UPDATE CustoAdicionalCarvao SET ParticipaBaseCalculoImpostos = 0; GO ALTER TABLE CustoAdicionalCarvao ALTER COLUMN ParticipaBaseCalculoImpostos bit NOT NULL; GO /* Documento */ DROP INDEX Documento.I212_150; GO CREATE UNIQUE INDEX I212_150 ON Documento(FiltroEmpresa,CredorDocumento,TipoDocDocumento,NumeroDocumento,Serie); GO /* DocumentoBancos */ ALTER TABLE DocumentoBancos ADD SaldoValorMoedaEstrangeira money; GO ALTER TABLE DocumentoBancos ADD ValorMoedaEstrangeira money; GO /* DocumentoEstoqueProducao */ --select * from DocumentoEstoqueProducao where lotedocumento is null ALTER TABLE DocumentoEstoqueProducao ALTER COLUMN LoteDocumento int NOT NULL; GO /* DocumentoQualidade */ ALTER TABLE DocumentoQualidade ADD DocumentoWord text --NOT NULL; GO /* select * from EmpresaHistoricoCP */ DROP INDEX EmpresaHistoricoCP.I1416_1458; GO ALTER TABLE EmpresaHistoricoCP ADD FiltroEmpresaNormal varchar(10); GO update EmpresaHistoricoCP set FiltroEmpresaNormal = ( select max(e.codigo) from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and ec.autoid = EmpresaHistoricoCP.empresaparametrizada ) GO ALTER TABLE EmpresaHistoricoCP Alter column FiltroEmpresaNormal varchar(10) NOT NULL; GO CREATE UNIQUE INDEX I1416_1458 ON EmpresaHistoricoCP(FiltroEmpresaNormal,Historico,Tipo); GO /* select * from EmpresaTipoDocumentoBancario */ ALTER TABLE EmpresaTipoDocumentoBancario DROP CONSTRAINT A1130_5316; GO DROP INDEX EmpresaTipoDocumentoBancario.I1130_1126; GO ALTER TABLE EmpresaTipoDocumentoBancario ADD EmpresaParametrizada int; GO update EmpresaTipoDocumentoBancario set EmpresaParametrizada = ( select ec.autoid from empresa e inner join empresacontabil ec on e.empresacontabil = ec.autoid and e.autoid = EmpresaTipoDocumentoBancario.codigoempresa ) GO ALTER TABLE EmpresaTipoDocumentoBancario Alter column EmpresaParametrizada int NOT NULL; GO ALTER TABLE EmpresaTipoDocumentoBancario DROP COLUMN CodigoEmpresa; GO CREATE UNIQUE INDEX I1130_1126 ON EmpresaTipoDocumentoBancario(EmpresaParametrizada,TipoDoc); GO /* EmpresaContabil */ ALTER TABLE EmpresaContabil ADD LancamentoPrimeiraFormula bit; GO /* GrupoMateriais */ ALTER TABLE GrupoMateriais DROP CONSTRAINT A651_5756; GO ALTER TABLE GrupoMateriais DROP COLUMN ContaContabil_Obsoleto; GO /* InterfaceSistemas */ DROP INDEX InterfaceSistemas.I1101_1093; GO --TODO ALTER TABLE InterfaceSistemas ADD FiltroEmpresa varchar(10) --NOT NULL; GO CREATE UNIQUE INDEX I1101_1093 ON InterfaceSistemas(Sistema1,Sistema2,FiltroEmpresa); GO /* ItemNFSServico */ DROP INDEX ItemNFSServico.I1042_1053; GO /* ItemOrdemCompra */ DROP INDEX ItemOrdemCompra.I826_819; GO EXEC sp_rename 'ItemOrdemCompra.ItemPedido', 'ItemPedido_OBSOLETO'; GO ALTER TABLE ItemOrdemCompra ALTER COLUMN ItemPedido_OBSOLETO int; GO ALTER TABLE ItemOrdemCompra ADD Material int --NOT NULL; GO /* ItemServicoOrdemCompra */ DROP INDEX ItemServicoOrdemCompra.I1585_1641; GO EXEC sp_rename 'ItemServicoOrdemCompra.ItemPedido', 'ItemPedido_OBSOLETO'; GO ALTER TABLE ItemServicoOrdemCompra ALTER COLUMN ItemPedido_OBSOLETO int; GO ALTER TABLE ItemServicoOrdemCompra ADD Servico int --NOT NULL; GO --preencher o novo campo de material/servico no item de ordem de compra update itemordemcompra set material = (select material from itempedidocompra i where i.autoid = itemordemcompra.itempedido_obsoleto) GO update itemservicoordemcompra set servico = (select servico from itemservicopedidocompra i where i.autoid = itemservicoordemcompra.itempedido_obsoleto) GO ALTER TABLE ItemOrdemCompra Alter column Material int NOT NULL; GO ALTER TABLE ItemServicoOrdemCompra Alter column Servico int NOT NULL; GO /* Moeda */ ALTER TABLE Moeda ADD Estrangeira bit; GO UPDATE Moeda SET Estrangeira = 0; GO ALTER TABLE Moeda ALTER COLUMN Estrangeira bit NOT NULL; GO /* NotaFiscalEntrada */ ALTER TABLE NotaFiscalEntrada ADD ValorSeguro money; GO /* NotaFiscalFornecedor */ ALTER TABLE NotaFiscalFornecedor ADD PesoBruto int; GO ALTER TABLE NotaFiscalFornecedor ADD PesoLiquido int; GO ALTER TABLE NotaFiscalFornecedor ADD Tara int; GO ALTER TABLE NotaFiscalFornecedor ADD Frete money; GO /* NotaFiscalSaida */ ALTER TABLE NotaFiscalSaida ADD ValorSeguro money; GO /* OrdemCompra */ EXEC sp_rename 'OrdemCompra.PedidoCompraOrdenado', 'PedidoCompraOrdenado_OBSOLETO'; GO ALTER TABLE OrdemCompra ALTER COLUMN PedidoCompraOrdenado_OBSOLETO int; GO /* ParcelaCondicaoPagamento */ ALTER TABLE ParcelaCondicaoPagamento ALTER COLUMN Percentual numeric(12,8) NOT NULL; GO /* PreLancamentoContabilBC */ ALTER TABLE PreLancamentoContabilBC DROP CONSTRAINT A1545_8215; GO ALTER TABLE PreLancamentoContabilBC DROP COLUMN CentroLancamento; GO ALTER TABLE PreLancamentoContabilBC DROP COLUMN processado; GO /* PreLancamentoContabilCP */ ALTER TABLE PreLancamentoContabilCP DROP CONSTRAINT A1044_4725; GO ALTER TABLE PreLancamentoContabilCP DROP COLUMN CentroLancamento; GO ALTER TABLE PreLancamentoContabilCP DROP COLUMN processado; GO /* PreLancamentoContabilCR */ ALTER TABLE PreLancamentoContabilCR DROP CONSTRAINT A1546_8227; GO ALTER TABLE PreLancamentoContabilCR ADD EstornoOrigem int; GO ALTER TABLE PreLancamentoContabilCR DROP COLUMN CentroLancamento; GO ALTER TABLE PreLancamentoContabilCR DROP COLUMN processado; GO /* PreLancamentoContabilMT */ ALTER TABLE PreLancamentoContabilMT DROP CONSTRAINT A1547_8243; GO ALTER TABLE PreLancamentoContabilMT DROP COLUMN CentroLancamento; GO ALTER TABLE PreLancamentoContabilMT DROP COLUMN processado; GO /* PreLancamentoContabilNFE */ ALTER TABLE PreLancamentoContabilNFE DROP CONSTRAINT A1551_8280; GO ALTER TABLE PreLancamentoContabilNFE DROP COLUMN CentroLancamento; GO ALTER TABLE PreLancamentoContabilNFE DROP COLUMN processado; GO /* PreLancamentoContabilNFS */ ALTER TABLE PreLancamentoContabilNFS DROP CONSTRAINT A1571_8418; GO ALTER TABLE PreLancamentoContabilNFS DROP COLUMN CentroLancamento; GO ALTER TABLE PreLancamentoContabilNFS DROP COLUMN processado; GO /* PreLancamentoContabilRPA */ ALTER TABLE PreLancamentoContabilRPA DROP COLUMN processado; GO /* ReferenciaPreco */ ALTER TABLE ReferenciaPreco ADD DensidadeMinima numeric(7,3); GO ALTER TABLE ReferenciaPreco ADD DensidadeMaxima numeric(7,3); GO /* RelacaoItemPedidoColetaPreco */ CREATE TABLE dbo.RelacaoItemPedidoColetaPreco ( AutoId int IDENTITY NOT NULL, Coleta int NOT NULL, ItemPedido int NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT RelacaoItemPedidoColetaPreco_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1885_1977 ON RelacaoItemPedidoColetaPreco(Coleta,ItemPedido); GO CREATE INDEX I1885_TelosUpDt ON RelacaoItemPedidoColetaPreco(TelosUpDt); GO /* RelacaoItemPedidoServicoColetaPreco */ CREATE TABLE dbo.RelacaoItemPedidoServicoColetaPreco ( AutoId int IDENTITY NOT NULL, Coleta int NOT NULL, ItemPedido int NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT RelacaoItemPedidoServicoColetaPreco_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1887_1979 ON RelacaoItemPedidoServicoColetaPreco(Coleta,ItemPedido); GO CREATE INDEX I1887_TelosUpDt ON RelacaoItemPedidoServicoColetaPreco(TelosUpDt); GO --criar a nova relação entre item de pedido de compra e coleta de preco de material/serviço insert RelacaoItemPedidoColetaPreco (Coleta, ItemPedido) select autoid, itempedido_obsoleto from coletaprecomaterial GO insert RelacaoItemPedidoServicoColetaPreco (Coleta, ItemPedido) select autoid, itempedido_obsoleto from coletaprecoservico GO /* RelacaoItensPcOc */ CREATE TABLE dbo.RelacaoItensPcOc ( AutoId int IDENTITY NOT NULL, ItemPedido int NOT NULL, ItemOrdem int NOT NULL, Quantidade numeric(15,3) NOT NULL, QuantidadeCancelada numeric(15,3) NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT RelacaoItensPcOc_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1871_1968 ON RelacaoItensPcOc(ItemPedido,ItemOrdem); GO CREATE INDEX I1871_TelosUpDt ON RelacaoItensPcOc(TelosUpDt); GO /* RelacaoItensServicosPcOc */ CREATE TABLE dbo.RelacaoItensServicosPcOc ( AutoId int IDENTITY NOT NULL, ItemPedido int NOT NULL, ItemOrdem int NOT NULL, Quantidade numeric(15,3) NOT NULL, QuantidadeCancelada numeric(15,3) NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT RelacaoItensServicosPcOc_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1872_1969 ON RelacaoItensServicosPcOc(ItemPedido,ItemOrdem); GO CREATE INDEX I1872_TelosUpDt ON RelacaoItensServicosPcOc(TelosUpDt); GO --criar a nova relação entre item de pedido de compra e item de ordem de compra insert relacaoitenspcoc (ItemPedido, ItemOrdem, Quantidade, QuantidadeCancelada) select itempedido_obsoleto IPC, autoid IOC, quantidadeordenada, quantidadecancelada from itemordemcompra GO insert relacaoitensservicospcoc (ItemPedido, ItemOrdem, Quantidade, quantidadecancelada) select itempedido_obsoleto IPC, autoid IOC, quantidadeordenada, quantidadecancelada from itemservicoordemcompra GO /* ReplicaDadosFiscaisTicket */ ALTER TABLE ReplicaDadosFiscaisTicket ADD DensidadeSeca numeric(15,3); GO /* SerieNotaFiscal */ ALTER TABLE SerieNotaFiscal ADD ModeloImpressao int; GO /* TicketMP */ ALTER TABLE TicketMP ALTER COLUMN ObservacaoSaida text; GO ALTER TABLE TicketMP ADD ConstituiDevolucao bit; GO UPDATE TicketMP SET ConstituiDevolucao = 0; GO ALTER TABLE TicketMP ALTER COLUMN ConstituiDevolucao bit NOT NULL; GO ALTER TABLE TicketMP ADD ObsDevolucao text; GO /* TicketPA */ ALTER TABLE TicketPA ALTER COLUMN ObservacaoEntrada text; GO ALTER TABLE TicketPA ALTER COLUMN ObservacaoSaida text; GO /* TipoAlteracaoQuantidadeItensNF */ INSERT INTO TipoAlteracaoQuantidadeItensNF (Codigo,Nome) VALUES ('Q','Não sugere quantidade no item da NF de venda'); GO /* TipoDocumentoEstoque */ ALTER TABLE TipoDocumentoEstoque ADD NaoApresentaValorCtrlEstoque bit; GO /* TipoOperacaoNF */ ALTER TABLE TipoOperacaoNF ADD DestacaIPI varchar(1); GO update TipoOperacaoNF set DestacaIPI='N' where DestacaIPI is null GO ALTER TABLE TipoOperacaoNF Alter column DestacaIPI varchar(5) NOT NULL; GO /* ContaGrupoEmpresa */ ALTER TABLE ContaGrupoEmpresa ALTER COLUMN ContaContabil int; GO /* Orcamento */ ALTER TABLE Orcamento ADD MunicipioCliente int; GO ALTER TABLE Orcamento ADD ResponsavelFrete varchar(1); GO update orcamento set responsavelfrete='E' where responsavelfrete is null GO ALTER TABLE Orcamento alter column ResponsavelFrete varchar(1) NOT NULL; GO ALTER TABLE Orcamento ADD ValorFrete money; GO /* Pedido */ ALTER TABLE Pedido ADD ContatoCliente varchar(128); GO ALTER TABLE Pedido ADD ValorFrete money; GO /* Associations */ /* Balanca */ ALTER TABLE Balanca ADD CONSTRAINT A1875_10373 FOREIGN KEY (EmpresaBalanca) REFERENCES Empresa(AutoId); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10376 FOREIGN KEY (PortaEntrada) REFERENCES ValordePortaCOM(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10377 FOREIGN KEY (SettingsBitsPorSegundoIn) REFERENCES ValorBitsporSegundo(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10378 FOREIGN KEY (SettingsBitsDeDadosIn) REFERENCES ValorBitdeDados(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10379 FOREIGN KEY (SettingsBitsDeParadaIn) REFERENCES ValorBitdeParada(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10380 FOREIGN KEY (SettingsParidadeIn) REFERENCES ValorParidade(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10381 FOREIGN KEY (SettingsControleDeFluxoIn) REFERENCES ValorControleFluxo(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10382 FOREIGN KEY (PortaSaida) REFERENCES ValordePortaCOM(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10383 FOREIGN KEY (SettingBitsPorSegundoOut) REFERENCES ValorBitsporSegundo(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10384 FOREIGN KEY (SettingsBitsDeDadosOut) REFERENCES ValorBitdeDados(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10385 FOREIGN KEY (SettingsBitsDeParadaOut) REFERENCES ValorBitdeParada(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10386 FOREIGN KEY (SettingsParidadeOut) REFERENCES ValorParidade(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10388 FOREIGN KEY (SettingsControleDeFluxoOut) REFERENCES ValorControleFluxo(Codigo); GO ALTER TABLE Balanca ADD CONSTRAINT A1875_10391 FOREIGN KEY (UnidadeBalanca) REFERENCES Unidade(AutoID); GO /* BemPatrimonial */ ALTER TABLE BemPatrimonial ADD CONSTRAINT A1064_10350 FOREIGN KEY (ItemNFE) REFERENCES ItemNFEProduto(AutoID); GO /* ConfiguracaoNotasFiscais */ ALTER TABLE ConfiguracaoNotasFiscais ADD CONSTRAINT A1103_10343 FOREIGN KEY (RetencaoCS_PIS_COFINS) REFERENCES ImpostoNaFonte(AutoId); GO ALTER TABLE ConfiguracaoNotasFiscais ADD CONSTRAINT A1103_10458 FOREIGN KEY (ImpostoSobreServico) REFERENCES ImpostoNaFonte(AutoId); GO /* ContaCaixa */ ALTER TABLE ContaCaixa ADD CONSTRAINT A742_10412 FOREIGN KEY (Moeda) REFERENCES Moeda(AutoId); GO /* ContaContabilTipoOperacao */ ALTER TABLE ContaContabilTipoOperacao ADD CONSTRAINT A1873_10354 FOREIGN KEY (ContaContabil) REFERENCES Conta(AutoId); GO ALTER TABLE ContaContabilTipoOperacao ADD CONSTRAINT A1873_10355 FOREIGN KEY (TipoOperacao) REFERENCES TipoOperacaoNF(AutoId) ON DELETE CASCADE; GO ALTER TABLE ContaContabilTipoOperacao ADD CONSTRAINT A1873_10356 FOREIGN KEY (EmpresaClassificadora) REFERENCES EmpresaContabil(AutoId); GO /* EmpresaTipoDocumentoBancario */ ALTER TABLE EmpresaTipoDocumentoBancario ADD CONSTRAINT A1130_10357 FOREIGN KEY (EmpresaParametrizada) REFERENCES EmpresaContabil(AutoId); GO /* EsqueletoRelatorioContabil */ ALTER TABLE EsqueletoRelatorioContabil ADD CONSTRAINT A1836_10148 FOREIGN KEY (EmpresaCadastrante) REFERENCES EmpresaContabil(AutoId); GO /* GrupoMateriais */ /* ItemOrdemCompra */ ALTER TABLE ItemOrdemCompra ADD CONSTRAINT A826_10351 FOREIGN KEY (Material) REFERENCES Material(AutoId); GO /* ItemServicoOrdemCompra */ ALTER TABLE ItemServicoOrdemCompra ADD CONSTRAINT A1585_10352 FOREIGN KEY (Servico) REFERENCES ServicoPadronizado(AutoID); GO /* PreLancamentoContabilBC */ /* PreLancamentoContabilCP */ /* PreLancamentoContabilCR */ ALTER TABLE PreLancamentoContabilCR ADD CONSTRAINT A1546_10358 FOREIGN KEY (EstornoOrigem) REFERENCES EstornoRecebimento(AutoId); GO /* PreLancamentoContabilMT */ /* PreLancamentoContabilNFE */ /* PreLancamentoContabilNFS */ /* RelacaoItemPedidoColetaPreco */ ALTER TABLE RelacaoItemPedidoColetaPreco ADD CONSTRAINT A1885_10418 FOREIGN KEY (Coleta) REFERENCES ColetaPrecoMaterial(AutoId) ON DELETE CASCADE; GO ALTER TABLE RelacaoItemPedidoColetaPreco ADD CONSTRAINT A1885_10419 FOREIGN KEY (ItemPedido) REFERENCES ItemPedidoCompra(AutoId); GO /* RelacaoItemPedidoServicoColetaPreco */ ALTER TABLE RelacaoItemPedidoServicoColetaPreco ADD CONSTRAINT A1887_10421 FOREIGN KEY (Coleta) REFERENCES ColetaPrecoServico(AutoId) ON DELETE CASCADE; GO ALTER TABLE RelacaoItemPedidoServicoColetaPreco ADD CONSTRAINT A1887_10422 FOREIGN KEY (ItemPedido) REFERENCES ItemServicoPedidoCompra(AutoId); GO /* RelacaoItensPcOc */ ALTER TABLE RelacaoItensPcOc ADD CONSTRAINT A1871_10345 FOREIGN KEY (ItemPedido) REFERENCES ItemPedidoCompra(AutoId); GO ALTER TABLE RelacaoItensPcOc ADD CONSTRAINT A1871_10346 FOREIGN KEY (ItemOrdem) REFERENCES ItemOrdemCompra(AutoId) ON DELETE CASCADE; GO /* RelacaoItensServicosPcOc */ ALTER TABLE RelacaoItensServicosPcOc ADD CONSTRAINT A1872_10348 FOREIGN KEY (ItemPedido) REFERENCES ItemServicoPedidoCompra(AutoId); GO ALTER TABLE RelacaoItensServicosPcOc ADD CONSTRAINT A1872_10347 FOREIGN KEY (ItemOrdem) REFERENCES ItemServicoOrdemCompra(AutoId) ON DELETE CASCADE; GO /* SerieNotaFiscal */ ALTER TABLE SerieNotaFiscal ADD CONSTRAINT A1834_10435 FOREIGN KEY (ModeloImpressao) REFERENCES ModeloImpressaoNF(AutoID); GO /* TipoOperacaoNF */ ALTER TABLE TipoOperacaoNF ADD CONSTRAINT A941_10462 FOREIGN KEY (DestacaIPI) REFERENCES QualificadorSN(Codigo); GO /* ContaGrupoEmpresa */ ALTER TABLE ContaGrupoEmpresa ADD CONSTRAINT A1721_10468 FOREIGN KEY (ContaContabilReceita) REFERENCES Conta(AutoId); GO ALTER TABLE ContaGrupoEmpresa ADD CONSTRAINT A1721_10469 FOREIGN KEY (ContaContabilICMSReceita) REFERENCES Conta(AutoId); GO ALTER TABLE ContaGrupoEmpresa ADD CONSTRAINT A1721_10471 FOREIGN KEY (HistoricoICMSReceita) REFERENCES HistoricoPadronizado(AutoId); GO ALTER TABLE ContaGrupoEmpresa ADD CONSTRAINT A1721_10470 FOREIGN KEY (ContaContabilIPIReceita) REFERENCES Conta(AutoId); GO ALTER TABLE ContaGrupoEmpresa ADD CONSTRAINT A1721_10472 FOREIGN KEY (HistoricoIPIReceita) REFERENCES HistoricoPadronizado(AutoId); GO /* Associations */ /* Orcamento */ ALTER TABLE Orcamento ADD CONSTRAINT A872_10475 FOREIGN KEY (MunicipioCliente) REFERENCES Municipio(AutoId); GO ALTER TABLE Orcamento ADD CONSTRAINT A872_10476 FOREIGN KEY (ResponsavelFrete) REFERENCES TipoResponsavelFrete(Codigo); GO /* Complement */ update cronogramamedicao set codigo=autoid where codigo is null GO update agrupamentocfop set tipo='vd' where codigo=5550 GO --criação de campos na réplica de dados fiscais de ticket (3.10) update replicadadosfiscaisticket set densidadeseca = (select densidadeseca from ticket where ticket.nfgerada = replicadadosfiscaisticket.nfentrada) GO