/*------ 26/11/2016 01:32:45 --------*/ UPDATE CONFIGURACOES SET COMPILACAO='1.3.7.2'; /*------ 31/01/2018 02:57:25 --------*/ ALTER TABLE PLANOSDECONTAS DROP CONSTRAINT FK_PLANOSDECONTAS_EMPRESA; /*------ 02/03/2018 14:39:46 --------*/ 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 ; ^ ALTER TABLE ITENSMOVIMENTOPROD ADD OUTROS VALOR_10_2; SET TERM ^ ; CREATE OR ALTER procedure SPITENSMOV ( MOVIMENTO integer) returns ( CODITEMMOVIMENTO integer, CODMOVIMENTO integer, CODUNIDADE integer, CODPRODUTO integer, CODTABELA integer, REFERENCIA varchar(20), PRODUTO varchar(50), OUTROS numeric(15,2), DESCTABELA varchar(30), CODGRUPO integer, GRUPO varchar(30), CODFABRICANTE integer, FABRICANTE varchar(40), QTD float, UNIDADE varchar(30), VALOR float, TOTAL float, BAIXADO char(1), VALORUNIT float, DESCONTO float, TOTALUNIT float, CODALIQUOTA varchar(10), ALIQUOTA float, SIGLA varchar(3), DESCRICAOADICIONAL varchar(100), DESCADICIONAL varchar(50), APRESENTACAO varchar(40), CODTABELASIMPLES integer, COR varchar(40), QTDENTREGUE float, FALTAENTREGA float, VOLUMES integer, ICMS numeric(10,2), IPI numeric(10,2), TOTALIPI numeric(10,2), TOTALICMS numeric(10,2), ACRESSUGESTAO float, ESTOQUEATUAL float, COMISSAO float, VALORCOMISSAO float, CORGRADE varchar(40), TAM varchar(5), NR integer, DESCONTOMOV float, TOTALCOMDESCONTO float, VALORAVISTA float, TOTALAVISTA float, FABRICADO char(1), DATAFAB date, CODNCM varchar(30), CST varchar(10), INFPRVENDA float, CFOP varchar(10), ORIGEM varchar(4), TRTIPO varchar(1), CODBARRAS varchar(30), CEST varchar(15), BASECALCULOICMS numeric(10,2), BASEIPI numeric(10,2), ALTERAR varchar(15), EXCLUIR varchar(15), OUTRAACAO varchar(15)) as declare variable TEMPCODPROD integer; declare variable CODITEMMOV integer; declare variable TEMPDESC varchar(50); declare variable DESCPROD varchar(50); declare variable TEMPDESCTABELA varchar(30); declare variable ENTREGAMAD float; declare variable ENTREGAPD float; declare variable TCODALIQUOTA varchar(10); declare variable TDESCONTOMOV float; declare variable TIPODESCONTOMOV char(1); declare variable TOTALMOV float; declare variable TCST varchar(10); begin FOR SELECT I.CODITEMMOVIMENTO, I.CODMOVIMENTO, I.CODTABELA, I.QTD, I.VALOR, I.QTD * I.VALOR, I.BAIXADO, I.VALORUNIT, I.DESCONTO, I.QTD * I.VALORUNIT, I.CODITEMMOVIMENTO, I.CODTABELA, I.CODUNIDADE, I.CODTABELASIMPLES, I.VOLUMES, I.ICMS, I.IPI, I.ESTOQUEATUAL, I.COMISSAO, I.CODALIQUOTA, I.FABRICADO, I.DATAFAB, I.CFOP, I.VALORAVISTA, I.TRTIPO, I.CST, I.CEST, I.BASECALCULOICMS, I.BASEIPI, I.OUTROS, I.QTD * I.VALORAVISTA FROM ITENSMOVIMENTOPROD I WHERE I.CODMOVIMENTO=:MOVIMENTO AND (I.TIPO IS NULL or I.TIPO='I') INTO :CODITEMMOVIMENTO, :CODMOVIMENTO, :CODTABELA, :QTD, :VALOR, :TOTAL, :BAIXADO, :VALORUNIT, :DESCONTO, :TOTALUNIT, :CODITEMMOV, :TEMPCODPROD, :CODUNIDADE, :CODTABELASIMPLES, :VOLUMES, :ICMS, :IPI, :ESTOQUEATUAL, :COMISSAO, :CODALIQUOTA, :FABRICADO, :DATAFAB, :CFOP, :VALORAVISTA, :TRTIPO, :CST, :CEST, :BASECALCULOICMS, :BASEIPI, :OUTROS, :TOTALAVISTA DO BEGIN CORGRADE = NULL; TAM = NULL; NR = NULL; SELECT GP.COR, GP.TAM, GP.NR FROM GRADEPRODUTO GP WHERE GP.CODPRODUTO=:CODTABELA INTO :CORGRADE, :TAM, :NR; CODNCM=NULL; SELECT SP.CODIGO,SP.REFERENCIA,SP.DESCRICAO,SP.DESCTABELA,SP.CODGRUPO, SP.GRUPO, SP.CODFABRICANTE, SP.FABRICANTE, SP.CODALIQUOTA, SP.ALIQUOTA, SP.DESCRICAO, SP.DESCTABELA, SP.APRESENTACAO, SP.ACRESSUGESTAO, SP.CODNCM, SP.CST, SP.PRECOVENDA, SP.ORIGEM, SP.CODBARRAS FROM SPPESQPRODUTOSPORCODIGO(:CODTABELA) SP INTO :CODPRODUTO, :REFERENCIA, :PRODUTO, :DESCTABELA, :CODGRUPO, :GRUPO, :CODFABRICANTE, :FABRICANTE, :TCODALIQUOTA, :ALIQUOTA, :DESCPROD, :TEMPDESCTABELA, :APRESENTACAO, :ACRESSUGESTAO, :CODNCM, :TCST, :INFPRVENDA, :ORIGEM, :CODBARRAS; if (CODALIQUOTA iS NULL) then CODALIQUOTA=TCODALIQUOTA; if (CST iS NULL) then CST = TCST; TEMPDESC =''; SELECT IMD.DESCRICAOADICIONAL FROM IMDESCRICAOADICIONAL IMD WHERE IMD.CODITEMMOVIMENTO=:CODITEMMOV INTO :TEMPDESC; if (TEMPDESC IS NULL) then TEMPDESC =''; if (TEMPDESCTABELA IS NULL) then TEMPDESCTABELA =''; DESCRICAOADICIONAL = DESCPROD || ' ' || TEMPDESC || ' ' || TEMPDESCTABELA; DESCADICIONAL = TEMPDESC; COR = NULL; SELECT TS.DESCRICAO FROM TABELASSIMPLES TS WHERE TS.CODTABELASIMPLES=:CODTABELASIMPLES INTO :COR; SELECT UM.DESCRICAO, UM.SIGLA FROM UNIDADEMEDIDA UM WHERE UM.CODUNIDADE=:CODUNIDADE INTO :UNIDADE, :SIGLA; SELECT SUM(IO.QTD) FROM PRODUTOSOEMAD IO WHERE IO.CODITEMMOVIMENTO=:CODITEMMOV INTO :ENTREGAMAD; if (ENTREGAMAD IS NULL) then ENTREGAMAD=0; SELECT SUM(IPD.QTD) FROM PRODUTOSOEPD IPD WHERE IPD.CODITEMMOVIMENTO=:CODITEMMOV INTO :ENTREGAPD; if (ENTREGAPD IS NULL) then ENTREGAPD=0; QTDENTREGUE = ENTREGAMAD + ENTREGAPD; FALTAENTREGA = QTD - QTDENTREGUE; if (COMISSAO IS NULL) then VALORCOMISSAO =0; ELSE VALORCOMISSAO = (COMISSAO * TOTAL)/100; if (IPI >0 AND BASEIPI>0) then TOTALIPI = (BASEIPI * IPI)/100; ELSE TOTALIPI = 0; if (ICMS >0 and BASECALCULOICMS >0 ) then TOTALICMS = (ICMS * BASECALCULOICMS)/100; ELSE TOTALICMS = 0; SELECT DM.DESCONTO, DM.TIPODESCONTO, DM.VALORMOVIMENTO FROM DADOSMOVIMENTO DM WHERE DM.CODMOVIMENTO=:MOVIMENTO INTO :TDESCONTOMOV, :TIPODESCONTOMOV, :TOTALMOV; DESCONTOMOV=0; if (TIPODESCONTOMOV='%') then DESCONTOMOV=TDESCONTOMOV; if (TIPODESCONTOMOV='$') then BEGIN DESCONTOMOV=(100 * TDESCONTOMOV)/ TOTALMOV; END if (DESCONTOMOV>0) then TOTALCOMDESCONTO = TOTAL - ((TOTAL * DESCONTOMOV)/100); ELSE TOTALCOMDESCONTO = NULL; suspend; END end^ SET TERM ; ^ SET TERM ^ ; create or alter procedure SPPESQPESSOAS returns ( CODPESSOA integer, CODEMPRESA integer, NOME varchar(70), CPFCNPJ varchar(14), RAZAO varchar(70), TIPO char(1), STATUS char(1), CODFILIAL integer, CODPESSOAEMP integer, RGIE varchar(15), TIPOPESSOA varchar(10)) as declare variable TCODCLIENTE integer; declare variable TCODEMPRESA integer; declare variable TNOME varchar(70); declare variable TCPFCNPJ varchar(14); declare variable TRAZAO varchar(70); declare variable TSTATUS char(1); declare variable TCODFILIAL integer; declare variable TRGIE varchar(14); declare variable TTIPO char(1); BEGIN FOR SELECT C.CODCLIENTE, C.NOME, CJ.CNPJ AS CPFCNPJ, CJ.IE AS RGIE, CJ.RAZAO, C.TIPO, C.STATUS, C.CODFILIAL, C.CODEMPRESA, C.CODCLIEMP, CAST('CLIENTE' AS VARCHAR(10)) FROM CLIENTES C JOIN CLIENTEJURIDICO CJ ON (CJ.CODCLIENTE = C.CODCLIENTE) LEFT JOIN OBSCLIENTES O ON (O.CODCLIENTE = C.CODCLIENTE) WHERE C.LIXEIRA='N' OR C.LIXEIRA IS NULL INTO :TCODCLIENTE, :TNOME, TCPFCNPJ, :TRGIE, :TRAZAO, :TTIPO, :TSTATUS, :TCODFILIAL, :TCODEMPRESA, :CODPESSOAEMP, :TIPOPESSOA DO BEGIN IF (NOT TCODCLIENTE IS NULL) then BEGIN CODPESSOA = TCODCLIENTE; NOME = TNOME; CPFCNPJ = TCPFCNPJ; RGIE = TRGIE; RAZAO = TRAZAO; TIPO = TTIPO; STATUS =TSTATUS; CODFILIAL = TCODFILIAL; CODEMPRESA = TCODEMPRESA; SUSPEND; END END FOR SELECT C.CODCLIENTE, C.NOME, CAST(NULL AS VARCHAR(14)) AS CPFCNPJ, CAST(NULL AS VARCHAR(15)) AS RGIE, CAST(NULL AS VARCHAR(70)) AS RAZAO, C.TIPO, C.STATUS, C.CODFILIAL, C.CODEMPRESA, C.CODCLIEMP, CAST('CLIENTE' AS VARCHAR(10)) FROM CLIENTES C LEFT JOIN OBSCLIENTES O ON (O.CODCLIENTE = C.CODCLIENTE) WHERE (C.LIXEIRA='N' OR C.LIXEIRA IS NULL) AND C.CODCLIENTE NOT IN (SELECT CODCLIENTE FROM CLIENTEJURIDICO) AND (C.CODCLIENTE NOT IN (SELECT CODCLIENTE FROM CLIENTEFISICO)) INTO :TCODCLIENTE, :TNOME, :TCPFCNPJ, :TRGIE, :TRAZAO, :TTIPO, :TSTATUS, :TCODFILIAL, :TCODEMPRESA, :CODPESSOAEMP, :TIPOPESSOA DO BEGIN IF (NOT TCODCLIENTE IS NULL) then BEGIN CODPESSOA = TCODCLIENTE; NOME = TNOME; CPFCNPJ = TCPFCNPJ; RGIE = TRGIE; RAZAO = TRAZAO; TIPO = TTIPO; STATUS =TSTATUS; CODFILIAL = TCODFILIAL; CODEMPRESA = TCODEMPRESA; SUSPEND; END END FOR SELECT FR.CODFORNECEDOR, FR.NOME, CAST(FR.CGCCPF AS VARCHAR(14)) CPFCNPJ, FR.RGIE AS RGIE, FR.RAZAOSOCIAL, CAST(NULL AS VARCHAR(1)), FR.STATUS, FR.CODFILIAL, FR.CODEMPRESA, FR.CODFORNECEDOR, CAST('FORNECEDOR' AS VARCHAR(10)) FROM FORNECEDORES FR WHERE FR.LIXEIRA='N' OR FR.LIXEIRA IS NULL INTO :TCODCLIENTE, :TNOME, TCPFCNPJ, :TRGIE, :TRAZAO, :TTIPO, :TSTATUS, :TCODFILIAL, :TCODEMPRESA, :CODPESSOAEMP, :TIPOPESSOA DO BEGIN IF (NOT TCODCLIENTE IS NULL) then BEGIN CODPESSOA = TCODCLIENTE; NOME = TNOME; CPFCNPJ = TCPFCNPJ; RGIE = TRGIE; RAZAO = TRAZAO; TIPO = TTIPO; STATUS =TSTATUS; CODFILIAL = TCODFILIAL; CODEMPRESA = TCODEMPRESA; SUSPEND; END END end ^ SET TERM ; ^ ALTER TABLE ITENSMOVIMENTOPROD ADD DESCPROD VARCHAR_70; ALTER TABLE ITENSMOVIMENTOPROD ADD CODPRODEMP INTEIRO_NULL;