/*------ 25/03/2020 19:05:10 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_50' where (RDB$FIELD_NAME = 'PORTA40COL') and (RDB$RELATION_NAME = 'CONFFILAIMPRESSAO') ; /*------ 25/03/2020 19:19:53 --------*/ ALTER TABLE PRODUTOSVALORES ADD ORDEM INTEIRO_NULL; /*------ 25/03/2020 19:26:36 --------*/ CREATE TABLE BAIRROS( CODBAIRRO CODIGO NOT NULL, DESCRICAO VARCHAR_100, PESQUISA VC500, TAXAENTREGA VALOR_10_2); /*------ 25/03/2020 19:26:36 --------*/ alter table BAIRROS add primary key (CODBAIRRO); /*------ 25/03/2020 19:26:48 --------*/ ALTER TABLE BAIRROS ADD CODCIDADE INTEIRO_NULL; /*------ 25/03/2020 19:27:08 --------*/ CREATE GENERATOR GEN_BAIRROS; /*------ 25/03/2020 19:27:08 --------*/ SET TERM ^ ; CREATE TRIGGER BAIRROS_BI FOR BAIRROS ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.CODBAIRRO IS NULL OR NEW.CODBAIRRO=0) THEN NEW.CODBAIRRO = GEN_ID(GEN_BAIRROS,1); END ^ SET TERM ; ^ /*------ 26/03/2020 06:52:03 --------*/ ALTER TABLE ITENSPEDDELIVERY ADD DESCVALORTABELA VARCHAR_30; /*------ 26/03/2020 06:53:34 --------*/ ALTER TABLE PEDIDOS ADD DESCVALORTABELA VARCHAR_30; /*------ 26/03/2020 08:43:44 --------*/ ALTER TABLE PEDIDOS ADD TAIXAENTREGA VALOR_10_2; /*------ 31/03/2020 11:20:15 --------*/ ALTER TABLE MOVIMENTOSPRODUTOS ADD TAIXADEENTREGA VALOR_10_2; /*------ 31/03/2020 11:50:34 --------*/ SET TERM ^ ; ALTER PROCEDURE TOTALMOV ( MOVIMENTO INTEGER) RETURNS ( TOTALPRODUTOSSEMDESC FLOAT, TOTALPRODUTOS FLOAT, TOTALCUSTO FLOAT, TOTALDESPESAS FLOAT, TOTALGERAL FLOAT, TOTALIPI FLOAT, PARCELAS FLOAT, CHEQUE FLOAT, CARTAO FLOAT, SOMAPAGAMENTOS FLOAT, COMISSAOPORPROD FLOAT, DINHEIRO FLOAT, VALORDESCONTO FLOAT, VBCST NUMERIC(10,2), VICMSST NUMERIC(10,2), TOTALAVISTA FLOAT, FRETE FLOAT, TOTALICMS FLOAT, BASEICMS FLOAT, BASEIPI FLOAT, QTDTOTAL FLOAT, CARTAOCRED FLOAT, CARTAODEB FLOAT) AS declare variable PRODUTOS float; declare variable CUSTO float; declare variable DESPESAS float; declare variable OS float; declare variable IPI float; declare variable SOMAIPI float; declare variable VALORIPI float; declare variable DESCONTO float; declare variable ACRESCIMO float; declare variable EMDINHEIRO float; declare variable DESPREC float; declare variable COMISSAO float; declare variable TIPODESCONTO char(1); declare variable TIPOACRESCIMO char(1); declare variable BASEDESCONTO float; declare variable TXENTREGA float; begin /* TOTAL DE PRODUTOS SELECT SUM(IM.QTD * IM.VALOR) AS TOTALPRODUTOS FROM MOVIMENTOSPRODUTOS M LEFT JOIN ITENSMOVIMENTOPROD IM ON (IM.CODMOVIMENTO = M.CODMOVIMENTO) WHERE M.CODMOVIMENTO=:MOVIMENTO INTO :PRODUTOS; if (:PRODUTOS IS NULL) then TOTALPRODUTOS=0; ELSE TOTALPRODUTOS=PRODUTOS; */ SELECT SUM(QTD), SUM(IM.QTD * IM.VALORUNIT), SUM(IM.QTD * IM.VALOR), SUM(IM.QTD * IM.VALORCUSTO), SUM(IM.QTD * IM.VALORAVISTA) FROM ITENSMOVIMENTOPROD IM WHERE IM.CODMOVIMENTO=:MOVIMENTO AND (IM.TIPO='I' or IM.TIPO IS NULL) INTO :QTDTOTAL, :TOTALPRODUTOSSEMDESC, :PRODUTOS, :CUSTO, :TOTALAVISTA; if (:PRODUTOS IS NULL) then TOTALPRODUTOS=0; ELSE TOTALPRODUTOS=PRODUTOS; if (:CUSTO IS NULL) then TOTALCUSTO=0; ELSE TOTALCUSTO=CUSTO; if (TOTALPRODUTOSSEMDESC IS NULL) then TOTALPRODUTOSSEMDESC = 0; COMISSAOPORPROD = 0; FOR SELECT (SUM(IM.QTD * IM.VALOR) * IM.COMISSAO)/100 FROM ITENSMOVIMENTOPROD IM WHERE IM.CODMOVIMENTO=:MOVIMENTO GROUP BY IM.QTD, IM.valor, IM.COMISSAO INTO :COMISSAO DO BEGIN if (NOT COMISSAO IS NULL) then COMISSAOPORPROD=COMISSAOPORPROD + COMISSAO; END SELECT SUM(BASECALCULOICMS), SUM(BASEIPI), SUM(TOTALIPI), SUM(TOTALICMS), SUM(VBCST), SUM(VICMSST) from SPITENSMOV(:MOVIMENTO) INTO :BASEICMS, :BASEIPI, :VALORIPI, :TOTALICMS, :VBCST, :VICMSST; If (:VALORIPI IS NULL) then VALORIPI=0; If (:TOTALICMS IS NULL) then TOTALICMS=0; /*DADOS MOV*/ SELECT D.ACRESCIMO, D.DESCONTO, D.TIPOACRESCIMO, D.TIPODESCONTO FROM DADOSMOVIMENTO D WHERE D.CODMOVIMENTO=:MOVIMENTO INTO :ACRESCIMO, :DESCONTO, :TIPOACRESCIMO, :TIPODESCONTO; If (:ACRESCIMO IS NULL) THEN ACRESCIMO = 0; IF (:DESCONTO IS NULL) THEN DESCONTO = 0; /*SOMA DESPESAS*/ SELECT SUM(DM.VALOR) AS TOTALDESPESAS FROM MOVIMENTOSPRODUTOS M LEFT JOIN DESPESAMOVIMENTO DM ON (DM.CODMOVIMENTO = M.CODMOVIMENTO) WHERE M.CODMOVIMENTO=:MOVIMENTO INTO :DESPESAS; if (:DESPESAS IS NULL) then TOTALDESPESAS=0; ELSE TOTALDESPESAS=DESPESAS; /*SOMA CARTAO*/ SELECT SUM(PCC.VALORPARCELA) FROM CONTASPAGARRECEBER CPR JOIN PARCELASCARTAO PCC ON (PCC.CODCONTA = CPR.CODCONTA) WHERE CPR.CODMOVIMENTO=:MOVIMENTO INTO :CARTAO; IF (:CARTAO IS NULL) then CARTAO=0; /*SOMA PARCELAS*/ SELECT SUM(PC.VALORPARCELA) FROM CONTASPAGARRECEBER CPR JOIN PARCELASCONTAS PC ON (PC.CODCONTA = CPR.CODCONTA) WHERE CPR.CODMOVIMENTO=:MOVIMENTO INTO :PARCELAS; IF (:PARCELAS IS NULL) then PARCELAS=0; /*SOMA CHEQUE*/ SELECT SUM(CH.VALOR) FROM CONTASPAGARRECEBER CPR JOIN CHCONTAS CC ON (CC.CODCONTA = CPR.CODCONTA) JOIN CHEQUES CH ON (CH.CODCHEQUE = CC.CODCHEQUE) WHERE CPR.CODMOVIMENTO=:MOVIMENTO INTO :CHEQUE; IF (:CHEQUE IS NULL) then CHEQUE=0; /*DINHEIRO*/ SELECT D.VALOR FROM CONTASPAGARRECEBER CPR JOIN DINHEIRO D ON (D.CODCONTA = CPR.CODCONTA) WHERE CPR.CODMOVIMENTO=:MOVIMENTO INTO :EMDINHEIRO; IF (:EMDINHEIRO IS NULL) then EMDINHEIRO=0; DINHEIRO = EMDINHEIRO; /*CARTAO */ CARTAOCRED =0; SELECT M.VALOR FROM CAIXAMOV M WHERE M.CODMOVIMENTO=:MOVIMENTO and m.FORMAPGTO='CARTAO CRE' INTO :CARTAOCRED; if (:CARTAOCRED IS NULL) then CARTAOCRED=0; CARTAODEB =0; SELECT M.VALOR FROM CAIXAMOV M WHERE M.CODMOVIMENTO=:MOVIMENTO and m.FORMAPGTO='CARTAO DEB' INTO :CARTAODEB; if (:CARTAODEB IS NULL) then CARTAODEB=0; /*SOMA NOVO IPI*/ SOMAIPI = 0; FOR SELECT ((CAST(IM.BASEIPI AS FLOAT)) * CAST(IM.IPI AS FLOAT))/100 FROM MOVIMENTOSPRODUTOS M LEFT JOIN ITENSMOVIMENTOPROD IM ON (IM.CODMOVIMENTO = M.CODMOVIMENTO) WHERE M.CODMOVIMENTO=:MOVIMENTO AND NOT IM.IPI IS NULL INTO :IPI DO BEGIN SOMAIPI = SOMAIPI + IPI; END IF (:VALORIPI IS NULL) then TOTALIPI=0; ELSE TOTALIPI=VALORIPI; /*DINHEIRO*/ SELECT DR.VALOR FROM DESPESASRECEITAS DR WHERE DR.CODMOVIMENTO=:MOVIMENTO INTO :DESPREC; IF (:DESPREC IS NULL) then DESPREC =0; SELECT S.TOTAL FROM SERVICOS S WHERE S.CODMOVIMENTO=:MOVIMENTO INTO :OS; IF (:OS IS NULL) then OS =0; SELECT FM.VALOR FROM FRETEMOVIMENTO FM WHERE FM.CODMOVIMENTO=:MOVIMENTO INTO :FRETE; IF (:FRETE IS NULL) then FRETE =0; SELECT SUM(COALESCE(VALORBASE, VALOR * QTD)) FROM ITENSMOVIMENTOPROD IM WHERE IM.CODMOVIMENTO=:MOVIMENTO INTO :BASEDESCONTO; IF (:BASEDESCONTO IS NULL) then BASEDESCONTO =0; SELECT M.TAIXADEENTREGA FROM MOVIMENTOSPRODUTOS M WHERE M.CODMOVIMENTO=:MOVIMENTO INTO :TXENTREGA; IF (:TXENTREGA IS NULL) then TXENTREGA =0; SOMAPAGAMENTOS = EMDINHEIRO + CHEQUE + PARCELAS + CARTAO; TOTALGERAL = TOTALPRODUTOS + TOTALDESPESAS + TOTALIPI + DESPREC + OS + :FRETE; VALORDESCONTO = 0; If (:DESCONTO>0) Then Begin If (:TIPODESCONTO = '%') Then Begin VALORDESCONTO = BASEDESCONTO - (BASEDESCONTO - ((BASEDESCONTO * DESCONTO)/100)); TOTALGERAL = TOTALGERAL - VALORDESCONTO; End If (:TIPODESCONTO = '$' )Then Begin VALORDESCONTO = BASEDESCONTO - ( BASEDESCONTO - DESCONTO); TOTALGERAL = TOTALGERAL - VALORDESCONTO; End End If (:ACRESCIMO>0) Then Begin If (:TIPOACRESCIMO = '%') Then Begin TOTALGERAL = TOTALGERAL + ((TOTALGERAL * ACRESCIMO)/100); End If (:TIPOACRESCIMO = '$' )Then Begin TOTALGERAL = TOTALGERAL + ACRESCIMO; End End if (TXENTREGA>0) then TOTALGERAL = TOTALGERAL + TXENTREGA; suspend; end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SINTEGRA60M ( DATAI DATE, DATAF DATE) RETURNS ( NRSERIEEQUIPAMENTO VARCHAR(40), NREQUIPAMENTO INTEGER, MODELO CHAR(1), NRDOCUMENTOINICIO VARCHAR(20), NRDOCUMENTOFIM VARCHAR(20), COTADORZ INTEGER, NRDOCUMENTOREINICIO VARCHAR(20), VENDABRUTA FLOAT, TOTALVENDA FLOAT, BRANCOS VARCHAR(10)) AS declare variable ALIQUOTAPROD VARCHAR(10); declare variable CODTABELA INTEGER; declare variable CODMOVIMENTO INTEGER; begin FOR SELECT M.CODMOVIMENTO, DM.NRSERIEEQUIPAMENTO, DM.MODELO, MIN(DM.NRDOCUMENTO), MAX(DM.NRDOCUMENTO) FROM MOVIMENTOSPRODUTOS M JOIN DOCUMENTOMOV DM ON (DM.CODMOVIMENTO= M.CODMOVIMENTO) WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF GROUP BY M.CODMOVIMENTO, DM.NRSERIEEQUIPAMENTO, DM.MODELO INTO :CODMOVIMENTO, :NRSERIEEQUIPAMENTO, :MODELO, :NRDOCUMENTOINICIO, :NRDOCUMENTOFIM DO BEGIN SELECT TOTALGERAL FROM TOTALMOV(:CODMOVIMENTO) INTO :VENDABRUTA; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPCADMOVCAIXA ( CODMOVIMENTO INTEGER) AS declare variable TIPOMOV VARCHAR(2); declare variable CODUSUARIO INTEGER; declare variable CODFILIAL INTEGER; declare variable CODFUNCIONARIO INTEGER; declare variable DINHEIRO FLOAT; declare variable PARCELAS FLOAT; declare variable CARTAO FLOAT; declare variable CHEQUES FLOAT; declare variable CODMOVCAIXA INTEGER; declare variable DESCRICAO VARCHAR(70); declare variable NOME VARCHAR(70); declare variable CODIGOCONTABIL VARCHAR(20); declare variable DATA DATE; begin SELECT M.TIPO, M.CODFILIAL, M.CODFUNCIONARIO, M.CODUSUARIO, M.DATA, M.CODIGOCONTABIL FROM MOVIMENTOSPRODUTOS M WHERE M.CODMOVIMENTO=:CODMOVIMENTO INTO :TIPOMOV, :CODFILIAL, :CODFUNCIONARIO, :CODUSUARIO, :DATA, :CODIGOCONTABIL; SELECT PARCELAS, CHEQUE, DINHEIRO, CARTAO FROM TOTALMOV(:CODMOVIMENTO) INTO :PARCELAS, :CHEQUES, :DINHEIRO, :CARTAO; IF (TIPOMOV = 'CO') then Begin SELECT F.NOME FROM FORNMOVIMENTO FM JOIN FORNECEDORES F ON (F.CODFORNECEDOR = FM.CODFORNECEDOR) WHERE FM.CODMOVIMENTO=:CODMOVIMENTO INTO :NOME; If (DINHEIRO>0) Then EXECUTE PROCEDURE SPINSEREMOVCAIXA(:DINHEIRO, 'CD', 'COMPRA A VISTA', :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'D', :DATA, :CODIGOCONTABIL, :NOME); If (PARCELAS>0) Then BEGIN SELECT F.NOME FROM FORNMOVIMENTO FM JOIN FORNECEDORES F ON (F.CODFORNECEDOR = FM.CODFORNECEDOR) WHERE FM.CODMOVIMENTO=:CODMOVIMENTO INTO :DESCRICAO; EXECUTE PROCEDURE SPINSEREMOVCAIXA(:PARCELAS, 'CP', :DESCRICAO, :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'D', :DATA, :CODIGOCONTABIL, :NOME); END If (CHEQUES>0) Then EXECUTE PROCEDURE SPINSEREMOVCAIXA(:CHEQUES, 'CC', 'COMPRA EM CHEQUE', :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'D', :DATA, :CODIGOCONTABIL, :NOME); End IF (TIPOMOV = 'VE') then Begin SELECT C.NOME FROM CLIENTEMOVIMENTO CM JOIN CLIENTES C ON (C.CODCLIENTE= CM.CODCLIENTE) WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :NOME; If (DINHEIRO>0) Then BEGIN SELECT C.NOME FROM CLIENTEMOVIMENTO CM JOIN CLIENTES C ON (C.CODCLIENTE=CM.CODCLIENTE) WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :DESCRICAO; if (DESCRICAO IS NULL) then DESCRICAO = 'VENDA A VISTA'; EXECUTE PROCEDURE SPINSEREMOVCAIXA(:DINHEIRO, 'VD', :DESCRICAO, :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'C', :DATA, :CODIGOCONTABIL, :NOME); END If (PARCELAS>0) Then BEGIN SELECT C.NOME FROM CLIENTEMOVIMENTO CM JOIN CLIENTES C ON (C.CODCLIENTE = CM.CODCLIENTE) WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :DESCRICAO; EXECUTE PROCEDURE SPINSEREMOVCAIXA(:PARCELAS, 'VP', :DESCRICAO, :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'C', :DATA, :CODIGOCONTABIL, :NOME); END If (CHEQUES>0) Then EXECUTE PROCEDURE SPINSEREMOVCAIXA(:CHEQUES, 'VC', 'VENDA EM CHEQUE', :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'C', :DATA, :CODIGOCONTABIL, :NOME); If (CARTAO>0) Then EXECUTE PROCEDURE SPINSEREMOVCAIXA(:CARTAO, 'VK', 'VENDA EM CARTAO', :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'C', :DATA, :CODIGOCONTABIL, :NOME); End IF (TIPOMOV = 'DP') then Begin SELECT F.NOME FROM FORNMOVIMENTO FM JOIN FORNECEDORES F ON (F.CODFORNECEDOR = FM.CODFORNECEDOR) WHERE FM.CODMOVIMENTO=:CODMOVIMENTO INTO :NOME; If (DINHEIRO>0) Then EXECUTE PROCEDURE SPINSEREMOVCAIXA(:DINHEIRO, 'DD', 'DESPESA A VISTA', :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'D', :DATA, :CODIGOCONTABIL, :NOME); If (PARCELAS>0) Then BEGIN SELECT F.NOME FROM FORNMOVIMENTO FM JOIN FORNECEDORES F ON (F.CODFORNECEDOR = FM.CODFORNECEDOR) WHERE FM.CODMOVIMENTO=:CODMOVIMENTO INTO :DESCRICAO; EXECUTE PROCEDURE SPINSEREMOVCAIXA(:PARCELAS, 'DP', :DESCRICAO, :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'D', :DATA, :CODIGOCONTABIL, :NOME); END If (CHEQUES>0) Then EXECUTE PROCEDURE SPINSEREMOVCAIXA(:CHEQUES, 'DC', 'DESPESA EM CHEQUE', :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'D', :DATA, :CODIGOCONTABIL, :NOME); End IF (TIPOMOV = 'RE') then Begin SELECT C.NOME FROM CLIENTEMOVIMENTO CM JOIN CLIENTES C ON (C.CODCLIENTE= CM.CODCLIENTE) WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :NOME; If (DINHEIRO>0) Then EXECUTE PROCEDURE SPINSEREMOVCAIXA(:DINHEIRO, 'RD', 'RECEITA A VISTA', :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'C', :DATA, :CODIGOCONTABIL, :NOME); If (PARCELAS>0) Then BEGIN SELECT C.NOME FROM CLIENTEMOVIMENTO CM JOIN CLIENTES C ON (C.CODCLIENTE = CM.CODCLIENTE) WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :DESCRICAO; EXECUTE PROCEDURE SPINSEREMOVCAIXA(:PARCELAS, 'RP', :DESCRICAO, :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'C', :DATA, :CODIGOCONTABIL, :NOME); END If (CHEQUES>0) Then EXECUTE PROCEDURE SPINSEREMOVCAIXA(:CHEQUES, 'RC', 'RECEITA EM CHEQUE', :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'C', :DATA, :CODIGOCONTABIL, :NOME); If (CARTAO>0) Then EXECUTE PROCEDURE SPINSEREMOVCAIXA(:CARTAO, 'RK', 'VENDA EM CARTAO', :CODUSUARIO, :CODFILIAL, :CODFUNCIONARIO, :CODMOVIMENTO, NULL, 'C', :DATA, :CODIGOCONTABIL, :NOME); End SUSPEND; end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPCALCICMS ( CODMOVIMENTO INTEGER) RETURNS ( CODTIPOCALC INTEGER, DESCRICAO VARCHAR(30), TIPOCALC CHAR(1), PERCBASE FLOAT, BASEICMS FLOAT, ICMS FLOAT, TOTAL FLOAT) AS declare variable TOTALPRODUTOS FLOAT; begin SELECT TOTALPRODUTOS FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTALPRODUTOS; FOR SELECT TC.CODTIPOCALC, TC.DESCRICAO, TC.PERCBASE, TC.ICMS, TC.TIPOCALC FROM TIPOSCALICMS TC INTO :CODTIPOCALC, :DESCRICAO, :PERCBASE, :ICMS, :TIPOCALC DO BEGIN if (TIPOCALC = '=') then BEGIN BASEICMS = TOTALPRODUTOS; TOTAL = (TOTALPRODUTOS * ICMS)/100; END IF (TIPOCALC = '%') then BEGIN BASEICMS = (TOTALPRODUTOS * PERCBASE)/100; TOTAL = (BASEICMS * ICMS)/100; END suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPCOMISSAOMOV ( DATAI DATE, DATAF DATE) RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, CODFUNCIONARIO INTEGER, NOMEFUNCIONARIO VARCHAR(40), VALORMOVIMENTO FLOAT, COMISSAO FLOAT, TIPOCOMISSAO CHAR(1), DATAPGTO DATE, PAGO CHAR(1), VALORCOMISSAO FLOAT) AS begin FOR SELECT M.CODMOVIMENTO, M.DATA, M.CODFUNCIONARIO, CM.VALOR, CM.TIPO, CM.DATAPGTO, CM.PAGO FROM COMISSAOMOV CM JOIN MOVIMENTOSPRODUTOS M ON (M.CODMOVIMENTO = CM.CODMOVIMENTO) WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF INTO :CODMOVIMENTO, :DATA, :CODFUNCIONARIO, :COMISSAO, :TIPOCOMISSAO, :DATAPGTO, :PAGO DO BEGIN SELECT F.NOME FROM FUNCIONARIOS F WHERE F.CODFUNCIONARIO=:CODFUNCIONARIO INTO :NOMEFUNCIONARIO; SELECT TOTALGERAL FROM TOTALMOV(:CODMOVIMENTO) INTO :VALORMOVIMENTO; if (TIPOCOMISSAO='$') then VALORCOMISSAO = COMISSAO; if (TIPOCOMISSAO='%') then VALORCOMISSAO = (VALORMOVIMENTO * COMISSAO)/100; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPCOMPRAPORFORN RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, CODIGOCONTABIL VARCHAR(20), TIPO VARCHAR(2), NRDOCUMENTO VARCHAR(20), PLANODECONTAS VARCHAR(40), ESTOQUE CHAR(1), CODFORNECEDOR INTEGER, FORNECEDOR VARCHAR(70), CODPLANOPGTO INTEGER, FORMAPGTO VARCHAR(40), TOTALPRODUTOS FLOAT, TOTALDESPESAS FLOAT, TOTALGERAL FLOAT, TOTALIPI FLOAT, PARCELAS FLOAT, CHEQUE FLOAT, SOMAPAGAMENTOS FLOAT, DINHEIRO FLOAT, CODFILIAL INTEGER) AS declare variable MOVIMENTO INTEGER; begin FOR SELECT M.CODMOVIMENTO, M.DATA, M.CODIGOCONTABIL, M.TIPO, DM.NRDOCUMENTO, PC.DESCRICAO AS PLANODECONTAS, PC.ESTOQUE, FO.CODFORNECEDOR, FO.NOME, PP.CODPLANOPGTO,PP.DESCRICAO AS FORMAPGTO,M.CODMOVIMENTO, M.CODFILIAL FROM MOVIMENTOSPRODUTOS M LEFT JOIN DOCUMENTOMOV DM ON (DM.CODMOVIMENTO = M.CODMOVIMENTO) JOIN FORNMOVIMENTO FM ON (M.CODMOVIMENTO = FM.CODMOVIMENTO) JOIN FORNECEDORES FO ON (FO.CODFORNECEDOR = FM.CODFORNECEDOR) LEFT JOIN PLANOSDECONTAS PC ON (PC.CODIGOCONTABIL = M.CODIGOCONTABIL) LEFT JOIN CONTASPAGARRECEBER CPR ON (CPR.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN PLANOSPAGAMENTO PP ON (PP.CODPLANOPGTO = CPR.CODPLANOPGTO) WHERE M.TIPO ='CO' INTO :CODMOVIMENTO, :DATA, :CODIGOCONTABIL,:TIPO,:NRDOCUMENTO,:PLANODECONTAS, :ESTOQUE, :CODFORNECEDOR, :FORNECEDOR, :CODPLANOPGTO, :FORMAPGTO, :MOVIMENTO, :CODFILIAL DO BEGIN SELECT SP.TOTALPRODUTOS, SP.TOTALDESPESAS,SP.TOTALGERAL, SP.TOTALIPI, SP.PARCELAS, SP.CHEQUE, SP.SOMAPAGAMENTOS, SP.DINHEIRO FROM TOTALMOV(:MOVIMENTO) SP INTO :TOTALPRODUTOS, :TOTALDESPESAS, :TOTALGERAL, :TOTALIPI, :PARCELAS, :CHEQUE, :SOMAPAGAMENTOS, :DINHEIRO; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPHISTCLI ( CODCLIENTE INTEGER) RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, VALOR FLOAT, PARCELAS FLOAT, TIPO VARCHAR(2)) AS declare variable MOVIMENTO INTEGER; begin FOR SELECT M.CODMOVIMENTO, M.DATA, M.TIPO FROM MOVIMENTOSPRODUTOS M JOIN CLIENTEMOVIMENTO CM ON (CM.CODMOVIMENTO = M.CODMOVIMENTO) WHERE CM.CODCLIENTE=:CODCLIENTE AND M.TIPO IN ('VE', 'RE') INTO :MOVIMENTO,:DATA, :TIPO DO BEGIN SELECT S.TOTALGERAL, S.PARCELAS FROM TOTALMOV(:MOVIMENTO) S INTO :VALOR, :PARCELAS; CODMOVIMENTO = MOVIMENTO; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPINFOMOVOE ( CODOE INTEGER) RETURNS ( CODORDEMENTREGA INTEGER, DATA DATE, CODCLIENTE INTEGER, NOME VARCHAR(70), CODPLANOPGTO INTEGER, FORMADEPAGAMENTO VARCHAR(40), TOTALGERAL FLOAT, PARCELAS FLOAT, CHEQUE FLOAT, DINHEIRO FLOAT, SOMAPAGAMENTOS FLOAT, RESTANTE FLOAT) AS declare variable CODMOVIMENTO INTEGER; begin FOR SELECT O.CODORDEMENTREGA, M.DATA, CM.CODCLIENTE, C.NOME, CPR.CODPLANOPGTO, FP.DESCRICAO, M.CODMOVIMENTO FROM ORDEMENTREGAMAD O JOIN MOVIMENTOSPRODUTOS M ON (M.CODMOVIMENTO = O.CODMOVIMENTO) LEFT JOIN CLIENTEMOVIMENTO CM ON (CM.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN CLIENTES C ON (C.CODCLIENTE = CM.CODCLIENTE) LEFT JOIN CONTASPAGARRECEBER CPR ON (CPR.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN PLANOSPAGAMENTO FP ON (FP.CODPLANOPGTO = CPR.CODPLANOPGTO) WHERE O.CODORDEMENTREGA=:CODOE INTO :CODORDEMENTREGA, :DATA, :CODCLIENTE, :NOME, :CODPLANOPGTO, :FORMADEPAGAMENTO, :CODMOVIMENTO DO BEGIN SELECT TOTALGERAL , PARCELAS , CHEQUE , SOMAPAGAMENTOS, DINHEIRO FROM TOTALMOV(:CODMOVIMENTO) INTO TOTALGERAL , PARCELAS , CHEQUE , SOMAPAGAMENTOS, DINHEIRO; RESTANTE = TOTALGERAL - SOMAPAGAMENTOS; SUSPEND; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPLANOSPGTOMOV ( CODMOVIMENTO INTEGER) RETURNS ( CODPLANOPGTO INTEGER, DESCRICAO VARCHAR(40), VARIACAO FLOAT, TIPO CHAR(1), TOTAL FLOAT, VALORPARCELA FLOAT) AS declare variable TOTALPRODUTOS FLOAT; declare variable NRPARCELAS INTEGER; begin FOR SELECT PO.CODPLANOPGTO, P.DESCRICAO, P.ACRESCIMO, P.TIPO FROM PLANOSPGTOORC PO JOIN PLANOSPAGAMENTO P ON (P.CODPLANOPGTO = PO.CODPLANOPGTO) INTO :CODPLANOPGTO, :DESCRICAO, :VARIACAO, :TIPO DO BEGIN IF (VARIACAO IS NULL) then VARIACAO=0; SELECT COUNT(*) FROM DIAS D WHERE D.CODPLANOPGTO=:CODPLANOPGTO INTO :NRPARCELAS; SELECT TOTALPRODUTOS FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTALPRODUTOS; If (TOTALPRODUTOS IS NULL) Then TOTALPRODUTOS = 0; IF (VARIACAO>0 ) then BEGIN If (TIPO = 'A') Then TOTAL = TOTALPRODUTOS + ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO = 'D') Then TOTAL = TOTALPRODUTOS - ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO is null ) Then TOTAL = TOTALPRODUTOS; END ELSE TOTAL = TOTALPRODUTOS; VALORPARCELA = TOTAL/NRPARCELAS; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPLOCMOVINICADAS RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, CODFUNCIONARIO INTEGER, NRDOCUMENTO VARCHAR(20), CODCLIENTE INTEGER, CLIENTE VARCHAR(70), SITUACAO VARCHAR(2), FUNCIONARIO VARCHAR(40), CODUSUARIO INTEGER, USUARIO VARCHAR(10), TIPO VARCHAR(2), TOTALGERAL FLOAT) AS begin FOR SELECT M.CODMOVIMENTO, M.DATA, M.CODFUNCIONARIO, DM.NRDOCUMENTO, CL.CODCLIENTE, CL.NOME , M.SITUACAO, FU.NOME, M.CODUSUARIO, U.LOGIN, M.TIPO FROM MOVIMENTOSPRODUTOS M LEFT JOIN DOCUMENTOMOV DM ON (DM.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN CLIENTEMOVIMENTO CM ON (CM.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN CLIENTES CL ON (CL.CODCLIENTE = CM.CODCLIENTE) LEFT JOIN FUNCIONARIOS FU ON (FU.CODFUNCIONARIO = M.CODFUNCIONARIO) LEFT JOIN USUARIOS U ON (U.CODUSUARIO = M.CODUSUARIO) WHERE M.SITUACAO='I' INTO :CODMOVIMENTO, :DATA, :CODFUNCIONARIO, :NRDOCUMENTO, :CODCLIENTE, :CLIENTE, :SITUACAO, :FUNCIONARIO, :CODUSUARIO, :USUARIO, :TIPO DO BEGIN SELECT TOTALGERAL FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTALGERAL; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMESAS RETURNS ( CODMESA INTEGER, DESCRICAO INTEGER, CODMOVIMENTO INTEGER, STATUS CHAR(1), TOTAL FLOAT) AS begin FOR SELECT M.codmesa, M.descricao, M.status, M.codmovimento FROM MESAS M INTO :CODMESA, :DESCRICAO, :STATUS, :CODMOVIMENTO DO BEGIN TOTAL = 0; if (CODMOVIMENTO>0) then begin select TOTALGERAL from totalmov(:CODMOVIMENTO) INTO :TOTAL; end suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVCIDADE RETURNS ( CODUF INTEGER, CODCIDADE INTEGER, UF VARCHAR(2), CIDADE VARCHAR(40), DATA DATE, TOTAL FLOAT) AS declare variable MOVIMENTO INTEGER; begin FOR SELECT U.CODUF, CD.CODCIDADE, U.SIGLA, CD.DESCRICAO, M.DATA, M.CODMOVIMENTO FROM MOVIMENTOSPRODUTOS M JOIN CLIENTEMOVIMENTO CL ON (CL.CODMOVIMENTO = M.CODMOVIMENTO) JOIN CLIENTES C ON (C.CODCLIENTE = CL.CODCLIENTE) JOIN ENDERECOSCLI ED ON (ED.CODCLIENTE = C.CODCLIENTE) JOIN CIDADES CD ON (CD.CODCIDADE = ED.CODCIDADE) JOIN UF U ON (U.CODUF = CD.CODUF) WHERE M.TIPO IN ('VE') INTO :CODUF, :CODCIDADE, :UF, :CIDADE, :DATA, :MOVIMENTO DO BEGIN SELECT TOTALGERAL FROM TOTALMOV (:MOVIMENTO) INTO :TOTAL; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVCLIENTE RETURNS ( CODCLIENTE INTEGER, NOME VARCHAR(70), DATA DATE, TOTAL FLOAT) AS declare variable MOVIMENTO INTEGER; begin FOR SELECT C.CODCLIENTE, C.NOME, M.DATA, M.CODMOVIMENTO FROM PLANOSDECONTAS PC JOIN MOVIMENTOSPRODUTOS M ON (PC.CODIGOCONTABIL = M.CODIGOCONTABIL) JOIN CLIENTEMOVIMENTO CM ON (CM.CODMOVIMENTO = M.CODMOVIMENTO) JOIN CLIENTES C ON (C.CODCLIENTE = CM.CODCLIENTE) WHERE M.TIPO IN('VE') INTO :CODCLIENTE, :NOME, :DATA, :MOVIMENTO DO BEGIN SELECT TOTALGERAL FROM TOTALMOV (:MOVIMENTO) INTO :TOTAL; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVDATACOMPRA RETURNS ( DATA DATE, DIA INTEGER, MES INTEGER, ANO INTEGER, TOTAL FLOAT) AS declare variable MOVIMENTO INTEGER; begin FOR SELECT MV.DATA, extract(DAY from MV.DATA) AS DIA, extract(MONTH from MV.DATA) AS MES, extract(year from MV.DATA) AS ANO, MV.CODMOVIMENTO FROM MOVIMENTOSPRODUTOS MV WHERE MV.TIPO IN ('CO') ORDER BY MV.DATA INTO :DATA, :DIA, :MES, :ANO, :MOVIMENTO DO BEGIN SELECT TOTALGERAL FROM TOTALMOV (:MOVIMENTO) INTO :TOTAL; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVDATARECEITA RETURNS ( DATA DATE, DIA INTEGER, MES INTEGER, ANO INTEGER, TOTAL FLOAT) AS declare variable MOVIMENTO INTEGER; begin FOR SELECT MV.DATA, extract(DAY from MV.DATA) AS DIA, extract(MONTH from MV.DATA) AS MES, extract(year from MV.DATA) AS ANO, MV.CODMOVIMENTO FROM MOVIMENTOSPRODUTOS MV WHERE MV.TIPO IN ('RE') ORDER BY MV.DATA INTO :DATA, :DIA, :MES, :ANO, :MOVIMENTO DO BEGIN SELECT TOTALGERAL FROM TOTALMOV (:MOVIMENTO) INTO :TOTAL; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVFORMAPGTO ( DATAI DATE, DATAF DATE) RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, HORA TIME, TOTALPRODUTOS FLOAT, TOTALGERAL FLOAT, PARCELAS FLOAT, CHEQUE FLOAT, SOMAPAGAMENTOS FLOAT, DINHEIRO FLOAT, USUARIO VARCHAR(10)) AS declare variable CODUSUARIO INTEGER; begin FOR SELECT M.CODMOVIMENTO, M.DATA, M.HORA, M.CODUSUARIO FROM MOVIMENTOSPRODUTOS M WHERE M.TIPO IN ('VE','RE') AND M.DATA>=:DATAI AND M.DATA<=:DATAF INTO CODMOVIMENTO, DATA , HORA, CODUSUARIO DO BEGIN SELECT U.LOGIN FROM USUARIOS U WHERE U.CODUSUARIO=:CODUSUARIO INTO USUARIO; SELECT TOTALPRODUTOS , TOTALGERAL , PARCELAS , CHEQUE , SOMAPAGAMENTOS , DINHEIRO FROM TOTALMOV(:CODMOVIMENTO) INTO TOTALPRODUTOS , TOTALGERAL , PARCELAS , CHEQUE , SOMAPAGAMENTOS , DINHEIRO; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVFUNCIONARIO RETURNS ( CODFUNCIONARIO INTEGER, NOME VARCHAR(70), CODMOVIMENTO INTEGER, SITUACAO VARCHAR(2), DATA DATE, TOTAL FLOAT, VALORCOMISSAO FLOAT, COMISSAOPORPROD FLOAT, VALORDESCONTO FLOAT, COMISSAOPORPRODCOMDESCONTO FLOAT) AS declare variable MOVIMENTO INTEGER; declare variable TIPOCOMISSAO CHAR(1); declare variable COMISSAO FLOAT; declare variable PERCENTAGEMDESCONTO FLOAT; begin FOR SELECT F.CODFUNCIONARIO, F.NOME, M.DATA, M.CODMOVIMENTO, F.TIPOCOMISSAO, F.COMISSAO, M.TOTALGERAL, M.SITUACAO FROM MOVIMENTOSPRODUTOS M JOIN FUNCIONARIOS F ON(F.CODFUNCIONARIO = M.CODFUNCIONARIO) WHERE M.TIPO IN('VE') INTO :CODFUNCIONARIO, :NOME, :DATA, :CODMOVIMENTO, :TIPOCOMISSAO, :COMISSAO, :TOTAL, :SITUACAO DO BEGIN SELECT TOTALGERAL, COMISSAOPORPROD, VALORDESCONTO FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTAL, :COMISSAOPORPROD, :VALORDESCONTO; if ((VALORDESCONTO>0) AND (TOTAL>0)) then Begin PERCENTAGEMDESCONTO = (100 * VALORDESCONTO)/TOTAL; /**SELECT DM.DESCONTO FROM DADOSMOVIMENTO DM WHERE DM.CODMOVIMENTO=:CODMOVIMENTO INTO :VALORDESCONTO; **/ PERCENTAGEMDESCONTO = (100 * VALORDESCONTO)/TOTAL; IF (PERCENTAGEMDESCONTO>0) then COMISSAOPORPRODCOMDESCONTO = COMISSAOPORPROD - ((COMISSAOPORPROD * PERCENTAGEMDESCONTO)/100) ; ELSE COMISSAOPORPRODCOMDESCONTO = COMISSAOPORPROD; End Else COMISSAOPORPRODCOMDESCONTO = COMISSAOPORPROD; if (COMISSAO>0) then BEGIN if (TIPOCOMISSAO='%') then BEGIN VALORCOMISSAO = (TOTAL * COMISSAO)/100 ; END if (TIPOCOMISSAO='$') then BEGIN VALORCOMISSAO = COMISSAO; END if (TIPOCOMISSAO IS NULL) then BEGIN VALORCOMISSAO = (TOTAL * COMISSAO)/100 ; END END suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVPLANO ( DATAI DATE, DATAF DATE) RETURNS ( DATA DATE, PAI VARCHAR(20), CODIGOCONTABIL VARCHAR(20), PLANODECONTAS VARCHAR(50), TOTAL FLOAT) AS declare variable MOVIMENTO INTEGER; begin FOR SELECT M.DATA, M.CODMOVIMENTO, PC.PAI, PC.CODIGOCONTABIL, PC.DESCRICAO FROM PLANOSDECONTAS PC JOIN MOVIMENTOSPRODUTOS M ON (PC.CODIGOCONTABIL = M.CODIGOCONTABIL) WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF INTO :DATA, :MOVIMENTO, :PAI, :CODIGOCONTABIL,:PLANODECONTAS DO BEGIN SELECT TOTALGERAL FROM TOTALMOV (:MOVIMENTO) INTO :TOTAL; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVPLANOCONTAS ( CODIGO VARCHAR(20), DATAI DATE, DATAF DATE) RETURNS ( DATA DATE, CODIGOCONTABIL VARCHAR(20), PLANODECONTAS VARCHAR(50), TOTAL FLOAT) AS declare variable MOVIMENTO INTEGER; begin FOR SELECT M.DATA, M.CODMOVIMENTO, PC.CODIGOCONTABIL, PC.DESCRICAO FROM PLANOSDECONTAS PC JOIN MOVIMENTOSPRODUTOS M ON (PC.CODIGOCONTABIL = M.CODIGOCONTABIL) WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF AND M.CODIGOCONTABIL=:CODIGO INTO :DATA, :MOVIMENTO, :CODIGOCONTABIL,:PLANODECONTAS DO BEGIN SELECT TOTALGERAL FROM TOTALMOV (:MOVIMENTO) INTO :TOTAL; suspend; END FOR SELECT PG.DATA, PC.CODIGOCONTABIL, PC.DESCRICAO, PG.VALOR FROM PLANOSDECONTAS PC JOIN PARCELASPGTO PG ON (PC.CODIGOCONTABIL = PG.CODIGOCONTABIL) WHERE PG.DATA>=:DATAI AND PG.DATA<=:DATAF AND PG.CODIGOCONTABIL=:CODIGO INTO :DATA, :CODIGOCONTABIL, :PLANODECONTAS, :TOTAL DO BEGIN suspend; END FOR SELECT CD.DATADEPOSITO, PC.CODIGOCONTABIL, PC.DESCRICAO, CH.VALOR FROM PLANOSDECONTAS PC JOIN CHDEPOSITADOS CD ON (PC.CODIGOCONTABIL = CD.CODIGOCONTABIL) JOIN CHEQUES CH ON (CH.CODCHEQUE = CD.CODCHEQUE) WHERE CD.DATADEPOSITO>=:DATAI AND CD.DATADEPOSITO<=:DATAF AND CD.CODIGOCONTABIL=:CODIGO INTO :DATA, :CODIGOCONTABIL, :PLANODECONTAS, :TOTAL DO BEGIN suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVPORCFOP ( DATAI DATE, DATAF DATE) RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, NRDOCUMENTO VARCHAR(20), CFOP VARCHAR(40), TIPO CHAR(1), TIPOMOV VARCHAR(2), NATUREZA VARCHAR(10), TOTAL FLOAT, DESCSITUACAO VARCHAR(30), SITUACAO VARCHAR(2), CODFILIAL INTEGER, FILIAL VARCHAR(40), NFNFEMOV VARCHAR(20), NOMEPESSOA VARCHAR(70), TIPODOC VARCHAR(20), RETORNONFE VARCHAR(50), CODEMPRESA INTEGER) AS begin FOR SELECT M.CODMOVIMENTO, M.DATA, CF.DESCRICAO , CF.NATUREZA, CF.TIPO, DM.NRDOCUMENTO, M.TIPO, M.SITUACAO, M.CODFILIAL, NF.NRDOCUMENTO, DM.TIPODOC, DM.RETORNONFE, M.CODEMPRESA FROM MOVIMENTOSPRODUTOS M JOIN DOCUMENTOMOV DM ON (DM.CODMOVIMENTO = M.CODMOVIMENTO) JOIN CFOP CF ON (CF.CODCFOP = DM.CODCFOP) LEFT JOIN NFEMOV NF ON (NF.CODMOVIMENTO = M.CODMOVIMENTO) WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF INTO :CODMOVIMENTO, :DATA, :CFOP, :NATUREZA, :TIPO, :NRDOCUMENTO, :TIPOMOV, :SITUACAO, :CODFILIAL, :NFNFEMOV, :TIPODOC, :RETORNONFE, :CODEMPRESA DO BEGIN SELECT F.NOME FROM FILIAIS F WHERE CODFILIAL=:CODFILIAL INTO :FILIAL; NOMEPESSOA=NULL; select NOME FROM sppessoamov(:CODMOVIMENTO, :TIPOMOV) INTO :NOMEPESSOA; IF (SITUACAO IS NULL) then DESCSITUACAO=''; IF (SITUACAO='CO') then DESCSITUACAO='CONFERIDA'; IF (SITUACAO='C') then DESCSITUACAO='CANCELADA'; IF (SITUACAO='A') then DESCSITUACAO='ABERTA'; IF (SITUACAO='I') then DESCSITUACAO='INICIADA'; IF (SITUACAO='F') then DESCSITUACAO='FINALIZADA'; IF (SITUACAO='NF') then DESCSITUACAO='NF CONFIRMADA'; SELECT TOTALGERAL FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTAL; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPESQMOVSINTEGRA ( DATAI DATE, DATAF DATE) RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, TIPO VARCHAR(2), SITUACAO VARCHAR(2), CODIGOCONTABIL VARCHAR(20), CODFUNCIONARIO INTEGER, NRDOCUMENTO VARCHAR(20), VALOR FLOAT, CODFILIAL INTEGER, CODACUMULADOR INTEGER, CODESPECIE INTEGER, BASEICMS FLOAT, ICMS FLOAT, TIPODOC VARCHAR(20), NATUREZA VARCHAR(10), TOTALIPI FLOAT, CPFCNPJ VARCHAR(20), RGIE VARCHAR(20), NOME VARCHAR(70), CODPESSOA INTEGER, TIPOPESSOA VARCHAR(5), UF CHAR(2), TIPOCFOP CHAR(1)) AS begin FOR SELECT M.CODMOVIMENTO, M.DATA, M.TIPO, M.SITUACAO, M.CODIGOCONTABIL, M.CODFUNCIONARIO, DM.NRDOCUMENTO, M.CODFILIAL, M.CODACUMULADOR, M.CODESPECIE, DM.BASEICMS, DM.ICMS, DM.TIPODOC, CF.NATUREZA, M.TOTALIPI, CF.TIPO FROM MOVIMENTOSPRODUTOS M JOIN DOCUMENTOMOV DM ON (DM.CODMOVIMENTO = M.CODMOVIMENTO) JOIN CFOP CF ON (CF.CODCFOP = DM.CODCFOP) LEFT JOIN PLANOSDECONTAS PC ON (PC.CODIGOCONTABIL = M.CODIGOCONTABIL) WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF INTO CODMOVIMENTO, DATA, TIPO, SITUACAO, CODIGOCONTABIL, CODFUNCIONARIO, NRDOCUMENTO, CODFILIAL, CODACUMULADOR, CODESPECIE, :BASEICMS, :ICMS, :TIPODOC, :NATUREZA, :TOTALIPI, :TIPOCFOP DO BEGIN CODPESSOA = NULL; TIPOPESSOA = NULL; NOME = NULL; CPFCNPJ = NULL; RGIE = NULL; SELECT CODPESSOA, TIPOPESSOA, NOME, CPFCNPJ, RGIE FROM SPPESSOAMOV(:CODMOVIMENTO, :TIPO) INTO :CODPESSOA, :TIPOPESSOA, :NOME, :CPFCNPJ, :RGIE; SELECT TOTALGERAL FROM TOTALMOV(:CODMOVIMENTO) INTO :VALOR; UF = NULL; SELECT FIRST(1) UF FROM SPENDERECOSPESSOAMOV (:CODMOVIMENTO) INTO :UF; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPESQNF ( DATAI DATE, DATAF DATE) RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, NRDOCUMENTO VARCHAR(20), CFOP VARCHAR(40), TIPO CHAR(1), TIPOMOV VARCHAR(2), NATUREZA VARCHAR(10), TOTAL FLOAT, DESCSITUACAO VARCHAR(30), SITUACAO VARCHAR(2), CODFILIAL INTEGER, FILIAL VARCHAR(40), NFNFEMOV VARCHAR(20), NOMEPESSOA VARCHAR(70), TIPODOC VARCHAR(20), RETORNONFE VARCHAR(50)) AS begin FOR SELECT M.CODMOVIMENTO, M.DATA, CF.DESCRICAO , CF.NATUREZA, CF.TIPO, DM.NRDOCUMENTO, M.TIPO, M.SITUACAO, M.CODFILIAL, NF.NRDOCUMENTO, DM.TIPODOC, DM.RETORNONFE FROM MOVIMENTOSPRODUTOS M JOIN DOCUMENTOMOV DM ON (DM.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN CFOP CF ON (CF.CODCFOP = DM.CODCFOP) LEFT JOIN NFEMOV NF ON (NF.CODMOVIMENTO = M.CODMOVIMENTO) WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF AND DM.tipodoc IN('NFE', 'NFCE') INTO :CODMOVIMENTO, :DATA, :CFOP, :NATUREZA, :TIPO, :NRDOCUMENTO, :TIPOMOV, :SITUACAO, :CODFILIAL, :NFNFEMOV, :TIPODOC, :RETORNONFE DO BEGIN SELECT F.NOME FROM FILIAIS F WHERE CODFILIAL=:CODFILIAL INTO :FILIAL; NOMEPESSOA=NULL; select NOME FROM sppessoamov(:CODMOVIMENTO, :TIPOMOV) INTO :NOMEPESSOA; IF (SITUACAO IS NULL) then DESCSITUACAO=''; IF (SITUACAO='CO') then DESCSITUACAO='CONFERIDA'; IF (SITUACAO='C') then DESCSITUACAO='CANCELADA'; IF (SITUACAO='A') then DESCSITUACAO='ABERTA'; IF (SITUACAO='I') then DESCSITUACAO='INICIADA'; IF (SITUACAO='F') then DESCSITUACAO='FINALIZADA'; IF (SITUACAO='NF') then DESCSITUACAO='NF CONFIRMADA'; SELECT TOTALGERAL FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTAL; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPLANOSPGTOMOV ( CODMOVIMENTO INTEGER) RETURNS ( CODPLANOPGTO INTEGER, DESCRICAO VARCHAR(40), VARIACAO FLOAT, TIPO CHAR(1), TOTAL FLOAT, VALORPARCELA FLOAT, PARCELAS INTEGER) AS declare variable TOTALPRODUTOS FLOAT; declare variable NRPARCELAS INTEGER; begin FOR SELECT P.CODPLANOPGTO, P.DESCRICAO, P.ACRESCIMO, P.TIPO FROM PLANOSPAGAMENTO P WHERE P.CODEMPRESA=(SELECT CODEMPRESA FROM MOVIMENTOSPRODUTOS M WHERE M.CODMOVIMENTO=:CODMOVIMENTO) AND P.STATUS='A' AND (P.LIXEIRA IS NULL or P.LIXEIRA='N') INTO :CODPLANOPGTO, :DESCRICAO, :VARIACAO, :TIPO DO BEGIN IF (VARIACAO IS NULL) then VARIACAO=0; SELECT COUNT(*) FROM DIAS D WHERE D.CODPLANOPGTO=:CODPLANOPGTO INTO :NRPARCELAS; SELECT TOTALPRODUTOS FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTALPRODUTOS; If (TOTALPRODUTOS IS NULL) Then TOTALPRODUTOS = 0; IF (VARIACAO>0 ) then BEGIN If (TIPO = 'A') Then TOTAL = TOTALPRODUTOS + ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO = 'D') Then TOTAL = TOTALPRODUTOS - ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO is null ) Then TOTAL = TOTALPRODUTOS; END ELSE TOTAL = TOTALPRODUTOS; if (NRPARCELAS IS NULL) then NRPARCELAS=1; if (NRPARCELAS = 0) then NRPARCELAS=1; VALORPARCELA = TOTAL/NRPARCELAS; PARCELAS=NRPARCELAS; suspend; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPRESUMOCXDIA ( DATAI DATE, DATAF DATE) RETURNS ( DATA DATE, CODFILIAL INTEGER, CODFUNCIONARIO INTEGER, FILIAL VARCHAR(40), VALORTOTAL FLOAT, DINHEIRO FLOAT, PARCELAS FLOAT, CHEQUE FLOAT, SUPRIMENTO FLOAT, SANGRIA FLOAT, VENDAAVISTA FLOAT, PGTOPARCELAS FLOAT, CARTAO FLOAT, SERVICO FLOAT, TIPO CHAR(2)) AS declare variable CODMOVIMENTO INTEGER; begin FOR SELECT M.CODMOVIMENTO, M.DATA, M.TIPO, M.CODFILIAL, M.CODFUNCIONARIO, M.VALORTOTAL FROM MOVIMENTOSPRODUTOS M WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF AND M.TIPO IN ('CO','DP','RE','VE', 'S') INTO :CODMOVIMENTO, :DATA, :TIPO, :CODFILIAL, :CODFUNCIONARIO, :VALORTOTAL DO BEGIN SELECT F.NOME FROM FILIAIS F WHERE F.CODFILIAL=:CODFILIAL INTO :FILIAL; SELECT PARCELAS, CHEQUE, DINHEIRO, CARTAO FROM TOTALMOV(:CODMOVIMENTO) INTO :PARCELAS, :CHEQUE, :DINHEIRO, :CARTAO; VENDAAVISTA= 0; if (TIPO = 'VE' ) then VENDAAVISTA=:DINHEIRO; SERVICO= 0; if (TIPO = 'S' ) then SERVICO=:DINHEIRO; SUPRIMENTO = 0; PGTOPARCELAS = 0; SANGRIA = 0; suspend; END SANGRIA = 0; VALORTOTAL =0; DINHEIRO =0; PARCELAS =0; CHEQUE =0; VENDAAVISTA =0; CARTAO = 0; FOR SELECT MC.CODFILIAL, MC.CODFUNCIONARIO, MC.DATA, MC.VALOR, MC.VALOR, MC.TIPO FROM MOVCAIXA MC WHERE MC.DATA>=:DATAI AND MC.DATA<=:DATAF AND TIPO IN ('SU') INTO :CODFILIAL, :CODFUNCIONARIO, :DATA, :SUPRIMENTO, :DINHEIRO, :TIPO DO SUSPEND; SUPRIMENTO = 0; VALORTOTAL =0; DINHEIRO =0; PARCELAS =0; CHEQUE =0; VENDAAVISTA =0; CARTAO = 0; FOR SELECT MC.CODFILIAL, MC.CODFUNCIONARIO, MC.DATA, MC.VALOR, MC.VALOR, MC.TIPO FROM MOVCAIXA MC WHERE MC.DATA>=:DATAI AND MC.DATA<=:DATAF AND TIPO IN ('SA') INTO :CODFILIAL, :CODFUNCIONARIO, :DATA, :SANGRIA, :DINHEIRO, :TIPO DO SUSPEND; SANGRIA =0; SUPRIMENTO = 0; VALORTOTAL =0; DINHEIRO =0; PARCELAS =0; CHEQUE =0; VENDAAVISTA =0; CARTAO = 0; FOR SELECT CODFILIAL, CODFUNCIONARIO, FILIAL, DATAPGTO, VALORPAGO, VALORPAGO, CAST('RP' AS CHAR(2)) FROM SPCONTASRECEBIDASPORDATA(:DATAI, :DATAF) INTO :CODFILIAL, :CODFUNCIONARIO, :FILIAL, :DATA, :PGTOPARCELAS, :DINHEIRO, :TIPO DO SUSPEND; FOR SELECT CODFILIAL, CODFUNCIONARIO, FILIAL, DATAPGTO, VALORPAGO, VALORPAGO, CAST('PP' AS CHAR(2)) FROM SPCONTASPAGASPORDATA(:DATAI, :DATAF) INTO :CODFILIAL, :CODFUNCIONARIO, :FILIAL, :DATA, :PGTOPARCELAS, :DINHEIRO, :TIPO DO SUSPEND; end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPSOMATIPOSPGTOMOV ( DATAI DATE, DATAF DATE) RETURNS ( TIPODEPAGAMENTO VARCHAR(10), VALOR FLOAT) AS declare variable MOVIMENTO INTEGER; begin FOR SELECT M.CODMOVIMENTO from MOVIMENTOSPRODUTOS M WHERE M.TIPO IN ('VE') AND M.DATA>=:DATAI AND M.DATA<=:DATAF INTO :MOVIMENTO DO BEGIN SELECT CAST('APRAZO' AS VARCHAR(10)), SP.PARCELAS FROM TOTALMOV(:MOVIMENTO) SP INTO :TIPODEPAGAMENTO, :VALOR; SUSPEND; SELECT CAST('CHEQUE' AS VARCHAR(10)), SP.CHEQUE FROM TOTALMOV(:MOVIMENTO) SP INTO :TIPODEPAGAMENTO, :VALOR; SUSPEND; SELECT CAST('DINHEIRO' AS VARCHAR(10)), SP.DINHEIRO FROM TOTALMOV(:MOVIMENTO) SP INTO :TIPODEPAGAMENTO, :VALOR; SUSPEND; END end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPTOTALMESA ( CODMESA INTEGER) RETURNS ( GASTO FLOAT, PAGO FLOAT, RESTANTE FLOAT) AS declare variable SUBTOTAL FLOAT; declare variable CODMOVMESA INTEGER; declare variable CODMOVIMENTO INTEGER; declare variable VALOR FLOAT; declare variable CREDITO FLOAT; declare variable SOMAPAGAMENTOS FLOAT; begin SUBTOTAL = 0; CREDITO = 0; FOR SELECT MM.CODMOVMESA FROM MOVMESA MM WHERE MM.CODMESA=:CODMESA AND MM.STATUS='A' INTO CODMOVMESA DO BEGIN SUBTOTAL = 0; CREDITO = 0; FOR SELECT VM.CODMOVIMENTO FROM VENDASMOVMESA VM WHERE VM.CODMOVMESA=:CODMOVMESA INTO :CODMOVIMENTO DO BEGIN SELECT TOTALGERAL, SOMAPAGAMENTOS FROM TOTALMOV(:CODMOVIMENTO) INTO :VALOR, :SOMAPAGAMENTOS; if (VALOR IS NULL) then VALOR =0; if (SOMAPAGAMENTOS IS NULL) then SOMAPAGAMENTOS =0; SUBTOTAL = SUBTOTAL + VALOR; CREDITO = CREDITO + SOMAPAGAMENTOS; END END GASTO = SUBTOTAL; PAGO = CREDITO; RESTANTE = SUBTOTAL - CREDITO; suspend; end ^ SET TERM ; ^ /*------ 31/03/2020 11:50:38 --------*/ SET TERM ^ ; ALTER PROCEDURE SPVENDASMESA ( CODMESA INTEGER) RETURNS ( DATA DATE, HORAINICIO TIME, CODMOVIMENTO INTEGER, PAGO FLOAT, VALOR FLOAT, RESTANTE FLOAT) AS begin FOR SELECT MM.DATA, MM.HORAINICIO, VM.CODMOVIMENTO FROM MOVMESA MM JOIN VENDASMOVMESA VM ON (VM.CODMOVMESA = MM.CODMOVMESA) WHERE MM.STATUS='A' AND MM.CODMESA=:CODMESA INTO :DATA, :HORAINICIO, :CODMOVIMENTO DO BEGIN SELECT SOMAPAGAMENTOS, TOTALGERAL FROM TOTALMOV(:CODMOVIMENTO) INTO :PAGO, :VALOR; RESTANTE = VALOR - PAGO; if (RESTANTE IS NULL) then RESTANTE =0; suspend; END end ^ SET TERM ; ^ /*------ 02/04/2020 21:49:30 --------*/ ALTER TABLE PEDIDOS ADD NOME VARCHAR_100; /*------ 03/04/2020 16:36:20 --------*/ ALTER TABLE MOVIMENTOSPRODUTOS ADD SOLICITANTE VARCHAR_100; /*------ 12/05/2020 13:40:54 --------*/ ALTER TABLE ITENSMOVIMENTOPROD ADD PDESC VALOR_10_2; /*------ 14/05/2020 11:04:24 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPLANOSPGTOMOV ( CODMOVIMENTO INTEGER) RETURNS ( CODPLANOPGTO INTEGER, DESCRICAO VARCHAR(40), VARIACAO FLOAT, TIPO CHAR(1), TOTAL FLOAT, VALORPARCELA FLOAT, PARCELAS INTEGER) AS declare variable TOTALPRODUTOS FLOAT; declare variable NRPARCELAS INTEGER; begin SELECT TOTALPRODUTOS FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTALPRODUTOS; FOR SELECT P.CODPLANOPGTO, P.DESCRICAO, P.ACRESCIMO, P.TIPO FROM PLANOSPAGAMENTO P WHERE P.CODEMPRESA=(SELECT CODEMPRESA FROM MOVIMENTOSPRODUTOS M WHERE M.CODMOVIMENTO=:CODMOVIMENTO) AND P.STATUS='A' AND (P.LIXEIRA IS NULL or P.LIXEIRA='N') INTO :CODPLANOPGTO, :DESCRICAO, :VARIACAO, :TIPO DO BEGIN IF (VARIACAO IS NULL) then VARIACAO=0; SELECT COUNT(*) FROM DIAS D WHERE D.CODPLANOPGTO=:CODPLANOPGTO INTO :NRPARCELAS; If (TOTALPRODUTOS IS NULL) Then TOTALPRODUTOS = 0; IF (VARIACAO>0 ) then BEGIN If (TIPO = 'A') Then TOTAL = TOTALPRODUTOS + ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO = 'D') Then TOTAL = TOTALPRODUTOS - ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO is null ) Then TOTAL = TOTALPRODUTOS; END ELSE TOTAL = TOTALPRODUTOS; if (NRPARCELAS IS NULL) then NRPARCELAS=1; if (NRPARCELAS = 0) then NRPARCELAS=1; VALORPARCELA = TOTAL/NRPARCELAS; PARCELAS=NRPARCELAS; suspend; END end ^ SET TERM ; ^ /*------ 14/05/2020 11:06:45 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPLANOSPGTOMOV ( CODMOVIMENTO INTEGER) RETURNS ( CODPLANOPGTO INTEGER, DESCRICAO VARCHAR(40), VARIACAO FLOAT, TIPO CHAR(1), TOTAL FLOAT, VALORPARCELA FLOAT, PARCELAS INTEGER) AS declare variable TOTALPRODUTOS FLOAT; declare variable NRPARCELAS INTEGER; begin SELECT TOTALGERAL FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTALPRODUTOS; FOR SELECT P.CODPLANOPGTO, P.DESCRICAO, P.ACRESCIMO, P.TIPO FROM PLANOSPAGAMENTO P WHERE P.CODEMPRESA=(SELECT CODEMPRESA FROM MOVIMENTOSPRODUTOS M WHERE M.CODMOVIMENTO=:CODMOVIMENTO) AND P.STATUS='A' AND (P.LIXEIRA IS NULL or P.LIXEIRA='N') INTO :CODPLANOPGTO, :DESCRICAO, :VARIACAO, :TIPO DO BEGIN IF (VARIACAO IS NULL) then VARIACAO=0; SELECT COUNT(*) FROM DIAS D WHERE D.CODPLANOPGTO=:CODPLANOPGTO INTO :NRPARCELAS; If (TOTALPRODUTOS IS NULL) Then TOTALPRODUTOS = 0; IF (VARIACAO>0 ) then BEGIN If (TIPO = 'A') Then TOTAL = TOTALPRODUTOS + ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO = 'D') Then TOTAL = TOTALPRODUTOS - ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO is null ) Then TOTAL = TOTALPRODUTOS; END ELSE TOTAL = TOTALPRODUTOS; if (NRPARCELAS IS NULL) then NRPARCELAS=1; if (NRPARCELAS = 0) then NRPARCELAS=1; VALORPARCELA = TOTAL/NRPARCELAS; PARCELAS=NRPARCELAS; suspend; END end ^ SET TERM ; ^ /*------ 14/05/2020 11:11:16 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPLANOSPGTOMOV ( CODMOVIMENTO INTEGER) RETURNS ( CODPLANOPGTO INTEGER, DESCRICAO VARCHAR(40), VARIACAO FLOAT, TIPO CHAR(1), TOTAL FLOAT, VALORPARCELA FLOAT, PARCELAS INTEGER, CODEMPRESA INTEGER) AS declare variable TOTALPRODUTOS FLOAT; declare variable NRPARCELAS INTEGER; begin SELECT TOTALGERAL FROM TOTALMOV(:CODMOVIMENTO) INTO :TOTALPRODUTOS; SELECT CODEMPRESA FROM MOVIMENTOSPRODUTOS M WHERE M.CODMOVIMENTO=:CODMOVIMENTO INTO :CODEMPRESA; FOR SELECT P.CODPLANOPGTO, P.DESCRICAO, P.ACRESCIMO, P.TIPO FROM PLANOSPAGAMENTO P WHERE P.CODEMPRESA=:CODEMPRESA AND P.STATUS='A' AND (P.LIXEIRA IS NULL or P.LIXEIRA='N') INTO :CODPLANOPGTO, :DESCRICAO, :VARIACAO, :TIPO DO BEGIN IF (VARIACAO IS NULL) then VARIACAO=0; SELECT COUNT(*) FROM DIAS D WHERE D.CODPLANOPGTO=:CODPLANOPGTO INTO :NRPARCELAS; If (TOTALPRODUTOS IS NULL) Then TOTALPRODUTOS = 0; IF (VARIACAO>0 ) then BEGIN If (TIPO = 'A') Then TOTAL = TOTALPRODUTOS + ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO = 'D') Then TOTAL = TOTALPRODUTOS - ((TOTALPRODUTOS * VARIACAO)/100); If (TIPO is null ) Then TOTAL = TOTALPRODUTOS; END ELSE TOTAL = TOTALPRODUTOS; if (NRPARCELAS IS NULL) then NRPARCELAS=1; if (NRPARCELAS = 0) then NRPARCELAS=1; VALORPARCELA = TOTAL/NRPARCELAS; PARCELAS=NRPARCELAS; suspend; END end ^ SET TERM ; ^ /*------ 21/05/2020 10:53:54 --------*/ ALTER TABLE MOVIMENTOSPRODUTOS ADD CODCC VARCHAR_30; /*------ 21/05/2020 10:54:05 --------*/ ALTER TABLE MOVIMENTOSPRODUTOS ADD DESCCC VARCHAR_70;