/*================*/ /* Versão: 2.43 */ /*==============================================================*/ /* Table: NOTA_FISCAL */ /*==============================================================*/ ALTER TABLE NOTA_FISCAL ADD NRO_FORM INTEGER; COMMIT WORK; /*==============================================================*/ /* Table: PARAMETROS */ /*==============================================================*/ UPDATE PARAMETROS SET CLASS_PARAM = '3' WHERE SEQ_PARAM = 1; COMMIT WORK; INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM) VALUES (1,30,'NRO_ULT_FORM','Número do Último Formulário de Nota Fiscal','INTEGER','3'); COMMIT WORK; /*================*/ /* Versão: 2.48 */ /*==============================================================*/ /* Table: ENTRADAS */ /*==============================================================*/ ALTER TABLE ENTRADAS ADD TIPO_FRETE_CONH CHAR(1); COMMIT WORK; /*================*/ /* Versão: 2.53 */ /*==============================================================*/ /* Table: MAPA_RESUMO */ /*==============================================================*/ ALTER TABLE MAPA_RESUMO ADD NRO_SERIE_EQUIP VARCHAR(20); COMMIT WORK; /*================*/ /* Versão: 2.64 */ /*==============================================================*/ /* Table: ITENS_NF */ /*==============================================================*/ alter table ITENS_NF add TIPO_ITEM CHAR(4); alter table ITENS_NF add TIPO_VALOR CHAR(8); alter table ITENS_NF add COD_SERVICO SMALLINT; alter table ITENS_NF add DESCR_COMPL BLOB; alter table ITENS_NF add ALIQ_ISS NUMERIC(15,3); alter table ITENS_NF add VLR_ISS NUMERIC(15,2); COMMIT WORK; UPDATE ITENS_NF SET TIPO_ITEM = 'MERC'; COMMIT WORK; /*==============================================================*/ /* Table: SERVICOS */ /*==============================================================*/ create table SERVICOS ( COD_SERVICO SMALLINT not null, DESCRICAO BLOB, VALOR NUMERIC(15,3), constraint PK_SERVICOS primary key (COD_SERVICO) ); alter table ITENS_NF add constraint FK_ITENS_NF_SERVICOS foreign key (COD_SERVICO) references SERVICOS (COD_SERVICO); COMMIT WORK; /*==============================================================*/ /* Trigger: TG_UPDATE_NOTAFISCAL */ /*==============================================================*/ SET TERM ^; ALTER TRIGGER TG_UPDATE_NOTAFISCAL ACTIVE BEFORE UPDATE POSITION 0 AS DECLARE VARIABLE varCOD_EMPRESA INTEGER; DECLARE VARIABLE varTIPO_CONTROL CHAR(1); DECLARE VARIABLE varNRO_NF INTEGER; DECLARE VARIABLE varVLR_TOTAL DECIMAL(15,2); DECLARE VARIABLE varBASE_ICMS DECIMAL(15,2); DECLARE VARIABLE varVLR_ICMS DECIMAL(15,2); DECLARE VARIABLE varVLR_IPI DECIMAL(15,2); DECLARE VARIABLE varBASE_ICMS2 DECIMAL(15,2); DECLARE VARIABLE varVLR_SERVICO DECIMAL(15,2); DECLARE VARIABLE varVLR_PRODUTO DECIMAL(15,2); DECLARE VARIABLE varVLR_FRETE DECIMAL(15,2); DECLARE VARIABLE varVLR_SEGURO DECIMAL(15,2); DECLARE VARIABLE varVLR_OUT_DESP DECIMAL(15,2); DECLARE VARIABLE varVLR_DESCTO DECIMAL(15,2); DECLARE VARIABLE varVLR_ACRES DECIMAL(15,2); BEGIN /* SELEÇÃO DOS VALORES DOS ITENS DE PRODUTOS */ SELECT SUM(INF.VLR_TOTAL), SUM(INF.BASE_ICMS), SUM(INF.VLR_ICMS), SUM(INF.VLR_IPI) FROM ITENS_NF INF WHERE INF.COD_EMPRESA = NEW.COD_EMPRESA AND INF.NRO_NF = NEW.NRO_NF AND INF.TIPO_CONTROL = NEW.TIPO_CONTROL AND INF.TIPO_ITEM = 'MERC' INTO :varVLR_PRODUTO, :varBASE_ICMS, :varVLR_ICMS, :varVLR_IPI; IF (:varVLR_PRODUTO IS NOT NULL) THEN NEW.VLR_PROD = :varVLR_PRODUTO; IF (:varBASE_ICMS IS NOT NULL) THEN NEW.BASE_ICMS = :varBASE_ICMS; IF (:varVLR_ICMS IS NOT NULL) THEN NEW.VLR_ICMS = :varVLR_ICMS; IF (:varVLR_IPI IS NOT NULL) THEN NEW.VLR_IPI = :varVLR_IPI; /* SELEÇÃO DOS VALORES DOS ITENS DE SERVICO */ SELECT SUM(INF.VLR_TOTAL), SUM(INF.BASE_ICMS), SUM(INF.VLR_ICMS) FROM ITENS_NF INF WHERE INF.COD_EMPRESA = NEW.COD_EMPRESA AND INF.NRO_NF = NEW.NRO_NF AND INF.TIPO_CONTROL = NEW.TIPO_CONTROL AND INF.TIPO_ITEM = 'SERV' INTO :varVLR_SERVICO, :varBASE_ICMS, :varVLR_ICMS; IF (:varVLR_SERVICO IS NOT NULL) THEN NEW.VLR_SERV = :varVLR_SERVICO; IF (:varBASE_ICMS IS NOT NULL) THEN NEW.BASE_ICMS = NEW.BASE_ICMS + :varBASE_ICMS; IF (:varVLR_ICMS IS NOT NULL) THEN NEW.VLR_ICMS = NEW.VLR_ICMS + :varVLR_ICMS; /* SELEÇÃO DOS VALORES DOS ITENS DE FRETE */ SELECT SUM(INF.VLR_TOTAL), SUM(INF.BASE_ICMS), SUM(INF.VLR_ICMS) FROM ITENS_NF INF WHERE INF.COD_EMPRESA = NEW.COD_EMPRESA AND INF.NRO_NF = NEW.NRO_NF AND INF.TIPO_CONTROL = NEW.TIPO_CONTROL AND INF.TIPO_ITEM = 'DADO' AND INF.TIPO_VALOR = 'FRETE' INTO :varVLR_FRETE, :varBASE_ICMS, :varVLR_ICMS; IF (:varVLR_FRETE IS NOT NULL) THEN NEW.VLR_FRETE = :varVLR_FRETE; IF (:varBASE_ICMS IS NOT NULL) THEN NEW.BASE_ICMS = NEW.BASE_ICMS + :varBASE_ICMS; IF (:varVLR_ICMS IS NOT NULL) THEN NEW.VLR_ICMS = NEW.VLR_ICMS + :varVLR_ICMS; /* SELEÇÃO DOS VALORES DOS ITENS DE SEGURO */ SELECT SUM(INF.VLR_TOTAL), SUM(INF.BASE_ICMS), SUM(INF.VLR_ICMS) FROM ITENS_NF INF WHERE INF.COD_EMPRESA = NEW.COD_EMPRESA AND INF.NRO_NF = NEW.NRO_NF AND INF.TIPO_CONTROL = NEW.TIPO_CONTROL AND INF.TIPO_ITEM = 'DADO' AND INF.TIPO_VALOR = 'SEGURO' INTO :varVLR_SEGURO, :varBASE_ICMS, :varVLR_ICMS; IF (:varVLR_SEGURO IS NOT NULL) THEN NEW.VLR_SEGURO = :varVLR_SEGURO; IF (:varBASE_ICMS IS NOT NULL) THEN NEW.BASE_ICMS = NEW.BASE_ICMS + :varBASE_ICMS; IF (:varVLR_ICMS IS NOT NULL) THEN NEW.VLR_ICMS = NEW.VLR_ICMS + :varVLR_ICMS; /* SELEÇÃO DOS VALORES DOS ITENS DE OUTRAS DESPESAS */ SELECT SUM(INF.VLR_TOTAL), SUM(INF.BASE_ICMS), SUM(INF.VLR_ICMS) FROM ITENS_NF INF WHERE INF.COD_EMPRESA = NEW.COD_EMPRESA AND INF.NRO_NF = NEW.NRO_NF AND INF.TIPO_CONTROL = NEW.TIPO_CONTROL AND INF.TIPO_ITEM = 'DADO' AND INF.TIPO_VALOR = 'OUT_DESP' INTO :varVLR_OUT_DESP, :varBASE_ICMS, :varVLR_ICMS; IF (:varVLR_OUT_DESP IS NOT NULL) THEN NEW.VLR_OUTDESP = :varVLR_OUT_DESP; IF (:varBASE_ICMS IS NOT NULL) THEN NEW.BASE_ICMS = NEW.BASE_ICMS + :varBASE_ICMS; IF (:varVLR_ICMS IS NOT NULL) THEN NEW.VLR_ICMS = NEW.VLR_ICMS + :varVLR_ICMS; /* SELEÇÃO DOS VALORES DOS ITENS DE DESCONTO */ SELECT SUM(INF.VLR_TOTAL), SUM(INF.BASE_ICMS), SUM(INF.VLR_ICMS) FROM ITENS_NF INF WHERE INF.COD_EMPRESA = NEW.COD_EMPRESA AND INF.NRO_NF = NEW.NRO_NF AND INF.TIPO_CONTROL = NEW.TIPO_CONTROL AND INF.TIPO_ITEM = 'DADO' AND INF.TIPO_VALOR = 'DESCTO' INTO :varVLR_DESCTO, :varBASE_ICMS, :varVLR_ICMS; IF (:varVLR_DESCTO IS NOT NULL) THEN NEW.VLR_DESC = :varVLR_DESCTO; IF (:varBASE_ICMS IS NOT NULL) THEN NEW.BASE_ICMS = NEW.BASE_ICMS + :varBASE_ICMS; IF (:varVLR_ICMS IS NOT NULL) THEN NEW.VLR_ICMS = NEW.VLR_ICMS + :varVLR_ICMS; /* SELEÇÃO DOS VALORES DOS ITENS DE ACRESCIMO */ SELECT SUM(INF.VLR_TOTAL), SUM(INF.BASE_ICMS), SUM(INF.VLR_ICMS) FROM ITENS_NF INF WHERE INF.COD_EMPRESA = NEW.COD_EMPRESA AND INF.NRO_NF = NEW.NRO_NF AND INF.TIPO_CONTROL = NEW.TIPO_CONTROL AND INF.TIPO_ITEM = 'DADO' AND INF.TIPO_VALOR = 'ACRES' INTO :varVLR_ACRES, :varBASE_ICMS, :varVLR_ICMS; IF (:varVLR_ACRES IS NOT NULL) THEN NEW.VLR_ACRES = :varVLR_ACRES; IF (:varBASE_ICMS IS NOT NULL) THEN NEW.BASE_ICMS = NEW.BASE_ICMS + :varBASE_ICMS; IF (:varVLR_ICMS IS NOT NULL) THEN NEW.VLR_ICMS = NEW.VLR_ICMS + :varVLR_ICMS; NEW.VLR_TOTAL = NEW.VLR_FRETE + NEW.VLR_SEGURO + NEW.VLR_OUTDESP + NEW.VLR_IPI + NEW.VLR_ACRES - NEW.VLR_DESC; IF (varVLR_PRODUTO IS NOT NULL) THEN BEGIN UPDATE ITENS_NF INF SET INF.VLR_RATEIO = (INF.VLR_TOTAL / :varVLR_PRODUTO) * (NEW.VLR_TOTAL) WHERE INF.COD_EMPRESA = NEW.COD_EMPRESA AND INF.NRO_NF = NEW.NRO_NF AND INF.TIPO_CONTROL = NEW.TIPO_CONTROL AND INF.TIPO_ITEM = 'MERC'; NEW.VLR_TOTAL = NEW.VLR_TOTAL + NEW.VLR_PROD; END IF (varVLR_SERVICO IS NOT NULL) THEN NEW.VLR_TOTAL = NEW.VLR_TOTAL + NEW.VLR_SERV; IF (NEW.DESC_INSS = 'S') THEN NEW.VLR_TOTAL = NEW.VLR_TOTAL - NEW.VLR_INSS; IF (NEW.DESC_IRRF = 'S') THEN NEW.VLR_TOTAL = NEW.VLR_TOTAL - NEW.VLR_IRRF; END^ SET TERM ;^ COMMIT WORK; /*==============================================================*/ /* Table: DOCTOS_RECPAG */ /*==============================================================*/ UPDATE DOCTOS_RECPAG SET SIT_COBRANCA = 'N'; COMMIT WORK; /*================*/ /* Versão: 2.83 */ /*==============================================================*/ /* Table: PARAMETROS */ /*==============================================================*/ INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (1,31,'ANO_LANCTO','Ano Base para Todos os Lançamentos do Sistema','INTEGER','2','2008'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (1,32,'MES_LANCTO','Mês Base para Todos os Lançamentos do Sistema','INTEGER','2','4'); COMMIT WORK; INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (2,31,'ANO_LANCTO','Ano Base para Todos os Lançamentos do Sistema','INTEGER','2','2008'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (2,32,'MES_LANCTO','Mês Base para Todos os Lançamentos do Sistema','INTEGER','2','4'); COMMIT WORK; INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (3,31,'ANO_LANCTO','Ano Base para Todos os Lançamentos do Sistema','INTEGER','2','2008'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,TIPO_PARAM,CLASS_PARAM,VALOR_PARAM) VALUES (3,32,'MES_LANCTO','Mês Base para Todos os Lançamentos do Sistema','INTEGER','2','4'); COMMIT WORK;