declare @versao varchar(10); set @versao = '3.9.0'; if(exists(select * from parametroglobal)) update parametroglobal set versaobase = @versao; else insert into parametroglobal (versaobase) values(@versao); /* CampoNotaFiscal */ INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('DICDA6','Descrição dos Créditos/Débitos Adicionais'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('ICDA4','Itens de Crédito/Débito Adicionais'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('NFP2','Nota Fiscal do Produtor'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('NGA2','Número da Guia Ambiental'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('NIEF2','Número do IEF'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('NV2','Número do Vale'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('SA2','Selo Ambiental'); GO INSERT INTO CampoNotaFiscal (Codigo,Nome) VALUES ('VICDA1','Valor dos Créditos/Débitos Adicionais'); GO /* CFOp */ ALTER TABLE CFOp ADD AbateIPICusto bit; GO update CFOp set AbateIPICusto = 0 GO ALTER TABLE CFOp alter column AbateIPICusto bit NOT NULL; GO /* ColetaPrecoServico */ CREATE TABLE dbo.ColetaPrecoServico ( AutoId int IDENTITY NOT NULL, ColetaFornecedor int NOT NULL, ServicoCotado int NOT NULL, ItemPedido int NOT NULL, PrecoUnitario money, MelhorPreco bit, Quantidade numeric(15,4) NOT NULL, ISS numeric(10,4), ValorTotalBruto money, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT ColetaPrecoServico_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1856_1954 ON ColetaPrecoServico(ServicoCotado,ColetaFornecedor); GO CREATE INDEX I1856_TelosUpDt ON ColetaPrecoServico(TelosUpDt); GO /* ComposicaoCustoCarvao */ ALTER TABLE ComposicaoCustoCarvao ADD DiscriminaNFE bit; GO update ComposicaoCustoCarvao set discriminanfe = 0 GO /* ComposicaoServicoContrato */ ALTER TABLE ComposicaoServicoContrato DROP CONSTRAINT A1629_8894; GO ALTER TABLE ComposicaoServicoContrato DROP CONSTRAINT A1629_8895; GO ALTER TABLE ComposicaoServicoContrato ADD Contrato int --NOT NULL; GO ALTER TABLE ComposicaoServicoContrato DROP COLUMN Rendimento; GO /* ConfiguracaoCarvao */ ALTER TABLE ConfiguracaoCarvao ADD LocalArquivosEletronicosSv varchar(50); GO ALTER TABLE ConfiguracaoCarvao ADD LocalArquivosEletronicosCl varchar(50); GO /* ConfiguracaoEscritaFiscal */ ALTER TABLE ConfiguracaoEscritaFiscal ADD CodigoIdentificacao int; GO ALTER TABLE ConfiguracaoEscritaFiscal ADD CodigoFinalidade int; GO ALTER TABLE ConfiguracaoEscritaFiscal ADD ProcessamentoSequencial varchar(1) --NOT NULL; GO /* ConfiguracaoNotasFiscais */ ALTER TABLE ConfiguracaoNotasFiscais ADD EmpresaContribuinteIPI bit --NOT NULL; GO /* ConfiguracaoProducao */ ALTER TABLE ConfiguracaoProducao ADD DataLimiteProducao datetime; GO ALTER TABLE ConfiguracaoProducao ADD DocEntradaEmprestimo int --NOT NULL; GO ALTER TABLE ConfiguracaoProducao ADD DocTransferenciaEmprestimo int --NOT NULL; GO ALTER TABLE ConfiguracaoProducao DROP COLUMN LimiteExpedicao; GO /* Contrato */ ALTER TABLE Contrato ADD OrcamentoContratado int; GO /* ContratoCarvao */ ALTER TABLE ContratoCarvao ADD MunicipioDesmate int; GO /* Convenio */ DROP INDEX Convenio.I1243_1241; GO CREATE UNIQUE INDEX I1243_1241 ON Convenio(Empresa,Banco,TipoServico,NumConvenio); GO /* CreditoDebitoComplementarNFE */ CREATE TABLE dbo.CreditoDebitoComplementarNFE ( AutoId int IDENTITY NOT NULL, NotaFiscalEntrada int NOT NULL, Descricao varchar(192) NOT NULL, Valor money NOT NULL, TipoCreditoDebito varchar(1) NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT CreditoDebitoComplementarNFE_PK PRIMARY KEY (AutoId) ); GO CREATE INDEX I1871_TelosUpDt ON CreditoDebitoComplementarNFE(TelosUpDt); GO /* CustoAdicionalCarvao */ ALTER TABLE CustoAdicionalCarvao ADD DiscriminaNFE bit; GO update CustoAdicionalCarvao set DiscriminaNFE = 0 GO /* DeducoesICMS */ --se falar que nao existe, tudo bem DROP INDEX DeducoesICMS.I1371_1409; GO /* DeducoesIPI */ --se falar que nao existe, tudo bem DROP INDEX DeducoesIPI.I1370_1407; GO /* DocumentoBancos */ ALTER TABLE DocumentoBancos ADD Convenio int; GO /* DocumentoEstoqueNFE_OBSOLETO */ EXEC sp_rename 'DocumentoEstoqueNFE', 'DocumentoEstoqueNFE_OBSOLETO'; GO /* DocumentoEstoqueNFS_OBSOLETO */ EXEC sp_rename 'DocumentoEstoqueNFS', 'DocumentoEstoqueNFS_OBSOLETO'; GO DROP INDEX DocumentoEstoqueNFS_OBSOLETO.I1468_1523; GO --ALTER TABLE DocumentoEstoqueNFS_OBSOLETO -- ADD NFS int --NOT NULL; --GO ALTER TABLE DocumentoEstoqueNFS_OBSOLETO ALTER COLUMN ChaveNFS_OBSOLETO varchar(50); GO CREATE UNIQUE INDEX I1468_1523 ON DocumentoEstoqueNFS_OBSOLETO(NFS,ChaveDocEstoque); GO /* EstornoCreditosICMS */ --se falar que nao existe, tudo bem DROP INDEX EstornoCreditosICMS.I1364_1395; GO /* EstornoCreditosIPI */ --se falar que nao existe, tudo bem DROP INDEX EstornoCreditosIPI.I1365_1397; GO /* EstornoDebitosICMS */ --se falar que nao existe, tudo bem DROP INDEX EstornoDebitosICMS.I1368_1403; GO /* EstornoDebitosIPI */ --se falar que nao existe, tudo bem DROP INDEX EstornoDebitosIPI.I1369_1405; GO /* InsumoContrato */ ALTER TABLE InsumoContrato DROP CONSTRAINT A1596_8661; GO ALTER TABLE InsumoContrato DROP COLUMN Rendimento; GO /* ItemDocumentoEstoque */ DROP INDEX ItemDocumentoEstoque.I930_919; GO /* ItemNFEProduto */ ALTER TABLE ItemNFEProduto ADD ValorRateadoICMSFrete money; GO ALTER TABLE ItemNFEProduto ADD ValorRateadoPISFrete money; GO ALTER TABLE ItemNFEProduto ADD ValorRateadoCOFINSFrete money; GO /* ItemOrcamentoProduto */ DROP INDEX ItemOrcamentoProduto.I874_854; GO /* LancamentoDeApuracao */ ALTER TABLE LancamentoDeApuracao ALTER COLUMN ValorCaixaPrevisto numeric(20,2); GO ALTER TABLE LancamentoDeApuracao ALTER COLUMN ValorCompetencia numeric(20,2); GO ALTER TABLE LancamentoDeApuracao ALTER COLUMN ValorCaixaRealizado numeric(20,2); GO EXEC sp_rename 'LancamentoDeApuracao.SaldoLancamento', 'SaldoLancamento_OBSOLETO'; GO ALTER TABLE LancamentoDeApuracao ALTER COLUMN SaldoLancamento_OBSOLETO int; GO /* LoteProducao */ ALTER TABLE LoteProducao ADD PesoEmprestimo numeric(12,4); GO ALTER TABLE LoteProducao ADD LimiteExpedicao numeric(10,5); GO /* NotaFiscalEntrada */ ALTER TABLE NotaFiscalEntrada ALTER COLUMN Serie varchar(3); GO ALTER TABLE NotaFiscalEntrada ADD DataEstoque datetime; GO /* OutrosCreditosICMS */ --se falar que nao existe, tudo bem DROP INDEX OutrosCreditosICMS.I1367_1401; GO /* OutrosCreditosIPI */ --se falar que nao existe, tudo bem DROP INDEX OutrosCreditosIPI.I1366_1399; GO /* OutrosDebitosICMS */ --se falar que nao existe, tudo bem DROP INDEX OutrosDebitosICMS.I1363_1393; GO /* OutrosDebitosIPI */ --se falar que nao existe, tudo bem DROP INDEX OutrosDebitosIPI.I1362_1391; GO /* PedidoCompra */ ALTER TABLE PedidoCompra ADD Situacao varchar(2) --NOT NULL; GO /* PreLancamentoContabilCR */ ALTER TABLE PreLancamentoContabilCR ADD EstornoOrigem int; GO /* RelacaoItemEstoqueItemNFE */ CREATE TABLE dbo.RelacaoItemEstoqueItemNFE ( AutoId int IDENTITY NOT NULL, ItemNFEOrigem int NOT NULL, ItemEstoqueDestino int NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT RelacaoItemEstoqueItemNFE_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1853_1948 ON RelacaoItemEstoqueItemNFE(ItemNFEOrigem,ItemEstoqueDestino); GO CREATE INDEX I1853_TelosUpDt ON RelacaoItemEstoqueItemNFE(TelosUpDt); GO /* RelacaoItemEstoqueItemNFS */ CREATE TABLE dbo.RelacaoItemEstoqueItemNFS ( AutoId int IDENTITY NOT NULL, ItemNFSOrigem int NOT NULL, ItemEstoqueDestino int NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT RelacaoItemEstoqueItemNFS_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1854_1950 ON RelacaoItemEstoqueItemNFS(ItemNFSOrigem,ItemEstoqueDestino); GO CREATE INDEX I1854_TelosUpDt ON RelacaoItemEstoqueItemNFS(TelosUpDt); GO /* RelacaoLancamentoSaldoApuracao */ CREATE TABLE dbo.RelacaoLancamentoSaldoApuracao ( AutoId int IDENTITY NOT NULL, Lancamento int NOT NULL, SaldoCalculado int NOT NULL, TelosRgUs varchar(15), TelosRgDt datetime DEFAULT GETDATE() NOT NULL, TelosUpUs varchar(15), TelosUpDt datetime, TelosCtrler int, CONSTRAINT RelacaoLancamentoSaldoApuracao_PK PRIMARY KEY (AutoId) ); GO CREATE UNIQUE INDEX I1855_1952 ON RelacaoLancamentoSaldoApuracao(Lancamento,SaldoCalculado); GO CREATE INDEX I1855_TelosUpDt ON RelacaoLancamentoSaldoApuracao(TelosUpDt); GO /* ReplicaDadosFiscaisTicket */ --ALTER TABLE ReplicaDadosFiscaisTicket -- DROP CONSTRAINT A1835_10116; --GO ALTER TABLE ReplicaDadosFiscaisTicket DROP CONSTRAINT A1832_10109; GO ALTER TABLE ReplicaDadosFiscaisTicket ADD Motorista int; GO ALTER TABLE ReplicaDadosFiscaisTicket ADD ContratoCarvaoAtendido int; GO ALTER TABLE ReplicaDadosFiscaisTicket ADD MunicipioDesmate int; GO ALTER TABLE ReplicaDadosFiscaisTicket DROP COLUMN TicketReplicado; GO /* SaldoCalculadoNoPeriodo */ ALTER TABLE SaldoCalculadoNoPeriodo ALTER COLUMN SaldoOrcado numeric(20,2); GO ALTER TABLE SaldoCalculadoNoPeriodo ALTER COLUMN SaldoCompetencia numeric(20,2); GO ALTER TABLE SaldoCalculadoNoPeriodo ALTER COLUMN SaldoCaixaPrevisto numeric(20,2); GO ALTER TABLE SaldoCalculadoNoPeriodo ALTER COLUMN SaldoCaixaRealizado numeric(20,2); GO /* SituacaoPedidoCompra */ EXEC sp_rename 'SituacaoAtendimento', 'SituacaoPedidoCompra'; GO ALTER TABLE SituacaoPedidoCompra ALTER COLUMN Codigo varchar(2) NOT NULL; GO INSERT INTO SituacaoPedidoCompra (Codigo,Nome) VALUES ('A','Aberto'); GO INSERT INTO SituacaoPedidoCompra (Codigo,Nome) VALUES ('PA','Parcialmente Atendido'); GO INSERT INTO SituacaoPedidoCompra (Codigo,Nome) VALUES ('TA','Totalmente Atendido'); GO INSERT INTO SituacaoPedidoCompra (Codigo,Nome) VALUES ('TC','Totalmente Cancelado'); GO DELETE FROM SituacaoPedidoCompra WHERE Codigo = 'B'; GO DELETE FROM SituacaoPedidoCompra WHERE Codigo = 'T'; GO /* SituacaoTicket */ INSERT INTO SituacaoTicket (Codigo,Nome) VALUES ('Z','Faturado'); GO /* Ticket */ ALTER TABLE Ticket ADD LoteDestino int; GO ALTER TABLE Ticket ADD LoteOrigem int; GO ALTER TABLE Ticket ADD MunicipioDesmate int; GO EXEC sp_rename 'Ticket.AlmoxarifadoOrigem', 'AlmoxarifadoOrigem_OBSOLETO'; GO ALTER TABLE Ticket ALTER COLUMN AlmoxarifadoOrigem_OBSOLETO int; GO EXEC sp_rename 'Ticket.AlmoxarifadoDestino', 'AlmoxarifadoDestino_OBSOLETO'; GO ALTER TABLE Ticket ALTER COLUMN AlmoxarifadoDestino_OBSOLETO int; GO /* TipoGuiaAmbiental */ ALTER TABLE TipoGuiaAmbiental ADD OrgaoExpedidor varchar(32) --NOT NULL; GO ALTER TABLE TipoGuiaAmbiental ADD SiglaSIAM varchar(8) --NOT NULL; GO /* TipoParamentroContabilCP */ INSERT INTO TipoParamentroContabilCP (Codigo,Nome) VALUES ('ApCR','Apropriação Contas a Receber'); GO INSERT INTO TipoParamentroContabilCP (Codigo,Nome) VALUES ('BxCR','Baixa Contas a Receber'); GO /* Associations */ /* ColetaPrecoServico */ ALTER TABLE ColetaPrecoServico ADD CONSTRAINT A1856_10231 FOREIGN KEY (ColetaFornecedor) REFERENCES ColetaPrecoFornecedor(AutoId) ON DELETE CASCADE; GO ALTER TABLE ColetaPrecoServico ADD CONSTRAINT A1856_10227 FOREIGN KEY (ServicoCotado) REFERENCES ServicoPadronizado(AutoID); GO ALTER TABLE ColetaPrecoServico ADD CONSTRAINT A1856_10233 FOREIGN KEY (ItemPedido) REFERENCES ItemServicoPedidoCompra(AutoId); GO /* ComposicaoServicoContrato */ ALTER TABLE ComposicaoServicoContrato ADD CONSTRAINT A1629_8894 FOREIGN KEY (ServicoPai) REFERENCES ServicoPadronizado(AutoID); GO ALTER TABLE ComposicaoServicoContrato ADD CONSTRAINT A1629_8895 FOREIGN KEY (ServicoFilho) REFERENCES ServicoPadronizado(AutoID); GO ALTER TABLE ComposicaoServicoContrato ADD CONSTRAINT A1629_10222 FOREIGN KEY (Contrato) REFERENCES Contrato(AutoID); GO /* ConfiguracaoEscritaFiscal */ ALTER TABLE ConfiguracaoEscritaFiscal ADD CONSTRAINT A1548_10196 FOREIGN KEY (CodigoIdentificacao) REFERENCES TabelaIdentNaturezaOperacoes(AutoId); GO ALTER TABLE ConfiguracaoEscritaFiscal ADD CONSTRAINT A1548_10197 FOREIGN KEY (CodigoFinalidade) REFERENCES TabelaFinalidadeApresentacao(AutoId); GO ALTER TABLE ConfiguracaoEscritaFiscal ADD CONSTRAINT A1548_10221 FOREIGN KEY (ProcessamentoSequencial) REFERENCES TipoSimNao(Codigo); GO /* ConfiguracaoProducao */ ALTER TABLE ConfiguracaoProducao ADD CONSTRAINT A1304_10245 FOREIGN KEY (DocEntradaEmprestimo) REFERENCES TipoDocumentoEstoque(AutoId); GO ALTER TABLE ConfiguracaoProducao ADD CONSTRAINT A1304_10244 FOREIGN KEY (DocTransferenciaEmprestimo) REFERENCES TipoDocumentoEstoque(AutoId); GO /* Contrato */ ALTER TABLE Contrato ADD CONSTRAINT A570_10224 FOREIGN KEY (OrcamentoContratado) REFERENCES OrcamentoServico(AutoId); GO /* ContratoCarvao */ ALTER TABLE ContratoCarvao ADD CONSTRAINT A1192_10219 FOREIGN KEY (MunicipioDesmate) REFERENCES Municipio(AutoId); GO /* CreditoDebitoComplementarNFE */ ALTER TABLE CreditoDebitoComplementarNFE ADD CONSTRAINT A1871_10339 FOREIGN KEY (NotaFiscalEntrada) REFERENCES NotaFiscalEntrada(AutoID) ON DELETE CASCADE; GO ALTER TABLE CreditoDebitoComplementarNFE ADD CONSTRAINT A1871_10342 FOREIGN KEY (TipoCreditoDebito) REFERENCES TipoCreditoDebito(Codigo); GO /* DocumentoBancos */ ALTER TABLE DocumentoBancos ADD CONSTRAINT A774_10214 FOREIGN KEY (Convenio) REFERENCES Convenio(AutoId); GO /* DocumentoEstoqueNFS_OBSOLETO */ ALTER TABLE DocumentoEstoqueNFS_OBSOLETO ADD CONSTRAINT A1468_10193 FOREIGN KEY (NFS) REFERENCES NotaFiscalSaida(AutoId); GO /* InsumoContrato */ ALTER TABLE InsumoContrato ADD CONSTRAINT A1596_8661 FOREIGN KEY (Servico) REFERENCES ComposicaoServicoContrato(AutoID) ON DELETE CASCADE; GO /* PedidoCompra */ ALTER TABLE PedidoCompra ADD CONSTRAINT A825_10235 FOREIGN KEY (Situacao) REFERENCES SituacaoPedidoCompra(Codigo); GO /* PreLancamentoContabilCR */ ALTER TABLE PreLancamentoContabilCR ADD CONSTRAINT A1546_10345 FOREIGN KEY (EstornoOrigem) REFERENCES EstornoRecebimento(AutoId); GO /* RelacaoItemEstoqueItemNFE */ ALTER TABLE RelacaoItemEstoqueItemNFE ADD CONSTRAINT A1853_10203 FOREIGN KEY (ItemNFEOrigem) REFERENCES ItemNFEProduto(AutoID) ON DELETE CASCADE; GO ALTER TABLE RelacaoItemEstoqueItemNFE ADD CONSTRAINT A1853_10204 FOREIGN KEY (ItemEstoqueDestino) REFERENCES ItemDocumentoEstoque(AutoId); GO /* RelacaoItemEstoqueItemNFS */ ALTER TABLE RelacaoItemEstoqueItemNFS ADD CONSTRAINT A1854_10206 FOREIGN KEY (ItemNFSOrigem) REFERENCES ItemNFSProduto(AutoID) ON DELETE CASCADE; GO ALTER TABLE RelacaoItemEstoqueItemNFS ADD CONSTRAINT A1854_10205 FOREIGN KEY (ItemEstoqueDestino) REFERENCES ItemDocumentoEstoque(AutoId); GO /* RelacaoLancamentoSaldoApuracao */ ALTER TABLE RelacaoLancamentoSaldoApuracao ADD CONSTRAINT A1855_10212 FOREIGN KEY (Lancamento) REFERENCES LancamentoDeApuracao(AutoId); GO ALTER TABLE RelacaoLancamentoSaldoApuracao ADD CONSTRAINT A1855_10213 FOREIGN KEY (SaldoCalculado) REFERENCES SaldoCalculadoNoPeriodo(AutoId) ON DELETE CASCADE; GO /* ReplicaDadosFiscaisTicket */ ALTER TABLE ReplicaDadosFiscaisTicket ADD CONSTRAINT A1835_10198 FOREIGN KEY (Motorista) REFERENCES Motorista(AutoId); GO ALTER TABLE ReplicaDadosFiscaisTicket ADD CONSTRAINT A1835_10215 FOREIGN KEY (ContratoCarvaoAtendido) REFERENCES ContratoCarvao(AutoId); GO ALTER TABLE ReplicaDadosFiscaisTicket ADD CONSTRAINT A1835_10220 FOREIGN KEY (MunicipioDesmate) REFERENCES Municipio(AutoId); GO /* Ticket */ ALTER TABLE Ticket ADD CONSTRAINT A1173_10216 FOREIGN KEY (LoteDestino) REFERENCES LoteProducao(AutoId); GO ALTER TABLE Ticket ADD CONSTRAINT A1173_10217 FOREIGN KEY (LoteOrigem) REFERENCES LoteProducao(AutoId); GO ALTER TABLE Ticket ADD CONSTRAINT A1173_10218 FOREIGN KEY (MunicipioDesmate) REFERENCES Municipio(AutoId); GO /* Complement */ --preenche o novo campo "serie" do documento a pagar com a série da notafiscalentrada associada (demora uns minutos pra rodar) update documento set serie = ( select n.serie from documento d inner join documentopagarnfe dn on dn.docpagar = d.autoid inner join notafiscalentrada n on n.autoid = dn.nfeorigem where d.autoid = documento.autoid ) GO update cronogramamedicao set codigo=autoid GO --foi criado o campo de motorista; esta query completa os itens já existentes update replicadadosfiscaisticket set motorista = ( select motoristaveiculo from ticket t inner join notafiscalentrada n on n.autoid = t.nfgerada inner join replicadadosfiscaisticket r on r.nfentrada = n.autoid where r.autoid = replicadadosfiscaisticket.autoid ) GO --atualização da relação NFE / Documento Estoque (3.9) insert RelacaoItemEstoqueItemNFE (ItemEstoqueDestino, ItemNFEOrigem) select distinct ide.autoid IDE, infe.autoid INFE from documentoestoquenfe_obsoleto dx inner join itemnfeproduto infe on infe.nfeitem = dx.nfeorigem inner join itemdocumentoestoque ide on ide.documento = dx.docestoquedestino where ide.materialdoc = infe.materialitem GO --atualização da relação NFS / Documento Estoque (3.9) insert RelacaoItemEstoqueItemNFS (ItemEstoqueDestino, ItemNFSOrigem) select distinct ide.autoid IDE, infs.autoid INFS from documentoestoquenfs_obsoleto dx inner join itemnfsproduto infs on infs.nfsitem = dx.nfs inner join itemdocumentoestoque ide on ide.documento = dx.chavedocestoque where ide.materialdoc = infs.materialitem -- and infs.valortotal = ide.valortotal GO update centroresultado set desativado=0 where desativado is null GO -- completa o campo ContratoCarvaoAtendido que foi criado nessa versão (3.9.0) update replicadadosfiscaisticket set contratocarvaoatendido= ( select contrato from ticket t inner join replicadadosfiscaisticket r on r.nfentrada = t.nfgerada where r.autoid = replicadadosfiscaisticket.autoid ) GO --Preenche o novo campo LoteDestino, baseando-se no antigo campo AlmoxarifadoDestino. --Todos os almoxarifados usados em ticket de carvão têm que ter 1 e somente 1 lote associado. --Versão 3.9.0 update ticket set lotedestino= ( select l.autoid from loteproducao l inner join almoxarifado a on a.autoid=l.almoxarifadolote where a.autoid=ticket.almoxarifadodestino_obsoleto ) GO --select almoxarifadodestino_obsoleto, lotedestino, * from ticket where almoxarifadodestino_obsoleto is not null and lotedestino is null -- atualiza situação de ticket para 'Faturado' (versão 3.9.0) update ticket set situacao = 'Z' where situacao = 'F' and ( nfgerada is not null or boletimfornecedor is not null or boletimtransportador is not null ) GO --Preencher novo campo de DataEstoque na NFE update notafiscalentrada set dataestoque = datarecebimento where dataestoque is null GO --Novo campo - situação do pedido de compra - 3.9.0 update pedidocompra set situacao='A' where autoid in ( select pedidocompra from ( select pedidocompra, sum(quantidadepedida) as QPed, sum(quantidadecomprada) as QCom, sum(quantidadecancelada) as QCan, sum(quantidadependente) as QPen from ( select pedidocompra, quantidadepedida, quantidadecomprada, quantidadecancelada, quantidadependente from itempedidocompra union all select pedidocompra, quantidadepedida, quantidadecomprada, quantidadecancelada, quantidadependente from itemservicopedidocompra ) ITENS group by pedidocompra ) X where QPen > 0 ) GO update pedidocompra set situacao='TC' where autoid in ( select pedidocompra from ( select pedidocompra, sum(quantidadepedida) as QPed, sum(quantidadecomprada) as QCom, sum(quantidadecancelada) as QCan, sum(quantidadependente) as QPen from ( select pedidocompra, quantidadepedida, quantidadecomprada, quantidadecancelada, quantidadependente from itempedidocompra union all select pedidocompra, quantidadepedida, quantidadecomprada, quantidadecancelada, quantidadependente from itemservicopedidocompra ) ITENS group by pedidocompra ) X where QPed = QCan ) GO update pedidocompra set situacao='TA' where autoid in ( select pedidocompra from ( select pedidocompra, sum(quantidadepedida) as QPed, sum(quantidadecomprada) as QCom, sum(quantidadecancelada) as QCan, sum(quantidadependente) as QPen from ( select pedidocompra, quantidadepedida, quantidadecomprada, quantidadecancelada, quantidadependente from itempedidocompra union all select pedidocompra, quantidadepedida, quantidadecomprada, quantidadecancelada, quantidadependente from itemservicopedidocompra ) ITENS group by pedidocompra ) X where QPed = QCom ) GO update pedidocompra set situacao='PA' where situacao is null GO alter table pedidocompra alter column situacao varchar(2) not null GO --TODO update documentoestoqueproducao set lotedocumento = ? where lotedocumento is null