/*================*/ /* Versão: 2.36 */ /*==============================================================*/ /* Table: FORMAS_PAGTO */ /*==============================================================*/ create table FORMAS_PAGTO ( COD_FORMA SMALLINT not null, QTD_FORMA VARCHAR(100), constraint PK_FORMAS_PAGTO primary key (COD_FORMA) ); COMMIT WORK; /*==============================================================*/ /* Table: ACERTO_FATURA */ /*==============================================================*/ alter table ACERTO_FATURA drop DIA_VCTO1; alter table ACERTO_FATURA drop DIA_VCTO2; alter table ACERTO_FATURA drop DIA_VCTO3; alter table ACERTO_FATURA drop DIA_VCTO4; alter table ACERTO_FATURA drop DIA_VCTO5; alter table ACERTO_FATURA drop DIA_VCTO6; COMMIT WORK; ALTER TABLE ACERTO_FATURA ADD COD_FORMA_PGTO SMALLINT; alter table ACERTO_FATURA add constraint FK_ACERTO_FATURA_FORMA_PGTO foreign key (COD_FORMA_PGTO) references FORMAS_PAGTO(COD_FORMA); COMMIT WORK; /*================*/ /* Versão: 2.37 */ /*==============================================================*/ /* Table: MAPA_RESUMO */ /*==============================================================*/ create table MAPA_RESUMO ( COD_EMPRESA SMALLINT not null, COD_PARAMETRO SMALLINT not null, DATA DATE not null, NRO_EQUIP SMALLINT not null, NRO_MAPA INTEGER, NRO_CONT_INI INTEGER, NRO_CONT_FIN INTEGER, NRO_CONT_REINI INTEGER not null, NRO_CONT_RED INTEGER, NRO_CONT_OPER INTEGER, GRAND_TOTAL_ACUM NUMERIC(15,2), VENDA_BRUTA NUMERIC(15,2), CANCELAMENTOS NUMERIC(15,2), ACRESCIMOS NUMERIC(15,2), DESCONTOS NUMERIC(15,2), VENDA_LIQUIDA NUMERIC(15,2), SUBST_TRIB NUMERIC(15,2), ISENTAS NUMERIC(15,2), NAO_TRIBUTADA NUMERIC(15,2), ISENTAS_NAOTRIB COMPUTED BY (ISENTAS + NAO_TRIBUTADA), ALIQ_1 NUMERIC(9,2), VALOR_1 NUMERIC(15,2), IMPOSTO_1 NUMERIC(15,2), ALIQ_2 NUMERIC(9,2), VALOR_2 NUMERIC(15,2), IMPOSTO_2 NUMERIC(15,2), ALIQ_3 NUMERIC(9,2), VALOR_3 NUMERIC(15,2), IMPOSTO_3 NUMERIC(15,2), ALIQ_4 NUMERIC(9,2), VALOR_4 NUMERIC(15,2), IMPOSTO_4 NUMERIC(15,2), ALIQ_5 NUMERIC(9,2), VALOR_5 NUMERIC(15,2), IMPOSTO_5 NUMERIC(15,2), ALIQ_6 NUMERIC(9,2), VALOR_6 NUMERIC(15,2), IMPOSTO_6 NUMERIC(15,2), ALIQ_7 NUMERIC(9,2), VALOR_7 NUMERIC(15,2), IMPOSTO_7 NUMERIC(15,2), ALIQ_8 NUMERIC(9,2), VALOR_8 NUMERIC(15,2), IMPOSTO_8 NUMERIC(15,2), ALIQ_9 NUMERIC(9,2), VALOR_9 NUMERIC(15,2), IMPOSTO_9 NUMERIC(15,2), ALIQ_10 NUMERIC(9,2), VALOR_10 NUMERIC(15,2), IMPOSTO_10 NUMERIC(15,2), SOMA_ALIQ COMPUTED BY (VALOR_1 + VALOR_2 + VALOR_3 + VALOR_4 + VALOR_5 + VALOR_6 + VALOR_7 + VALOR_8 + VALOR_9 + VALOR_10), VALOR_ICMS COMPUTED BY (IMPOSTO_1 + IMPOSTO_2 + IMPOSTO_3 + IMPOSTO_4 + IMPOSTO_5 + IMPOSTO_6 + IMPOSTO_7 + IMPOSTO_8 + IMPOSTO_9 + IMPOSTO_10), constraint PK_MAPA_RESUMO primary key (COD_PARAMETRO, COD_EMPRESA, DATA, NRO_EQUIP) ); COMMIT WORK; /*==============================================================*/ /* Table: PARAMETROS */ /*==============================================================*/ INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,VALOR_PARAM,TIPO_PARAM,CLASS_PARAM) VALUES (1,24,'NRO_SERIE_IMPFISCAL','Nº de Séria da Impressora Fiscal','0123','STRING','2'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,VALOR_PARAM,TIPO_PARAM,CLASS_PARAM) VALUES (1,25,'NRO_ORDEM_IMPFISCAL','Nº de Ordem de Qtd. de Equipamentos na Empresa','1','INTEGER','2'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,VALOR_PARAM,TIPO_PARAM,CLASS_PARAM) VALUES (1,26,'CRO_IMPFISCAL','Contador de Reinício de Operação da Imp. Fiscal','1','INTEGER','2'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,VALOR_PARAM,TIPO_PARAM,CLASS_PARAM) VALUES (1,27,'NRO_MAPA_RESUMO','Nº do Último Mapa Resumo Retirado da Imp. Fiscal','0','INTEGER','2'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,VALOR_PARAM,TIPO_PARAM,CLASS_PARAM) VALUES (1,28,'NOME_RESPONSAVEL_EMP','Nome do Responsável pela Empresa','NOME DO RESPONSAVEL','STRING','2'); INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,VALOR_PARAM,TIPO_PARAM,CLASS_PARAM) VALUES (1,29,'CPF_RESPONSAVEL_EMP','CPF do Responsável pela Empresa','999.999.999-99','STRING','2'); COMMIT WORK; /*==============================================================*/ /* Table: CIDADES */ /*==============================================================*/ ALTER TABLE CIDADES ADD COD_NACIONAL VARCHAR(15); COMMIT WORK; /*==============================================================*/ /* Table: ENTRADAS */ /*==============================================================*/ alter table ENTRADAS add MODELO_DOC CHAR(2); alter table ENTRADAS add SUB_SERIE_DOC CHAR(2); alter table ENTRADAS add ALIQ_ICMS NUMERIC(9,2); alter table ENTRADAS add BASE_ICMS_SUBST NUMERIC(15,2); COMMIT WORK; UPDATE ENTRADAS SET MODELO_DOC = '01'; COMMIT WORK; /*==============================================================*/ /* Table: ITENS_ENTRADA */ /*==============================================================*/ ALTER TABLE ITENS_ENTRADA ADD RAT_ICMS_SUBST NUMERIC(15,2); COMMIT WORK; /*==============================================================*/ /* Trigger: 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 varVLT_TOTAL_ITEM DECIMAL(15,2); DECLARE VARIABLE varVLR_RATEIO DECIMAL(15,2); DECLARE VARIABLE varVLR_ICMS DECIMAL(15,2); DECLARE VARIABLE varBASE_ICMS DECIMAL(15,2); DECLARE VARIABLE varRAT_ICMS DECIMAL(15,2); DECLARE VARIABLE varRAT_BASE_ICMS DECIMAL(15,2); DECLARE VARIABLE varSEQUENCIA INTEGER; /* = = Rateia Acrescimos e descontos entre os Itens de Entrada= =*/ 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; /* = = Faz somatorios de valores dos Itens de Entrada e procura o primeiro item= =*/ SELECT IET.DOCUMENTO, SUM(IET.RAT_VALOR), MIN(IET.SEQ_ITEM), SUM(IET.BASE_ICMS), SUM(IET.VLR_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 GROUP BY IET.DOCUMENTO INTO :varDOCUMENTO, :varVLR_RATEIO, :varSEQUENCIA, :varBASE_ICMS, :varVLR_ICMS; /* = = 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.SEQ_ITEM = :varSEQUENCIA; /* = = Rateia Valores de Icms e Base Icms que alem dos Itens = =*/ 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.DOCUMENTO, MIN(IET.SEQ_ITEM), 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.DOCUMENTO INTO :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.SEQ_ITEM = :varSEQUENCIA; /* == TRATA SUBSTITUIÇÃO TRIBUTÁRIA */ IF (NEW.ICMS_SUBST > 0) THEN BEGIN /* = = Faz somatorios de valores dos Itens de Entrada que tem substituição */ SELECT 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.DOCUMENTO INTO :varVLT_TOTAL_ITEM; /* == 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 END^ SET TERM ;^ COMMIT WORK; /*================*/ /* Versão: 2.39 */ /*==============================================================*/ /* Table: PESSOAS_FJ */ /*==============================================================*/ ALTER TABLE PESSOAS_FJ ADD COD_CTDEBITO VARCHAR(10); ALTER TABLE PESSOAS_FJ ADD COD_CTCREDITO VARCHAR(10); COMMIT WORK; /*================*/ /* Versão: 2.42 */ /*==============================================================*/ /* Table: NOTA_FISCAL */ /*==============================================================*/ ALTER TABLE NOTA_FISCAL ADD NRO_FATURA INTEGER; COMMIT WORK; /*==============================================================*/ /* Table: PARCELAS_NF */ /*==============================================================*/ ALTER TABLE PARCELAS_NF ALTER COLUMN COD_BANCO TO COD_CONTA; COMMIT WORK; /*==============================================================*/ /* Table: ACERTO_FATURA */ /*==============================================================*/ ALTER TABLE ACERTO_FATURA ADD TIPO_EMISSAO VARCHAR(15); ALTER TABLE ACERTO_FATURA ADD NRO_DOCTO VARCHAR(10); COMMIT WORK; UPDATE ACERTO_FATURA AF SET AF.TIPO_EMISSAO = 'NÃO EMITIDO'; COMMIT WORK; UPDATE ACERTO_FATURA AF SET AF.TIPO_EMISSAO = 'CUPOM FISCAL', AF.NRO_DOCTO = (SELECT CF.NRO_CUPOM FROM CUPOM_FISCAL CF WHERE CF.COD_EMPRESA = AF.COD_EMPRESA AND CF.NRO_FATURA = AF.NRO_FATURA) WHERE AF.FEITO_CUPOM = 'S'; COMMIT WORK; alter table ACERTO_FATURA drop FEITO_CUPOM; COMMIT WORK; /*--------------------------------------------------------------*/ /*--------------------------------------------------------------*/ /*---------------- ATENÇÃO ----------------------*/ /*---------------- ----------------------*/ /*-------- SOMENTE EXECUTAR NO POSSA --------------*/ /*--------------------------------------------------------------*/ /*--------------------------------------------------------------*/ /*--- INICIO ---------------------------------------------------*/ /*==============================================================*/ /* Table: PARAMETROS */ /*==============================================================*/ UPDATE PARAMETROS SET NOME_PARAM = 'PERC_CUSTOS_FIXOS', DESCR_PARAM = '% Custos Fixos na Venda', TIPO_PARAM = 'FLOAT', VALOR_PARAM = '20' WHERE SEQ_PARAM = 12; COMMIT WORK; DELETE FROM PARAMETROS WHERE SEQ_PARAM = 13; COMMIT WORK INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,VALOR_PARAM,TIPO_PARAM,CLASS_PARAM) VALUES (1,13,'NRO_ULTFATURA','Número da Última Pré-Fatura Realizada','0','INTEGER','2'); COMMIT WORK; INSERT INTO PARAMETROS (COD_PARAMETRO,SEQ_PARAM,NOME_PARAM,DESCR_PARAM,VALOR_PARAM,TIPO_PARAM,CLASS_PARAM) VALUES (1,16,'NRO_ULTREMESSA','Número da Última Remessa Gera em Arquivo','0','INTEGER','2'); COMMIT WORK; /*==============================================================*/ /* Table: DOCTOS_RECPAG */ /*==============================================================*/ ALTER TABLE DOCTOS_RECPAG ADD NRO_DOCFISCAL VARCHAR(10); COMMIT WORK; /*--------------------------------------------------------------*/ /*--- FIM ------------------------------------------------------*/ /*--------------------------------------------------------------*/