/*================*/ /* Versão: 2.5.68 */ /*==============================================================*/ /* Table: FORNECEDOR_PRODUTO */ /*==============================================================*/ ALTER TABLE FORNECEDOR_PRODUTO ADD COD_PRODFOR VARCHAR(20); ALTER TABLE FORNECEDOR_PRODUTO ADD DESCR_PRODFOR VARCHAR(80); COMMIT WORK; /*==============================================================*/ /* Table: PARAMETROS */ /*==============================================================*/ INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (1,106,'CAMINHO_ARQ_XML_ENTRADA','Entradas: Caminho dos Arquivos XML de Notas de Compra','STRING','7',''); COMMIT WORK; /*==============================================================*/ /* Table: ENTRADAS */ /*==============================================================*/ ALTER TABLE ENTRADAS ADD CAMINHO_XML VARCHAR(100); COMMIT WORK; /*==============================================================*/ /*==============================================================*/ /*============= A T E N Ç Ã O ===============*/ /*==============================================================*/ /* O PROCEDIMENTO A SEGUIR, MUDA A TABELA QUE TRABALHA */ /* COM AS DESCRIÇÕES POR OPER. FISCAL, TENDO QUE AS MESMAS */ /* SEREM INCLUIDAS NOVAMENTE, SE HOUVER USO. */ /* > USA-SE A TABELA OPER_FISCAL_ALIQ COMO BASE PARA CÓPIA. */ /*==============================================================*/ /*================*/ /* Versão: 2.5.69 */ /*==============================================================*/ /* Table: OPER_FISCAL_DESCR */ /*==============================================================*/ create table OPER_FISCAL_DESCR ( COD_OPEFISC SMALLINT not null, SEQ_DESCR SMALLINT not null, COD_CORPO SMALLINT, COD_ICMS SMALLINT, CFOP VARCHAR(6), constraint PK_OPER_FISCAL_DESCR primary key (COD_OPEFISC, SEQ_DESCR) ); alter table OPER_FISCAL_DESCR add constraint FK_OPER_FSCDES_DESCR_CORPO foreign key (COD_CORPO) references DESCR_CORPO (COD_CORPO); alter table OPER_FISCAL_DESCR add constraint FK_OPER_FSCDES_OPER_FISCAL foreign key (COD_OPEFISC) references OPER_FISCAL (COD_OPEFISC); COMMIT WORK; /*==============================================================*/ /*============= F I M ===============*/ /*==============================================================*/ /*================*/ /* Versão: 2.5.73 */ /*==============================================================*/ /* Table: ITENS_NF */ /*==============================================================*/ ALTER TABLE ITENS_NF ADD COD_OPEREST SMALLINT; COMMIT WORK; UPDATE ITENS_NF INF SET INF.COD_OPEREST = (SELECT OPF.COD_OPEREST FROM OPER_FISCAL OPF WHERE OPF.COD_OPEFISC = INF.COD_OPEFISC) WHERE INF.COD_OPEREST IS NULL; COMMIT WORK; /*================*/ /* Versão: 2.5.75 */ /*==============================================================*/ /* Table: PRODUTOS */ /*==============================================================*/ UPDATE PRODUTOS PD SET PD.PERC_IPI_CP = (SELECT AL.PERC_BASE FROM ALIQ_IPI AL WHERE AL.COD_IPI = PD.COD_IPI); COMMIT WORK; /*================*/ /* Versão: 2.5.79 */ /*==============================================================*/ /* Table: OPER_FISCAL_TRIB */ /*==============================================================*/ create table OPER_FISCAL_TRIB ( COD_OPEFISC SMALLINT not null, SEQ_TRIB SMALLINT not null, TIPO_TRIB VARCHAR(10), COD_TRIB SMALLINT, constraint PK_OPER_FISCAL_TRIB primary key (COD_OPEFISC, SEQ_TRIB) ); alter table OPER_FISCAL_TRIB add constraint FK_OPER_FIS_REFERENCE_OPER_FIS foreign key (COD_OPEFISC) references OPER_FISCAL (COD_OPEFISC); COMMIT WORK; /*================*/ /* Versão: 2.5.81 */ /*==============================================================*/ /* Trigger: TG_UPDATE_ENTRADAS */ /*==============================================================*/ SET TERM ^; ALTER TRIGGER TG_UPDATE_ENTRADAS ACTIVE BEFORE UPDATE POSITION 0 AS DECLARE VARIABLE varCOD_EMPRESA INTEGER; DECLARE VARIABLE varSEQ_INCLUSAO INTEGER; DECLARE VARIABLE varDOCUMENTO VARCHAR(20); DECLARE VARIABLE varVLR_RATEIO DECIMAL(15,2); DECLARE VARIABLE varVLR_ICMS DECIMAL(15,2); DECLARE VARIABLE varVLR_IPI DECIMAL(15,2); DECLARE VARIABLE varBASE_ICMS DECIMAL(15,2); DECLARE VARIABLE varRAT_ICMS DECIMAL(15,2); DECLARE VARIABLE varRAT_IPI DECIMAL(15,2); DECLARE VARIABLE varRAT_BASE_ICMS DECIMAL(15,2); DECLARE VARIABLE varSEQUENCIA INTEGER; DECLARE VARIABLE varVLT_TOTAL_ITEM DECIMAL(15,2); DECLARE VARIABLE varVLR_CONFERE DECIMAL(15,2); DECLARE VARIABLE varVLR_DIF DECIMAL(15,2); DECLARE VARIABLE varVLR_TOTAL_DESCTO DECIMAL(15,2); BEGIN /* = = Rateia Acrescimos e descontos entre os Itens de Entrada= =*/ IF ((NEW.VLR_TOTAL_MERC IS NOT NULL) AND (NEW.VLR_TOTAL_MERC > 0)) THEN BEGIN UPDATE ITENS_ENTRADA IET SET IET.RAT_VALOR = (NEW.VLR_FRETE * (IET.VLR_TOTAL_ITEM / NEW.VLR_TOTAL_MERC)) + (NEW.VLR_SEGURO * (IET.VLR_TOTAL_ITEM / NEW.VLR_TOTAL_MERC)) + (NEW.VLR_DESPESAS * (IET.VLR_TOTAL_ITEM / NEW.VLR_TOTAL_MERC)) - (NEW.VLR_DESCONTO * (IET.VLR_TOTAL_ITEM / NEW.VLR_TOTAL_MERC)) + (NEW.VLR_ACR_EXTRA * (IET.VLR_TOTAL_ITEM / NEW.VLR_TOTAL_MERC)) - (NEW.VLR_DESC_EXTRA * (IET.VLR_TOTAL_ITEM / NEW.VLR_TOTAL_MERC)) + (NEW.VLR_FRETE_CONH * (IET.VLR_TOTAL_ITEM / NEW.VLR_TOTAL_MERC)) WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL; IF (NEW.VLR_FRETE > 0) THEN BEGIN UPDATE ITENS_ENTRADA IET SET IET.RAT_FRETE = (IET.VLR_TOTAL_ITEM * NEW.VLR_FRETE) / NEW.VLR_TOTAL_MERC WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL; SELECT SUM(IET.RAT_FRETE) FROM ITENS_ENTRADA IET WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL INTO :varVLR_CONFERE; IF (NEW.VLR_FRETE <> varVLR_CONFERE) THEN BEGIN varVLR_DIF = NEW.VLR_FRETE - varVLR_CONFERE; UPDATE ITENS_ENTRADA IET SET IET.RAT_FRETE = IET.RAT_FRETE + :varVLR_DIF WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.SEQUENCIA = 1; END END IF (NEW.VLR_SEGURO > 0) THEN BEGIN UPDATE ITENS_ENTRADA IET SET IET.RAT_SEGURO = (IET.VLR_TOTAL_ITEM * NEW.VLR_SEGURO) / NEW.VLR_TOTAL_MERC WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL; SELECT SUM(IET.RAT_SEGURO) FROM ITENS_ENTRADA IET WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL INTO :varVLR_CONFERE; IF (NEW.VLR_SEGURO <> varVLR_CONFERE) THEN BEGIN varVLR_DIF = NEW.VLR_SEGURO - varVLR_CONFERE; UPDATE ITENS_ENTRADA IET SET IET.RAT_SEGURO = IET.RAT_SEGURO + :varVLR_DIF WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.SEQUENCIA = 1; END END IF (NEW.VLR_DESPESAS > 0) THEN BEGIN UPDATE ITENS_ENTRADA IET SET IET.RAT_DESPESAS = (IET.VLR_TOTAL_ITEM * NEW.VLR_DESPESAS) / NEW.VLR_TOTAL_MERC WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL; SELECT SUM(IET.RAT_DESPESAS) FROM ITENS_ENTRADA IET WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL INTO :varVLR_CONFERE; IF (NEW.VLR_DESPESAS <> varVLR_CONFERE) THEN BEGIN varVLR_DIF = NEW.VLR_DESPESAS - varVLR_CONFERE; UPDATE ITENS_ENTRADA IET SET IET.RAT_DESPESAS = IET.RAT_DESPESAS + :varVLR_DIF WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.SEQUENCIA = 1; END END varVLR_TOTAL_DESCTO = NEW.VLR_DESCONTO + NEW.VLR_DESC_EXTRA; IF (varVLR_TOTAL_DESCTO > 0) THEN BEGIN UPDATE ITENS_ENTRADA IET SET IET.RAT_DESCTO = (IET.VLR_TOTAL_ITEM * :varVLR_TOTAL_DESCTO) / NEW.VLR_TOTAL_MERC WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL; SELECT SUM(IET.RAT_DESCTO) FROM ITENS_ENTRADA IET WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL INTO :varVLR_CONFERE; IF (varVLR_TOTAL_DESCTO <> varVLR_CONFERE) THEN BEGIN varVLR_DIF = varVLR_TOTAL_DESCTO - varVLR_CONFERE; UPDATE ITENS_ENTRADA IET SET IET.RAT_DESCTO = IET.RAT_DESCTO + :varVLR_DIF WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.SEQUENCIA = 1; END END END /* = = Faz somatorios de valores dos Itens de Entrada e procura o primeiro item= =*/ SELECT IET.COD_EMPRESA, IET.SEQ_INCLUSAO, IET.DOCUMENTO, SUM(IET.RAT_VALOR), MIN(IET.SEQUENCIA), SUM(IET.BASE_ICMS), SUM(IET.VLR_ICMS), SUM(IET.VLR_IPI) FROM ITENS_ENTRADA IET WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL GROUP BY IET.COD_EMPRESA, IET.SEQ_INCLUSAO, IET.DOCUMENTO INTO :varCOD_EMPRESA, :varSEQ_INCLUSAO, :varDOCUMENTO, :varVLR_RATEIO, :varSEQUENCIA, :varBASE_ICMS, :varVLR_ICMS, :varVLR_IPI; /* = = Calcula a diferenca entre a soma dos Itens de Entrada e o valores Totais na Entrada no Rateio e grava a diferenca no primeiro item de entrada = =*/ UPDATE ITENS_ENTRADA IET SET IET.RAT_VALOR = IET.RAT_VALOR - (:varVLR_RATEIO - (NEW.VLR_FRETE + NEW.VLR_SEGURO + NEW.VLR_DESPESAS + NEW.VLR_FRETE_CONH - NEW.VLR_DESCONTO + NEW.VLR_ACR_EXTRA - NEW.VLR_DESC_EXTRA)) WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.SEQUENCIA = :varSEQUENCIA; /* ========= TRATA ICMS ================================================================== */ /* = = Rateia Valores de Icms e Base Icms que alem dos Itens = =*/ IF ((varVLR_ICMS > 0) AND (varBASE_ICMS > 0)) THEN BEGIN UPDATE ITENS_ENTRADA IET SET IET.RAT_ICMS = (NEW.VLR_ICMS - :varVLR_ICMS) * (IET.VLR_ICMS / :varVLR_ICMS), IET.RAT_BASE_ICMS = (NEW.BASE_ICMS - :varBASE_ICMS) * (IET.BASE_ICMS / :varBASE_ICMS) WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.VLR_ICMS > 0; /* = = Faz somatorio do Icms e Base Icms e procura o primeiro item com ICMS = =*/ SELECT IET.COD_EMPRESA, IET.SEQ_INCLUSAO, IET.DOCUMENTO, MIN(IET.SEQUENCIA), SUM(IET.RAT_ICMS), SUM(IET.RAT_BASE_ICMS) FROM ITENS_ENTRADA IET WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.VLR_ICMS > 0 GROUP BY IET.COD_EMPRESA, IET.SEQ_INCLUSAO, IET.DOCUMENTO INTO :varCOD_EMPRESA, :varSEQ_INCLUSAO, :varDOCUMENTO, :varSEQUENCIA, :varRAT_ICMS, :varRAT_BASE_ICMS; /* = = Grava a diferenca no primeiro item de entrada com ICMS= =*/ UPDATE ITENS_ENTRADA IET SET IET.RAT_ICMS = IET.RAT_ICMS + (NEW.VLR_ICMS - (:varRAT_ICMS + :varVLR_ICMS)), IET.RAT_BASE_ICMS = IET.RAT_BASE_ICMS + (NEW.BASE_ICMS - (:varRAT_BASE_ICMS + :varBASE_ICMS)) WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.SEQUENCIA = :varSEQUENCIA; END /* ============ TRATA IPI ============================================================= */ /* = = Rateia Valores de IPI que alem dos Itens = =*/ IF (varVLR_IPI > 0) THEN BEGIN UPDATE ITENS_ENTRADA IET SET IET.RAT_IPI = (NEW.VLR_IPI - :varVLR_IPI) * (IET.VLR_IPI / :varVLR_IPI) WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.VLR_IPI > 0; /* = = Faz somatorio do IPI e procura o primeiro item com IPI = =*/ SELECT IET.COD_EMPRESA, IET.SEQ_INCLUSAO, IET.DOCUMENTO, MIN(IET.SEQUENCIA), SUM(IET.RAT_IPI) FROM ITENS_ENTRADA IET WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.VLR_IPI > 0 GROUP BY IET.COD_EMPRESA, IET.SEQ_INCLUSAO, IET.DOCUMENTO INTO :varCOD_EMPRESA, :varSEQ_INCLUSAO, :varDOCUMENTO, :varSEQUENCIA, :varRAT_IPI; /* = = Grava a diferenca no primeiro item de entrada com IPI = =*/ UPDATE ITENS_ENTRADA IET SET IET.RAT_IPI = IET.RAT_IPI + (NEW.VLR_IPI - (:varRAT_IPI + :varVLR_IPI)) WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND IET.SEQUENCIA = :varSEQUENCIA; END /* == TRATA SUBSTITUIÇÃO TRIBUTÁRIA */ IF (NEW.ICMS_SUBST > 0) THEN BEGIN /* = = Faz somatorios de valores dos Itens de Entrada que tem substituição e procura o primeiro item= =*/ SELECT IET.COD_EMPRESA, IET.SEQ_INCLUSAO, IET.DOCUMENTO, MIN(IET.SEQUENCIA), SUM(IET.VLR_TOTAL_ITEM) FROM ITENS_ENTRADA IET WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND (IET.CST_TRIB = '10' OR IET.CST_TRIB = '30' OR IET.CST_TRIB = '60' OR IET.CST_TRIB = '70') GROUP BY IET.COD_EMPRESA, IET.SEQ_INCLUSAO, IET.DOCUMENTO INTO :varCOD_EMPRESA, :varSEQ_INCLUSAO, :varDOCUMENTO, :varSEQUENCIA, :varVLT_TOTAL_ITEM; IF (varVLT_TOTAL_ITEM > 0) THEN BEGIN /* == Passa todos os itens que tem susbstituição e rateia o valor da mesma*/ UPDATE ITENS_ENTRADA IET SET IET.RAT_ICMS_SUBST = (NEW.ICMS_SUBST * (IET.VLR_TOTAL_ITEM / :varVLT_TOTAL_ITEM)) WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND (IET.CST_TRIB = '10' OR IET.CST_TRIB = '30' OR IET.CST_TRIB = '60' OR IET.CST_TRIB = '70'); END ELSE BEGIN /* == Passa todos os itens que tem susbstituição e rateia o valor da mesma*/ UPDATE ITENS_ENTRADA IET SET IET.RAT_ICMS_SUBST = NEW.ICMS_SUBST WHERE IET.COD_EMPRESA = NEW.COD_EMPRESA AND IET.SEQ_INCLUSAO = NEW.SEQ_INCLUSAO AND IET.DOCUMENTO = NEW.DOCUMENTO AND IET.TIPO_CONTROL = NEW.TIPO_CONTROL AND (IET.CST_TRIB = '10' OR IET.CST_TRIB = '30' OR IET.CST_TRIB = '60' OR IET.CST_TRIB = '70'); END END END^ SET TERM ;^ COMMIT WORK; /*================*/ /* Versão: 2.5.82 */ /*==============================================================*/ /* Table: MEIOS_PAGTO */ /*==============================================================*/ ALTER TABLE MEIOS_PAGTO ADD COD_TOTIMPFISC CHAR(2); COMMIT WORK; /*================*/ /* Versão: 2.5.85 */ /*==============================================================*/ /* Table: HIST_CONTABEIS */ /*==============================================================*/ create table HIST_CONTABEIS ( COD_HISCON SMALLINT not null, DESCRICAO VARCHAR(60), TIPO_HISCON CHAR(1), CONTA VARCHAR(15), COD_CONTRA SMALLINT, constraint PK_HIST_CONTABEIS primary key (COD_HISCON) ); COMMIT WORK; /*==============================================================*/ /* Table: OPER_RECPAG */ /*==============================================================*/ ALTER TABLE OPER_RECPAG ADD COD_HISCON SMALLINT; COMMIT WORK; /*==============================================================*/ /* Table: MAPA_RESUMO */ /*==============================================================*/ ALTER TABLE MAPA_RESUMO ADD NRO_SERIE_EQUIP VARCHAR(20); COMMIT WORK; /*================*/ /* Versão: 2.5.86 */ /*==============================================================*/ /* Table: VENDEDORES */ /*==============================================================*/ ALTER TABLE VENDEDORES ADD CELULAR VARCHAR(30); COMMIT WORK; /*================*/ /* Versão: 2.5.87 */ /*==============================================================*/ /* Trigger: TG_INSERIR_MOVTO_CAIXA */ /*==============================================================*/ SET TERM ^; ALTER TRIGGER TG_INSERIR_MOVTO_CAIXA ACTIVE BEFORE INSERT POSITION 0 AS DECLARE VARIABLE varSALDO_ANTERIOR NUMERIC(15,5); DECLARE VARIABLE varMES INTEGER; DECLARE VARIABLE varANO INTEGER; BEGIN SELECT SALDO_ANTERIOR FROM SALDO_CAIXA WHERE COD_EMPRESA = NEW.COD_EMPRESA AND COD_BANCO = NEW.COD_BANCO AND ANO = NEW.ANO AND MES = NEW.MES INTO :varSALDO_ANTERIOR; IF (varSALDO_ANTERIOR IS NULL) THEN BEGIN varSALDO_ANTERIOR = 0; varMES = 1; WHILE (varMES <= 12) DO BEGIN INSERT INTO SALDO_CAIXA (COD_EMPRESA, COD_BANCO, ANO, MES, SALDO_ANTERIOR, VLR_ENTRADA, VLR_SAIDA) VALUES (NEW.COD_EMPRESA, NEW.COD_BANCO, NEW.ANO, :varMES,0,0,0); varMES = varMES + 1; END END IF (NEW.TIPO_LANCTO = 'E') THEN BEGIN UPDATE SALDO_CAIXA SET VLR_ENTRADA = (VLR_ENTRADA + NEW.VLR_MOVTO) WHERE COD_EMPRESA = NEW.COD_EMPRESA AND COD_BANCO = NEW.COD_BANCO AND ANO = NEW.ANO AND MES = NEW.MES; END IF (NEW.TIPO_LANCTO = 'S') THEN BEGIN UPDATE SALDO_CAIXA SET VLR_SAIDA = (VLR_SAIDA + (NEW.VLR_MOVTO * -1)) WHERE COD_EMPRESA = NEW.COD_EMPRESA AND COD_BANCO = NEW.COD_BANCO AND ANO = NEW.ANO AND MES = NEW.MES; END SELECT SALDO_ATUAL FROM SALDO_CAIXA WHERE COD_EMPRESA = NEW.COD_EMPRESA AND COD_BANCO = NEW.COD_BANCO AND ANO = NEW.ANO AND MES = NEW.MES INTO :varSALDO_ANTERIOR; varMES = NEW.MES + 1; FOR SELECT ANO FROM SALDO_CAIXA WHERE COD_EMPRESA = NEW.COD_EMPRESA AND COD_BANCO = NEW.COD_BANCO AND ANO >= NEW.ANO GROUP BY ANO INTO :varANO DO BEGIN WHILE (varMES <= 12) DO BEGIN UPDATE SALDO_CAIXA SET SALDO_ANTERIOR = :varSALDO_ANTERIOR WHERE COD_EMPRESA = NEW.COD_EMPRESA AND COD_BANCO = NEW.COD_BANCO AND ANO = :varANO AND MES = :varMES; SELECT SALDO_ATUAL FROM SALDO_CAIXA WHERE COD_EMPRESA = NEW.COD_EMPRESA AND COD_BANCO = NEW.COD_BANCO AND ANO = :varANO AND MES = :varMES INTO :varSALDO_ANTERIOR; varMES = varMES + 1; END varMES = 1; END END^ SET TERM ;^ COMMIT WORK; /*==============================================================*/ /* Table: PARAMETROS */ /*==============================================================*/ INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (1,107,'CHAVE_BUSCACEP_COD_IBGE','Chave para Site www.buscarcep.com.br (Cód. Nacional IBGE)','STRING','1',''); COMMIT WORK; /*================*/ /* Versão: 2.5.88 */ /*==============================================================*/ /* Table: BANCOS */ /*==============================================================*/ ALTER TABLE BANCOS ADD NRO_BANCO CHAR(5); COMMIT WORK; /*==============================================================*/ /* Table: CONF_BOLETOS */ /*==============================================================*/ alter table CONF_BOLETOS add ESPECIE_DOC VARCHAR(35); alter table CONF_BOLETOS add COD_CARTEIRA VARCHAR(5); alter table CONF_BOLETOS add QUEM_EMITE CHAR(1); alter table CONF_BOLETOS add FORMA_CAD CHAR(1); alter table CONF_BOLETOS add COD_MOVTO CHAR(3); alter table CONF_BOLETOS add INSTRUCOES BLOB SUB_TYPE 1 SEGMENT SIZE 80; alter table CONF_BOLETOS add CED_NRO_AGENCIA VARCHAR(5); alter table CONF_BOLETOS add CED_DV_AGENCIA CHAR(1); alter table CONF_BOLETOS add CED_NRO_CONTA VARCHAR(12); alter table CONF_BOLETOS add CED_DV_CONTA CHAR(1); alter table CONF_BOLETOS add CED_CODIGO VARCHAR(12); alter table CONF_BOLETOS add CED_DV CHAR(1); alter table CONF_BOLETOS add CED_CONVENIO VARCHAR(16); alter table CONF_BOLETOS add CED_NOME VARCHAR(30); alter table CONF_BOLETOS add CED_PESSOA CHAR(1); alter table CONF_BOLETOS add CED_CPF_CNPJ VARCHAR(20); COMMIT WORK; /*================*/ /* Versão: 2.5.89 */ /*==============================================================*/ /* Table: PARAMETROS */ /*==============================================================*/ INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (1,108,'MOVTA_ESTOQUE_PEDIDO','Pedidos: Faz Movimentação de Estoque','STRING','9','N'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (1,109,'LANCA_CTRECEBER_PEDIDO','Pedidos: Faz Lançamento no Contas à Receber','STRING','9','N'); COMMIT WORK; /*==============================================================*/ /* Table: PEDIDOS */ /*==============================================================*/ ALTER TABLE PEDIDOS ADD TIPO_EMISSAO VARCHAR(15); COMMIT WORK; /*=================*/ /* Versão: 2.5.89b */ /*==============================================================*/ /* Table: MOVTO_RECPAG */ /*==============================================================*/ ALTER TABLE MOVTO_RECPAG ADD DESCR_MOVTO VARCHAR(40); COMMIT WORK; /*=================*/ /* Versão: 2.5.89d */ /*==============================================================*/ /* Table: ENTRADAS */ /*==============================================================*/ ALTER TABLE ENTRADAS ADD TIPO_FRETE_CONH CHAR(1); COMMIT WORK; /*================*/ /* Versão: 2.5.90 */ /*==============================================================*/ /* Table: PARAMETROS */ /*==============================================================*/ INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (1,110,'TIPO_IMP_CREDIARIO','Crediário: Tipo de Impressão (PRE-IMP, PEQUENO, GRANDE)','STRING','7','GRANDE'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (1,111,'TIPO_IMP_DUPLICATA','Duplicatas: Tipo de Impressão (PRE-IMP, VARIAS, UNICA)','STRING','7','VARIAS'); COMMIT WORK; /*================*/ /* Versão: 2.5.91 */ /*==============================================================*/ /* Table: PRODUTOS */ /*==============================================================*/ ALTER TABLE PRODUTOS ADD MOVTA_ESTOQUE CHAR(1); COMMIT WORK; UPDATE PRODUTOS SET MOVTA_ESTOQUE = 'S' WHERE MOVTA_ESTOQUE IS NULL; COMMIT WORK; /*==============================================================*/ /* Table: ITENS_ENTRADA */ /*==============================================================*/ ALTER TABLE ITENS_ENTRADA ADD MOVTA_ESTOQUE CHAR(1); COMMIT WORK; UPDATE ITENS_ENTRADA SET MOVTA_ESTOQUE = 'S' WHERE MOVTA_ESTOQUE IS NULL; COMMIT WORK; /*================*/ /* Versão: 2.5.95 */ /*==============================================================*/ /* Table: ITENS_ENTRADA */ /*==============================================================*/ UPDATE ITENS_ENTRADA SET RAT_ICMS_SUBST = 0 WHERE RAT_ICMS_SUBST IS NULL; UPDATE ITENS_ENTRADA SET RAT_IPI = 0 WHERE RAT_IPI IS NULL; COMMIT WORK; /*================*/ /* Versão: 2.5.96 */ /*==============================================================*/ /* Table: DOCTOS_RECPAG */ /*==============================================================*/ ALTER TABLE DOCTOS_RECPAG ADD TIPO_ORIGEM VARCHAR(10); ALTER TABLE DOCTOS_RECPAG ADD DOC_ORIGEM VARCHAR(25); COMMIT WORK; UPDATE DOCTOS_RECPAG SET TIPO_ORIGEM = 'CUPOM', DOC_ORIGEM = SUBSTR(NRO_DOCTO,3,15) WHERE SUBSTR(NRO_DOCTO,1,2) = 'CF' AND TIPO_ORIGEM IS NULL; UPDATE DOCTOS_RECPAG SET TIPO_ORIGEM = 'NFISCAL', DOC_ORIGEM = SUBSTR(NRO_DOCTO,3,15) WHERE SUBSTR(NRO_DOCTO,1,2) = 'NF' AND TIPO_ORIGEM IS NULL; UPDATE DOCTOS_RECPAG SET TIPO_ORIGEM = 'BOLETO', DOC_ORIGEM = SUBSTR(NRO_DOCTO,4,15) WHERE SUBSTR(NRO_DOCTO,1,3) = 'BLT' AND TIPO_ORIGEM IS NULL; UPDATE DOCTOS_RECPAG SET TIPO_ORIGEM = 'FATURA', DOC_ORIGEM = SUBSTR(NRO_DOCTO,3,15) WHERE SUBSTR(NRO_DOCTO,1,2) = 'FT' AND TIPO_ORIGEM IS NULL; COMMIT WORK; /*================*/ /* Versão: 2.5.97 */ /*==============================================================*/ /* Table: PARAMETROS */ /*==============================================================*/ INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (1,112,'PED_TESTAR_SALDO_PRODUTO','Pedidos: Testar se Tem Saldo Suficiente para Venda','STRING','9','N'); COMMIT WORK; /*================*/ /* Versão: 2.6.01 */ /*==============================================================*/ /* Table: ALIQ_COFINS */ /*==============================================================*/ create table ALIQ_COFINS ( COD_COFINS SMALLINT not null, DESCRICAO VARCHAR(45), CST CHAR(2), BASE_COFINS NUMERIC(18,3), PERC_COFINS NUMERIC(9,4), STATUS_ALT CHAR(1), constraint PK_ALIQ_COFINS primary key (COD_COFINS) ); /*==============================================================*/ /* Table: ALIQ_CSOSN */ /*==============================================================*/ create table ALIQ_CSOSN ( COD_CSOSN SMALLINT not null, DESCRICAO VARCHAR(45), ORIG_MERC CHAR(1), CSOSN CHAR(3), STATUS_ALT CHAR(1), constraint PK_ALIQ_CSOSN primary key (COD_CSOSN) ); /*==============================================================*/ /* Table: ALIQ_PIS */ /*==============================================================*/ create table ALIQ_PIS ( COD_PIS SMALLINT not null, DESCRICAO VARCHAR(45), CST CHAR(2), BASE_PIS NUMERIC(18,3), PERC_PIS NUMERIC(9,4), STATUS_ALT CHAR(1), constraint PK_ALIQ_PIS primary key (COD_PIS) ); /*==============================================================*/ /* Table: ITENS_NF */ /*==============================================================*/ alter table ITENS_NF add COD_PIS SMALLINT; alter table ITENS_NF add BASE_PIS NUMERIC(15,2); alter table ITENS_NF add PERC_PIS NUMERIC(9,4); alter table ITENS_NF add VLR_PIS NUMERIC(15,2); alter table ITENS_NF add CST_PIS CHAR(2); alter table ITENS_NF add COD_COFINS SMALLINT; alter table ITENS_NF add BASE_COFINS NUMERIC(15,2); alter table ITENS_NF add PERC_COFINS NUMERIC(9,4); alter table ITENS_NF add VLR_COFINS NUMERIC(15,2); alter table ITENS_NF add CST_COFINS CHAR(2); alter table ITENS_NF add COD_CSOSN SMALLINT; alter table ITENS_NF add CST_CSOSN CHAR(3); COMMIT WORK; alter table ITENS_NF add constraint FK_ITENSNF_ALIQCOFINS foreign key (COD_COFINS) references ALIQ_COFINS (COD_COFINS); alter table ITENS_NF add constraint FK_ITENSNF_ALIQCSOSN foreign key (COD_CSOSN) references ALIQ_CSOSN (COD_CSOSN); alter table ITENS_NF add constraint FK_ITENSNF_ALIQPIS foreign key (COD_PIS) references ALIQ_PIS (COD_PIS); COMMIT WORK; /*==============================================================*/ /* Table: PRODUTOS */ /*==============================================================*/ alter table PRODUTOS add COD_PIS SMALLINT; alter table PRODUTOS add COD_COFINS SMALLINT; alter table PRODUTOS add COD_CSOSN SMALLINT; COMMIT WORK; alter table PRODUTOS add constraint FK_PRODUTOS_ALIQCOFINS foreign key (COD_COFINS) references ALIQ_COFINS (COD_COFINS); alter table PRODUTOS add constraint FK_PRODUTOS_ALIQCSOSN foreign key (COD_CSOSN) references ALIQ_CSOSN (COD_CSOSN); alter table PRODUTOS add constraint FK_PRODUTOS_ALIQPIS foreign key (COD_PIS) references ALIQ_PIS (COD_PIS); COMMIT WORK; /*==============================================================*/ /* Table: EMPRESAS */ /*==============================================================*/ ALTER TABLE EMPRESAS ADD TRIBUTACAO_CRT CHAR(1); COMMIT WORK; UPDATE EMPRESAS SET TRIBUTACAO_CRT = '3' WHERE TRIBUTACAO_CRT IS NULL; COMMIT WORK;