/*------ 24/03/2021 19:44:23 --------*/ CREATE TABLE PGTOMOV( IDPGTO CODIGO NOT NULL, VALOR NUMERICO, TIPO VARCHAR_50, CODPLANOPGTO INTEIRO_NULL); /*------ 24/03/2021 19:44:23 --------*/ alter table PGTOMOV add primary key (IDPGTO); /*------ 24/03/2021 19:45:04 --------*/ 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, PIX 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; PIX =0; SELECT M.VALOR FROM CAIXAMOV M WHERE M.CODMOVIMENTO=:MOVIMENTO and m.FORMAPGTO='PIX' INTO :PIX; if (:PIX IS NULL) then PIX=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 ; ^ /*------ 24/03/2021 19:46:01 --------*/ CREATE GENERATOR GEN_PGTOMOV; /*------ 24/03/2021 19:46:01 --------*/ SET TERM ^ ; CREATE TRIGGER PGTOMOV_BI FOR PGTOMOV ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.IDPGTO IS NULL OR NEW.IDPGTO=0) THEN NEW.IDPGTO = GEN_ID(GEN_PGTOMOV,1); END ^ SET TERM ; ^ /*------ 24/03/2021 20:42:17 --------*/ ALTER TABLE PGTOMOV ADD CODMOVIMENTO INTEIRO_NULL; /*------ 15/05/2021 12:38:47 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPESSOAMOV ( CODMOVIMENTO INTEGER, TIPOMOV VARCHAR(5)) RETURNS ( CODPESSOA INTEGER, NOME VARCHAR(70), NOMEFANTAZIA VARCHAR(70), TIPO VARCHAR(15), CPFCNPJ VARCHAR(20), RGIE VARCHAR(20), DATANASC DATE, TIPOPESSOA VARCHAR(5), CEP VARCHAR(8), LOGRADOURO VARCHAR(50), NR VARCHAR(5), COMPLEMENTO VARCHAR(30), BAIRRO VARCHAR(50), CIDADE VARCHAR(30), CODCIDADE INTEGER, UF VARCHAR(2), FONE VARCHAR(20), CPAIS INTEGER, DESCPAIS VARCHAR(50), CONTRIBUINTEICMS CHAR(1)) AS declare variable CODENDCLI INTEGER; begin if (TIPOMOV IS NULL) then BEGIN SELECT M.TIPO FROM MOVIMENTOSPRODUTOS M WHERE M.CODMOVIMENTO=:CODMOVIMENTO INTO :TIPOMOV; END CPAIS = 1058; DESCPAIS = 'BRASIL'; IF (TIPOMOV IN ('VE','PV','OR','CS','DE','NE','TR','NC','LO', 'RE')) then BEGIN TIPO = 'Cliente'; SELECT CM.CODCLIENTE, CM.CODENDCLI FROM CLIENTEMOVIMENTO CM WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODPESSOA, :CODENDCLI; SELECT C.NOME, C.TIPO, C.CONTRIBUINTEICMS FROM CLIENTES C WHERE C.CODCLIENTE=:CODPESSOA INTO :NOME, :TIPOPESSOA, :CONTRIBUINTEICMS; if (TIPOPESSOA='F') then BEGIN NOMEFANTAZIA = NULL; SELECT CF.CPF, CF.RG, CF.datanasc FROM CLIENTEFISICO CF WHERE CF.CODCLIENTE=:CODPESSOA INTO :CPFCNPJ, :RGIE, :DATANASC; END if (TIPOPESSOA='J') then BEGIN SELECT CJ.RAZAO, CJ.CNPJ, CJ.IE, NULL FROM CLIENTEJURIDICO CJ WHERE CJ.CODCLIENTE=:CODPESSOA INTO :NOMEFANTAZIA, :CPFCNPJ, :RGIE, :DATANASC; END if (CODENDCLI IS NULL) then BEGIN SELECT FIRST 1 E.CEP, E.LOGRADOURO, E.NR, E.COMPLEMENTO, E.BAIRRO, CD.DESCRICAO, CD.CODCIDADE, UF.SIGLA FROM ENDERECOSCLI E JOIN CIDADES CD ON CD.CODCIDADE = E.CODCIDADE JOIN UF UF ON UF.CODUF = CD.CODUF WHERE E.CODCLIENTE=:CODPESSOA INTO CEP, LOGRADOURO, NR, COMPLEMENTO, BAIRRO, CIDADE, CODCIDADE, :UF; END ELSE BEGIN SELECT FIRST 1 E.CEP, E.LOGRADOURO, E.NR, E.COMPLEMENTO, E.BAIRRO, CD.DESCRICAO, CD.CODCIDADE, UF.SIGLA FROM ENDERECOSCLI E JOIN CIDADES CD ON CD.CODCIDADE = E.CODCIDADE JOIN UF UF ON UF.CODUF = CD.CODUF WHERE E.CODENDCLI=:CODENDCLI INTO CEP, LOGRADOURO, NR, COMPLEMENTO, BAIRRO, CIDADE, CODCIDADE, :UF; END SELECT FIRST 1 CC.DDD || '-' || CC.PREFIXO || '-' || CC.SUFIXO FROM CONTATOSCLI CC WHERE CC.CODCLIENTE=:CODPESSOA INTO :FONE; if (:NOME IS NULL) then NOME = 'CLIENTE NAO INFORMADO'; SUSPEND; END IF (TIPOMOV IN ('CO','PC','CE','DS','NS', 'NF','DP')) then BEGIN TIPOPESSOA='J'; SELECT FM.CODFORNECEDOR FROM FORNMOVIMENTO FM WHERE FM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODPESSOA; SELECT F.RAZAOSOCIAL, F.NOME, F.CGCCPF, F.RGIE, NULL, CONTRIBUINTEICMS FROM FORNECEDORES F WHERE F.CODFORNECEDOR=:CODPESSOA INTO :NOMEFANTAZIA, :NOME, :CPFCNPJ, :RGIE, :DATANASC, :CONTRIBUINTEICMS; TIPO = 'Fornecedor'; SELECT FIRST 1 EF.CEP, EF.LOGRADOURO, EF.NR, EF.COMPLEMENTO, EF.BAIRRO, CD.DESCRICAO, CD.CODCIDADE, UF.SIGLA FROM ENDERECOSFORN EF JOIN CIDADES CD ON CD.CODCIDADE = EF.CODCIDADE JOIN UF UF ON UF.CODUF = CD.CODUF WHERE EF.CODFORNECEDOR=:CODPESSOA INTO CEP, LOGRADOURO, NR, COMPLEMENTO, BAIRRO, CIDADE, CODCIDADE, :UF; SELECT FIRST 1 CF.DDD || '-' || CF.PREFIXO || '-' || CF.SUFIXO FROM CONTATOSFORN CF WHERE CF.CODFORNECEDOR =:CODPESSOA INTO :FONE; if (:NOME IS NULL) then NOME = 'FORNECEDOR NAO INFORMADO'; SUSPEND; END end ^ SET TERM ; ^ /*------ 04/06/2021 13:14:23 --------*/ SET TERM ^ ; 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, F.CPF, F.RG, 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 JOIN CLIENTEFISICO F ON F.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 ; ^ /*------ 04/06/2021 13:29:53 --------*/ SET TERM ^ ; 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(F.CPF AS VARCHAR(14)) , CAST(F.RG AS VARCHAR(15)) , 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 JOIN CLIENTEFISICO F ON F.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 ; ^ /*------ 04/06/2021 13:39:44 --------*/ SET TERM ^ ; 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(15); 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(F.CPF AS VARCHAR(14)) , CAST(F.RG AS VARCHAR(15)) , 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 JOIN CLIENTEFISICO F ON F.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 ; ^ /*------ 07/06/2021 16:24:29 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVPRODUTO ( DATAI DATE, DATAF DATE) RETURNS ( CODMOVIMENTO INTEGER, CODEMPRESA INTEGER, CODFUNCIONARIO INTEGER, CODFILIAL INTEGER, FILIAL VARCHAR(40), DATA DATE, CODIGOCONTABIL VARCHAR(20), TIPO VARCHAR(2), SITUACAO VARCHAR(2), CODPRODUTO INTEGER, PRODUTO VARCHAR(50), PLANODECONTAS VARCHAR(40), TIPOPLANO CHAR(1), QTD FLOAT, UNIDADEMOV VARCHAR(30), VALOR FLOAT, TOTAL FLOAT, BAIXADO CHAR(1), QTDCOVERTIDA FLOAT, UNIDADECONVERTIDA VARCHAR(30), CODFABRICANTE INTEGER, FABRICANTE VARCHAR(40), CODGRUPO INTEGER, GRUPO VARCHAR(40), CODUNIDADEMOV INTEGER, CODFORNECEDOR INTEGER, FORNECEDOR VARCHAR(70), RAZAOFORNECEDOR VARCHAR(70), FUNCIONARIO VARCHAR(40), VOLUMES INTEGER, ESTOQUE FLOAT, VALORCUSTO FLOAT, TOTALCUSTO FLOAT, LUCRO FLOAT, TIPODESCONTO CHAR(1), DESCONTO FLOAT, TOTALCDESC FLOAT, ESTOQUEATUAL FLOAT) AS declare variable CODPRODUTOMOV integer; declare variable CODUNIDADLANCADA integer; declare variable QTDLANCADA float; declare variable CODMOV integer; declare variable TDESCONTO float; declare variable TTIPODESCONTO char(1); declare variable NRITENS integer; declare variable TEMPTOTAL float; begin FOR SELECT M.CODMOVIMENTO, M.CODEMPRESA, M.CODFUNCIONARIO, M.CODFILIAL,FI.NOME, M.DATA, M.CODIGOCONTABIL, M.TIPO, M.SITUACAO, P.CODPRODUTO, P.DESCRICAO AS PRODUTO, PC.DESCRICAO, PC.ESTOQUE,I.QTD, U.DESCRICAO, I.VALOR, I.QTD * I.VALOR AS TOTAL, I.BAIXADO, I.CODPRODUTO, I.QTD, I.CODUNIDADE, P.CODFABRICANTE, F.DESCRICAO, P.CODGRUPO, G.DESCRICAO, FM.CODFORNECEDOR, FO.NOME, FO.RAZAOSOCIAL, FU.NOME, I.VOLUMES, I.VALORCUSTO, I.ESTOQUEATUAL, I.QTD * I.VALORCUSTO FROM ITENSMOVIMENTOPROD I JOIN MOVIMENTOSPRODUTOS M ON (M.CODMOVIMENTO = I.CODMOVIMENTO) JOIN FILIAIS FI ON (FI.CODFILIAL = M.CODFILIAL) LEFT JOIN FORNMOVIMENTO FM ON (FM.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN FORNECEDORES FO ON (FO.CODFORNECEDOR = FM.CODFORNECEDOR) JOIN PLANOSDECONTAS PC ON (PC.CODIGOCONTABIL = M.CODIGOCONTABIL AND PC.CODEMPRESA=M.CODEMPRESA) JOIN PRODUTOS P ON (P.CODPRODUTO = I.CODPRODUTO) JOIN UNIDADEMEDIDA U ON (U.CODUNIDADE = I.CODUNIDADE) LEFT JOIN FABRICANTE F ON (F.CODFABRICANTE = P.CODFABRICANTE ) LEFT JOIN GRUPO G ON (G.CODGRUPO = P.CODGRUPO ) LEFT JOIN FUNCIONARIOS FU ON (FU.CODFUNCIONARIO = M.CODFUNCIONARIO) WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF INTO :CODMOVIMENTO, :CODEMPRESA, :CODFUNCIONARIO, :CODFILIAL, :FILIAL, :DATA, :CODIGOCONTABIL, :TIPO, :SITUACAO, :CODPRODUTO, :PRODUTO, :PLANODECONTAS, :TIPOPLANO, :QTD, :UNIDADEMOV, :VALOR, :TOTAL, :BAIXADO, :CODPRODUTOMOV, :QTDLANCADA, :CODUNIDADLANCADA, :CODFABRICANTE, :FABRICANTE, :CODGRUPO, :GRUPO, :CODFORNECEDOR, :FORNECEDOR, :RAZAOFORNECEDOR, :FUNCIONARIO, :VOLUMES, :VALORCUSTO, :ESTOQUEATUAL, :TOTALCUSTO DO BEGIN SELECT S.QTDCONVERTIDA, S.UNIDADEPRODUTO FROM SPQTDCONVERTIDA(:CODPRODUTOMOV, :CODUNIDADLANCADA, :QTDLANCADA) S INTO :QTDCOVERTIDA , :UNIDADECONVERTIDA; CODUNIDADEMOV = CODUNIDADLANCADA; ESTOQUE = 0; SELECT SP.ESTOQUE FROM SPMOVESTOQUE(:CODPRODUTO) SP INTO :ESTOQUE; SELECT DM.DESCONTO, DM.TIPODESCONTO FROM DADOSMOVIMENTO DM WHERE DM.CODMOVIMENTO=:CODMOVIMENTO INTO :TDESCONTO, :TTIPODESCONTO; TEMPTOTAL = TOTAL; SELECT COUNT(IM.CODITEMMOVIMENTO) FROM ITENSMOVIMENTOPROD IM WHERE IM.CODMOVIMENTO=:CODMOVIMENTO INTO :NRITENS; IF (NRITENS IS NULL) then NRITENS = 1; IF (TTIPODESCONTO='%') then BEGIN DESCONTO=TDESCONTO; END IF (TTIPODESCONTO='$') then BEGIN DESCONTO = TDESCONTO / NRITENS; END IF (TTIPODESCONTO IS NULL ) then BEGIN DESCONTO = 0; END TIPODESCONTO=TTIPODESCONTO; IF (TTIPODESCONTO='%') then BEGIN TOTALCDESC = TEMPTOTAL - ((TEMPTOTAL * DESCONTO)/100); END IF (TTIPODESCONTO='$') then BEGIN TOTALCDESC = TEMPTOTAL - DESCONTO; END IF (TTIPODESCONTO IS NULL ) then BEGIN TOTALCDESC = TEMPTOTAL; END IF (TDESCONTO IS NULL ) then BEGIN TOTALCDESC = TEMPTOTAL; END if ((not TOTALCDESC IS NULL) AND (not TOTALCUSTO IS NULL)) then BEGIN if ((TOTALCDESC >0) AND (TOTALCUSTO >0)) then LUCRO = ((TOTALCDESC - TOTALCUSTO)*100)/TOTALCUSTO; ELSE LUCRO =0; END ELSE LUCRO=0; suspend; END end ^ SET TERM ; ^ /*------ 07/06/2021 16:32:58 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVPRODUTO ( DATAI DATE, DATAF DATE) RETURNS ( CODMOVIMENTO INTEGER, CODEMPRESA INTEGER, CODFUNCIONARIO INTEGER, CODFILIAL INTEGER, FILIAL VARCHAR(40), DATA DATE, CODIGOCONTABIL VARCHAR(20), TIPO VARCHAR(2), SITUACAO VARCHAR(2), CODPRODUTO INTEGER, PRODUTO VARCHAR(50), PLANODECONTAS VARCHAR(40), TIPOPLANO CHAR(1), QTD FLOAT, UNIDADEMOV VARCHAR(30), VALOR FLOAT, TOTAL FLOAT, BAIXADO CHAR(1), QTDCOVERTIDA FLOAT, UNIDADECONVERTIDA VARCHAR(30), CODFABRICANTE INTEGER, FABRICANTE VARCHAR(40), CODGRUPO INTEGER, GRUPO VARCHAR(40), CODUNIDADEMOV INTEGER, CODFORNECEDOR INTEGER, FORNECEDOR VARCHAR(70), RAZAOFORNECEDOR VARCHAR(70), FUNCIONARIO VARCHAR(40), VOLUMES INTEGER, ESTOQUE FLOAT, VALORCUSTO FLOAT, TOTALCUSTO FLOAT, LUCRO FLOAT, TIPODESCONTO CHAR(1), DESCONTO FLOAT, TOTALCDESC FLOAT, ESTOQUEATUAL FLOAT) AS declare variable CODPRODUTOMOV integer; declare variable CODUNIDADLANCADA integer; declare variable QTDLANCADA float; declare variable CODMOV integer; declare variable TDESCONTO float; declare variable TTIPODESCONTO char(1); declare variable NRITENS integer; declare variable TEMPTOTAL float; begin FOR SELECT M.CODMOVIMENTO, M.CODEMPRESA, M.CODFUNCIONARIO, M.CODFILIAL,FI.NOME, M.DATA, M.CODIGOCONTABIL, M.TIPO, M.SITUACAO, PC.DESCRICAO, PC.ESTOQUE,I.QTD, U.DESCRICAO, I.VALOR, I.QTD * I.VALOR AS TOTAL, I.BAIXADO, I.CODPRODUTO, I.QTD, I.CODUNIDADE, P.CODFABRICANTE, F.DESCRICAO, P.CODGRUPO, G.DESCRICAO, FM.CODFORNECEDOR, FO.NOME, FO.RAZAOSOCIAL, FU.NOME, I.VOLUMES, I.VALORCUSTO, I.ESTOQUEATUAL, I.QTD * I.VALORCUSTO FROM ITENSMOVIMENTOPROD I JOIN MOVIMENTOSPRODUTOS M ON (M.CODMOVIMENTO = I.CODMOVIMENTO) JOIN FILIAIS FI ON (FI.CODFILIAL = M.CODFILIAL) LEFT JOIN FORNMOVIMENTO FM ON (FM.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN FORNECEDORES FO ON (FO.CODFORNECEDOR = FM.CODFORNECEDOR) JOIN PLANOSDECONTAS PC ON (PC.CODIGOCONTABIL = M.CODIGOCONTABIL AND PC.CODEMPRESA=M.CODEMPRESA) JOIN PRODUTOS P ON (P.CODPRODUTO = I.CODPRODUTO) JOIN UNIDADEMEDIDA U ON (U.CODUNIDADE = I.CODUNIDADE) LEFT JOIN FABRICANTE F ON (F.CODFABRICANTE = P.CODFABRICANTE ) LEFT JOIN GRUPO G ON (G.CODGRUPO = P.CODGRUPO ) LEFT JOIN FUNCIONARIOS FU ON (FU.CODFUNCIONARIO = M.CODFUNCIONARIO) WHERE M.DATA>=:DATAI AND M.DATA<=:DATAF INTO :CODMOVIMENTO, :CODEMPRESA, :CODFUNCIONARIO, :CODFILIAL, :FILIAL, :DATA, :CODIGOCONTABIL, :TIPO, :SITUACAO, :PLANODECONTAS, :TIPOPLANO, :QTD, :UNIDADEMOV, :VALOR, :TOTAL, :BAIXADO, :CODPRODUTOMOV, :QTDLANCADA, :CODUNIDADLANCADA, :CODFABRICANTE, :FABRICANTE, :CODGRUPO, :GRUPO, :CODFORNECEDOR, :FORNECEDOR, :RAZAOFORNECEDOR, :FUNCIONARIO, :VOLUMES, :VALORCUSTO, :ESTOQUEATUAL, :TOTALCUSTO DO BEGIN CODPRODUTO = :CODPRODUTOMOV; SELECT DESCRICAO FROM PRODUTOS P WHERE P.CODPRODUTO=:CODPRODUTOMOV INTO :PRODUTO; SELECT S.QTDCONVERTIDA, S.UNIDADEPRODUTO FROM SPQTDCONVERTIDA(:CODPRODUTOMOV, :CODUNIDADLANCADA, :QTDLANCADA) S INTO :QTDCOVERTIDA , :UNIDADECONVERTIDA; CODUNIDADEMOV = CODUNIDADLANCADA; ESTOQUE = 0; SELECT SP.ESTOQUE FROM SPMOVESTOQUE(:CODPRODUTO) SP INTO :ESTOQUE; SELECT DM.DESCONTO, DM.TIPODESCONTO FROM DADOSMOVIMENTO DM WHERE DM.CODMOVIMENTO=:CODMOVIMENTO INTO :TDESCONTO, :TTIPODESCONTO; TEMPTOTAL = TOTAL; SELECT COUNT(IM.CODITEMMOVIMENTO) FROM ITENSMOVIMENTOPROD IM WHERE IM.CODMOVIMENTO=:CODMOVIMENTO INTO :NRITENS; IF (NRITENS IS NULL) then NRITENS = 1; IF (TTIPODESCONTO='%') then BEGIN DESCONTO=TDESCONTO; END IF (TTIPODESCONTO='$') then BEGIN DESCONTO = TDESCONTO / NRITENS; END IF (TTIPODESCONTO IS NULL ) then BEGIN DESCONTO = 0; END TIPODESCONTO=TTIPODESCONTO; IF (TTIPODESCONTO='%') then BEGIN TOTALCDESC = TEMPTOTAL - ((TEMPTOTAL * DESCONTO)/100); END IF (TTIPODESCONTO='$') then BEGIN TOTALCDESC = TEMPTOTAL - DESCONTO; END IF (TTIPODESCONTO IS NULL ) then BEGIN TOTALCDESC = TEMPTOTAL; END IF (TDESCONTO IS NULL ) then BEGIN TOTALCDESC = TEMPTOTAL; END if ((not TOTALCDESC IS NULL) AND (not TOTALCUSTO IS NULL)) then BEGIN if ((TOTALCDESC >0) AND (TOTALCUSTO >0)) then LUCRO = ((TOTALCDESC - TOTALCUSTO)*100)/TOTALCUSTO; ELSE LUCRO =0; END ELSE LUCRO=0; suspend; END end ^ SET TERM ; ^ /*------ 16/09/2021 21:41:58 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_100' where (RDB$FIELD_NAME = 'NOMEFANTASIA') and (RDB$RELATION_NAME = 'EMPRESA') ; /*------ 16/09/2021 21:42:15 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_100' where (RDB$FIELD_NAME = 'RAZAOSOCIAL') and (RDB$RELATION_NAME = 'EMPRESA') ; /*------ 16/09/2021 21:48:22 --------*/ SET TERM ^ ; ALTER PROCEDURE SPEMPRESA ( ID VARCHAR(20)) RETURNS ( CODEMPRESA INTEGER, NOMEFANTASIA VARCHAR(150), RAZAOSOCIAL VARCHAR(150), ENDERECO VARCHAR(150), NUMERO VARCHAR(5), BAIRRO VARCHAR(100), COMPLEMENTO VARCHAR(100), CEP VARCHAR(15), FONE VARCHAR(15), FAX VARCHAR(10), CNPJ VARCHAR(20), IE VARCHAR(20), CONTATO VARCHAR(30), CIDADE VARCHAR(30), UF VARCHAR(2), CIDADEUF VARCHAR(33), LOGOTIPO BLOB sub_type 0 segment size 100, ENDNR VARCHAR(45), CONVENIO CHAR(1), CODUF INTEGER, CODCIDADE INTEGER, CONTADOR VARCHAR(100), EMAIL VARCHAR(100), EMITENFE CHAR(1), EMITENFCE CHAR(1)) AS begin SELECT E.CODEMPRESA, E.NOMEFANTASIA, E.RAZAOSOCIAL, E.ENDERECO, E.NUMERO, E.BAIRRO, E.COMPLEMENTO, E.CEP, E.FONE, E.FAX, E.CNPJ, E.IE, E.CONTATO, C.DESCRICAO, U.SIGLA, C.DESCRICAO || '-' ||U.SIGLA, E.LOGOTIPO, E.ENDERECO || '-' || E.NUMERO, E.CONVENIO, C.CODUF, C.CODCIDADE, E.CONTADOR, E.EMAIL, E.EMITENFE, E.EMITENFCE FROM EMPRESA E JOIN CIDADES C ON (C.CODCIDADE = E.CODCIDADE) JOIN UF U ON (U.CODUF = C.CODUF) WHERE E.CNPJ=:ID INTO CODEMPRESA, NOMEFANTASIA, RAZAOSOCIAL, ENDERECO, NUMERO, BAIRRO, COMPLEMENTO, CEP, FONE, FAX, CNPJ, IE, CONTATO, CIDADE, UF, CIDADEUF, LOGOTIPO, ENDNR, CONVENIO, CODUF, CODCIDADE, CONTADOR, EMAIL, EMITENFE, EMITENFCE; suspend; end ^ SET TERM ; ^ /*------ 16/09/2021 21:49:21 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_100' where (RDB$FIELD_NAME = 'ENDERECO') and (RDB$RELATION_NAME = 'EMPRESA') ; /*------ 16/09/2021 21:49:38 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_100' where (RDB$FIELD_NAME = 'BAIRRO') and (RDB$RELATION_NAME = 'EMPRESA') ; /*------ 16/09/2021 21:49:50 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_100' where (RDB$FIELD_NAME = 'COMPLEMENTO') and (RDB$RELATION_NAME = 'EMPRESA') ; /*------ 16/09/2021 21:52:22 --------*/ ALTER TABLE CONFIGURACOES ADD VERSAOBANCO INTEIRO_NULL; /*------ 19/09/2021 22:54:07 --------*/ ALTER TABLE TABERROS ADD ABREVIACAO VARCHAR_100; /*------ 28/09/2021 00:17:21 --------*/ 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, PIX 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; PIX =0; SELECT M.VALOR FROM CAIXAMOV M WHERE M.CODMOVIMENTO=:MOVIMENTO and m.FORMAPGTO='PIX' INTO :PIX; if (:PIX IS NULL) then PIX=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 + :TOTALICMS; 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 ; ^ /*------ 06/10/2021 13:31:24 --------*/ ALTER TABLE OS ADD STATUS CHAR1; /*------ 09/10/2021 11:25:08 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_100' where (RDB$FIELD_NAME = 'LOGRADOURO') and (RDB$RELATION_NAME = 'ENDERECOSCLI') ; /*------ 09/10/2021 11:25:20 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_70' where (RDB$FIELD_NAME = 'BAIRRO') and (RDB$RELATION_NAME = 'ENDERECOSCLI') ; /*------ 09/10/2021 11:25:35 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_70' where (RDB$FIELD_NAME = 'COMPLEMENTO') and (RDB$RELATION_NAME = 'ENDERECOSCLI') ; /*------ 09/10/2021 11:27:48 --------*/ SET TERM ^ ; ALTER PROCEDURE SPENDERECOSPESSOAMOV ( CODMOVIMENTO INTEGER) RETURNS ( CODENDERECO INTEGER, CODTIPOENDERECO INTEGER, CODCIDADE INTEGER, LOGRADOURO VARCHAR(100), BAIRRO VARCHAR(70), CEP VARCHAR(8), NR VARCHAR(5), COMPLEMENTO VARCHAR(70), CIDADE VARCHAR(100), UF CHAR(2), CIDADEUF VARCHAR(105), ENDNR VARCHAR(110), TIPOENDERECO VARCHAR(15)) AS begin if (CODMOVIMENTO IS NULL) then BEGIN CODENDERECO = NULL; LOGRADOURO = NULL; BAIRRO = NULL; CEP = NULL; NR = NULL; COMPLEMENTO = NULL; CIDADE = NULL; UF = NULL; CIDADEUF = NULL; ENDNR = NULL; TIPOENDERECO = NULL; CODCIDADE = NULL; suspend; END ELSE BEGIN FOR SELECT EC.CODENDCLI, EC.CODTIPOENDERECO, EC.CODCIDADE, EC.LOGRADOURO, EC.BAIRRO, EC.CEP, EC.NR, EC.COMPLEMENTO, CD.DESCRICAO, U.SIGLA, CD.DESCRICAO || '-' || U.SIGLA,EC.LOGRADOURO || ', ' || EC.NR, TE.DESCRICAO FROM CLIENTEMOVIMENTO CM JOIN ENDERECOSCLI EC ON (CM.CODCLIENTE = EC.CODCLIENTE) JOIN CIDADES CD ON (CD.CODCIDADE = EC.CODCIDADE) JOIN UF U ON (U.CODUF = CD.CODUF) JOIN TIPOSENDERECOS TE ON (TE.CODTIPOENDERECO= EC.CODTIPOENDERECO) WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODENDERECO, :CODTIPOENDERECO, :CODCIDADE, :LOGRADOURO, :BAIRRO, :CEP, :NR, :COMPLEMENTO, CIDADE, :UF, :CIDADEUF, :ENDNR, :TIPOENDERECO DO SUSPEND; FOR SELECT EF.CODENDFORN, EF.CODTIPOENDERECO, EF.CODCIDADE, EF.LOGRADOURO, EF.BAIRRO, EF.CEP, EF.NR, EF.COMPLEMENTO, CD.DESCRICAO, U.SIGLA, CD.DESCRICAO || '-' || U.SIGLA, EF.LOGRADOURO || ', ' || EF.NR, TE.DESCRICAO FROM FORNMOVIMENTO FM JOIN ENDERECOSFORN EF ON (FM.CODFORNECEDOR = EF.CODFORNECEDOR) JOIN CIDADES CD ON (CD.CODCIDADE = EF.CODCIDADE) JOIN UF U ON (U.CODUF = CD.CODUF) JOIN TIPOSENDERECOS TE ON (TE.CODTIPOENDERECO= EF.CODTIPOENDERECO) WHERE FM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODENDERECO, :CODTIPOENDERECO, :CODCIDADE, :LOGRADOURO, :BAIRRO, :CEP, :NR, :COMPLEMENTO, CIDADE, :UF, :CIDADEUF, :ENDNR, :TIPOENDERECO DO SUSPEND; END end ^ SET TERM ; ^ /*------ 09/10/2021 11:29:30 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPESSOAMOV ( CODMOVIMENTO INTEGER, TIPOMOV VARCHAR(5)) RETURNS ( CODPESSOA INTEGER, NOME VARCHAR(100), NOMEFANTAZIA VARCHAR(100), TIPO VARCHAR(15), CPFCNPJ VARCHAR(20), RGIE VARCHAR(20), DATANASC DATE, TIPOPESSOA VARCHAR(5), CEP VARCHAR(8), LOGRADOURO VARCHAR(100), NR VARCHAR(5), COMPLEMENTO VARCHAR(70), BAIRRO VARCHAR(70), CIDADE VARCHAR(100), CODCIDADE INTEGER, UF VARCHAR(2), FONE VARCHAR(20), CPAIS INTEGER, DESCPAIS VARCHAR(50), CONTRIBUINTEICMS CHAR(1)) AS declare variable CODENDCLI INTEGER; begin if (TIPOMOV IS NULL) then BEGIN SELECT M.TIPO FROM MOVIMENTOSPRODUTOS M WHERE M.CODMOVIMENTO=:CODMOVIMENTO INTO :TIPOMOV; END CPAIS = 1058; DESCPAIS = 'BRASIL'; IF (TIPOMOV IN ('VE','PV','OR','CS','DE','NE','TR','NC','LO', 'RE')) then BEGIN TIPO = 'Cliente'; SELECT CM.CODCLIENTE, CM.CODENDCLI FROM CLIENTEMOVIMENTO CM WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODPESSOA, :CODENDCLI; SELECT C.NOME, C.TIPO, C.CONTRIBUINTEICMS FROM CLIENTES C WHERE C.CODCLIENTE=:CODPESSOA INTO :NOME, :TIPOPESSOA, :CONTRIBUINTEICMS; if (TIPOPESSOA='F') then BEGIN NOMEFANTAZIA = NULL; SELECT CF.CPF, CF.RG, CF.datanasc FROM CLIENTEFISICO CF WHERE CF.CODCLIENTE=:CODPESSOA INTO :CPFCNPJ, :RGIE, :DATANASC; END if (TIPOPESSOA='J') then BEGIN SELECT CJ.RAZAO, CJ.CNPJ, CJ.IE, NULL FROM CLIENTEJURIDICO CJ WHERE CJ.CODCLIENTE=:CODPESSOA INTO :NOMEFANTAZIA, :CPFCNPJ, :RGIE, :DATANASC; END if (CODENDCLI IS NULL) then BEGIN SELECT FIRST 1 E.CEP, E.LOGRADOURO, E.NR, E.COMPLEMENTO, E.BAIRRO, CD.DESCRICAO, CD.CODCIDADE, UF.SIGLA FROM ENDERECOSCLI E JOIN CIDADES CD ON CD.CODCIDADE = E.CODCIDADE JOIN UF UF ON UF.CODUF = CD.CODUF WHERE E.CODCLIENTE=:CODPESSOA INTO CEP, LOGRADOURO, NR, COMPLEMENTO, BAIRRO, CIDADE, CODCIDADE, :UF; END ELSE BEGIN SELECT FIRST 1 E.CEP, E.LOGRADOURO, E.NR, E.COMPLEMENTO, E.BAIRRO, CD.DESCRICAO, CD.CODCIDADE, UF.SIGLA FROM ENDERECOSCLI E JOIN CIDADES CD ON CD.CODCIDADE = E.CODCIDADE JOIN UF UF ON UF.CODUF = CD.CODUF WHERE E.CODENDCLI=:CODENDCLI INTO CEP, LOGRADOURO, NR, COMPLEMENTO, BAIRRO, CIDADE, CODCIDADE, :UF; END SELECT FIRST 1 CC.DDD || '-' || CC.PREFIXO || '-' || CC.SUFIXO FROM CONTATOSCLI CC WHERE CC.CODCLIENTE=:CODPESSOA INTO :FONE; if (:NOME IS NULL) then NOME = 'CLIENTE NAO INFORMADO'; SUSPEND; END IF (TIPOMOV IN ('CO','PC','CE','DS','NS', 'NF','DP')) then BEGIN TIPOPESSOA='J'; SELECT FM.CODFORNECEDOR FROM FORNMOVIMENTO FM WHERE FM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODPESSOA; SELECT F.RAZAOSOCIAL, F.NOME, F.CGCCPF, F.RGIE, NULL, CONTRIBUINTEICMS FROM FORNECEDORES F WHERE F.CODFORNECEDOR=:CODPESSOA INTO :NOMEFANTAZIA, :NOME, :CPFCNPJ, :RGIE, :DATANASC, :CONTRIBUINTEICMS; TIPO = 'Fornecedor'; SELECT FIRST 1 EF.CEP, EF.LOGRADOURO, EF.NR, EF.COMPLEMENTO, EF.BAIRRO, CD.DESCRICAO, CD.CODCIDADE, UF.SIGLA FROM ENDERECOSFORN EF JOIN CIDADES CD ON CD.CODCIDADE = EF.CODCIDADE JOIN UF UF ON UF.CODUF = CD.CODUF WHERE EF.CODFORNECEDOR=:CODPESSOA INTO CEP, LOGRADOURO, NR, COMPLEMENTO, BAIRRO, CIDADE, CODCIDADE, :UF; SELECT FIRST 1 CF.DDD || '-' || CF.PREFIXO || '-' || CF.SUFIXO FROM CONTATOSFORN CF WHERE CF.CODFORNECEDOR =:CODPESSOA INTO :FONE; if (:NOME IS NULL) then NOME = 'FORNECEDOR NAO INFORMADO'; SUSPEND; END end ^ SET TERM ; ^ /*------ 09/10/2021 11:30:25 --------*/ SET TERM ^ ; ALTER PROCEDURE SPENDERECOSCLI ( CODCLIENTE INTEGER) RETURNS ( CODENDCLI INTEGER, CODTIPOENDERECO INTEGER, CODCIDADE INTEGER, LOGRADOURO VARCHAR(100), BAIRRO VARCHAR(70), CEP VARCHAR(8), NR VARCHAR(5), COMPLEMENTO VARCHAR(70), CIDADE VARCHAR(100), UF CHAR(2), CIDADEUF VARCHAR(105), ENDNR VARCHAR(110), TIPOENDERECO VARCHAR(15)) AS begin if (CODCLIENTE IS NULL) then BEGIN LOGRADOURO = NULL; BAIRRO = NULL; CEP = NULL; NR = NULL; COMPLEMENTO = NULL; CIDADE = NULL; UF = NULL; CIDADEUF = NULL; ENDNR = NULL; TIPOENDERECO = NULL; CODCIDADE = NULL; suspend; END ELSE BEGIN FOR SELECT EC.CODENDCLI, EC.CODTIPOENDERECO, EC.CODCIDADE, EC.LOGRADOURO, EC.BAIRRO, EC.CEP, EC.NR, EC.COMPLEMENTO, CD.DESCRICAO, U.SIGLA, CD.DESCRICAO || '-' || U.SIGLA,EC.LOGRADOURO || ', ' || EC.NR, TE.DESCRICAO FROM ENDERECOSCLI EC LEFT JOIN CIDADES CD ON (CD.CODCIDADE = EC.CODCIDADE) LEFT JOIN UF U ON (U.CODUF = CD.CODUF) LEFT JOIN TIPOSENDERECOS TE ON (TE.CODTIPOENDERECO= EC.CODTIPOENDERECO) WHERE EC.CODCLIENTE=:CODCLIENTE INTO :CODENDCLI, :CODTIPOENDERECO, :CODCIDADE, :LOGRADOURO, :BAIRRO, :CEP, :NR, :COMPLEMENTO, CIDADE, :UF, :CIDADEUF, :ENDNR, :TIPOENDERECO DO SUSPEND; END end ^ SET TERM ; ^ /*------ 09/10/2021 11:31:16 --------*/ SET TERM ^ ; ALTER PROCEDURE SPCLIFISICO RETURNS ( CODCLIENTE INTEGER, CPF VARCHAR(11), RG VARCHAR(15), DATANASC DATE, CODCIDADENATURAL INTEGER, PAI VARCHAR(50), MAE VARCHAR(50), LOCALDETRABALHO VARCHAR(40), CARGO VARCHAR(40), SALARIO FLOAT, FONETRABALHO VARCHAR(20), ESTCIVIL CHAR(1), CASAPROPRIA CHAR(1), VALORALUGUEL FLOAT, NRBENEFICIO VARCHAR(40), LOGRADOURO VARCHAR(100), BAIRRO VARCHAR(70), CIDADE VARCHAR(100), UF CHAR(2)) AS begin FOR SELECT CODCLIENTE, CPF, RG, DATANASC, CODCIDADENATURAL, PAI, MAE, LOCALDETRABALHO, CARGO, SALARIO, FONETRABALHO, ESTCIVIL, CASAPROPRIA, VALORALUGUEL, NRBENEFICIO FROM CLIENTEFISICO CF INTO :CODCLIENTE, :CPF, :RG, :DATANASC, :CODCIDADENATURAL, :PAI, :MAE, :LOCALDETRABALHO, :CARGO, :SALARIO, :FONETRABALHO, :ESTCIVIL, :CASAPROPRIA, :VALORALUGUEL, :NRBENEFICIO DO BEGIN FOR SELECT EC.LOGRADOURO, EC.BAIRRO, C.DESCRICAO, U.SIGLA FROM ENDERECOSCLI EC LEFT JOIN CIDADES C ON (C.CODCIDADE = EC.CODCIDADE) LEFT JOIN UF U ON (U.CODUF = C.CODUF) WHERE EC.CODCLIENTE=:CODCLIENTE INTO :LOGRADOURO, :BAIRRO, :CIDADE, :UF DO suspend; END end ^ SET TERM ; ^ /*------ 09/10/2021 11:31:45 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVCIDADE RETURNS ( CODUF INTEGER, CODCIDADE INTEGER, UF VARCHAR(2), CIDADE VARCHAR(100), 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 ; ^ /*------ 09/10/2021 11:32:51 --------*/ SET TERM ^ ; ALTER PROCEDURE SPCEP ( LOGRADOURO VARCHAR(100), BAIRRO VARCHAR(100)) RETURNS ( CEP VARCHAR(8), CODCIDADE INTEGER) AS begin FOR SELECT DISTINCT(EC.CEP), EC.CODCIDADE FROM ENDERECOSCLI EC WHERE UPPER(EC.LOGRADOURO)=UPPER(:LOGRADOURO) AND UPPER(EC.BAIRRO)=UPPER(:BAIRRO) INTO :CEP, :CODCIDADE DO SUSPEND; IF (CEP IS NULL) then BEGIN FOR SELECT CP.CEP, CP.CODCIDADE FROM CEPS CP WHERE UPPER(CP.LOGRADOURO)=UPPER(:LOGRADOURO) AND UPPER(CP.BAIRRO)=UPPER(:BAIRRO) INTO :CEP, :CODCIDADE DO suspend; END end ^ SET TERM ; ^ /*------ 09/10/2021 11:33:33 --------*/ ALTER TABLE MOOS ADD STATUS CHAR1; /*------ 09/10/2021 11:33:46 --------*/ ALTER TABLE TECNICOSOS ADD STATUS CHAR1; /*------ 09/10/2021 11:34:27 --------*/ ALTER TABLE ITENSOS ADD STATUS CHAR1; /*------ 09/10/2021 20:42:18 --------*/ CREATE DOMAIN STATUSNOVO AS CHAR(1) DEFAULT '*' ; /*------ 09/10/2021 20:42:24 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'STATUSNOVO' where (RDB$FIELD_NAME = 'STATUS') and (RDB$RELATION_NAME = 'MOOS') ; /*------ 01/12/2021 12:28:25 --------*/ SET TERM ^ ; ALTER PROCEDURE SPENDERECOSPESSOAMOV ( CODMOVIMENTO INTEGER) RETURNS ( CODENDERECO INTEGER, CODTIPOENDERECO INTEGER, CODCIDADE INTEGER, LOGRADOURO VARCHAR(100), BAIRRO VARCHAR(70), CEP VARCHAR(8), NR VARCHAR(5), COMPLEMENTO VARCHAR(70), CIDADE VARCHAR(100), UF CHAR(2), CIDADEUF VARCHAR(105), ENDNR VARCHAR(110), TIPOENDERECO VARCHAR(15), CODPAIS INTEGER, DESCPAIS VARCHAR(200)) AS begin if (CODMOVIMENTO IS NULL) then BEGIN CODENDERECO = NULL; LOGRADOURO = NULL; BAIRRO = NULL; CEP = NULL; NR = NULL; COMPLEMENTO = NULL; CIDADE = NULL; UF = NULL; CIDADEUF = NULL; ENDNR = NULL; TIPOENDERECO = NULL; CODCIDADE = NULL; CODPAIS = NULL; DESCPAIS = NULL; suspend; END ELSE BEGIN FOR SELECT EC.CODENDCLI, EC.CODTIPOENDERECO, EC.CODCIDADE, EC.LOGRADOURO, EC.BAIRRO, EC.CEP, EC.NR, EC.COMPLEMENTO, CD.DESCRICAO, U.SIGLA, CD.DESCRICAO || '-' || U.SIGLA,EC.LOGRADOURO || ', ' || EC.NR, TE.DESCRICAO, P.CODPAIS, P.DESCRICAO FROM CLIENTEMOVIMENTO CM JOIN ENDERECOSCLI EC ON (CM.CODCLIENTE = EC.CODCLIENTE) JOIN CIDADES CD ON (CD.CODCIDADE = EC.CODCIDADE) JOIN UF U ON (U.CODUF = CD.CODUF) LEFT JOIN PAISES P ON P.CODPAIS = EC.CODPAIS JOIN TIPOSENDERECOS TE ON (TE.CODTIPOENDERECO= EC.CODTIPOENDERECO) WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODENDERECO, :CODTIPOENDERECO, :CODCIDADE, :LOGRADOURO, :BAIRRO, :CEP, :NR, :COMPLEMENTO, CIDADE, :UF, :CIDADEUF, :ENDNR, :TIPOENDERECO, :CODPAIS, DESCPAIS DO SUSPEND; FOR SELECT EF.CODENDFORN, EF.CODTIPOENDERECO, EF.CODCIDADE, EF.LOGRADOURO, EF.BAIRRO, EF.CEP, EF.NR, EF.COMPLEMENTO, CD.DESCRICAO, U.SIGLA, CD.DESCRICAO || '-' || U.SIGLA, EF.LOGRADOURO || ', ' || EF.NR, TE.DESCRICAO, P.CODPAIS, P.DESCRICAO FROM FORNMOVIMENTO FM JOIN ENDERECOSFORN EF ON (FM.CODFORNECEDOR = EF.CODFORNECEDOR) JOIN CIDADES CD ON (CD.CODCIDADE = EF.CODCIDADE) JOIN UF U ON (U.CODUF = CD.CODUF) LEFT JOIN PAISES P ON P.CODPAIS = EF.CODPAIS JOIN TIPOSENDERECOS TE ON (TE.CODTIPOENDERECO= EF.CODTIPOENDERECO) WHERE FM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODENDERECO, :CODTIPOENDERECO, :CODCIDADE, :LOGRADOURO, :BAIRRO, :CEP, :NR, :COMPLEMENTO, CIDADE, :UF, :CIDADEUF, :ENDNR, :TIPOENDERECO, :CODPAIS, DESCPAIS DO SUSPEND; END end ^ SET TERM ; ^ /*------ 01/12/2021 14:26:13 --------*/ SET TERM ^ ; ALTER PROCEDURE SPENDERECOSPESSOAMOV ( CODMOVIMENTO INTEGER) RETURNS ( CODENDERECO INTEGER, CODTIPOENDERECO INTEGER, CODCIDADE INTEGER, LOGRADOURO VARCHAR(100), BAIRRO VARCHAR(70), CEP VARCHAR(8), NR VARCHAR(5), COMPLEMENTO VARCHAR(70), CIDADE VARCHAR(100), UF CHAR(2), CIDADEUF VARCHAR(105), ENDNR VARCHAR(110), TIPOENDERECO VARCHAR(15), CODPAIS INTEGER, DESCPAIS VARCHAR(200)) AS begin if (CODMOVIMENTO IS NULL) then BEGIN CODENDERECO = NULL; LOGRADOURO = NULL; BAIRRO = NULL; CEP = NULL; NR = NULL; COMPLEMENTO = NULL; CIDADE = NULL; UF = NULL; CIDADEUF = NULL; ENDNR = NULL; TIPOENDERECO = NULL; CODCIDADE = NULL; CODPAIS = NULL; DESCPAIS = NULL; suspend; END ELSE BEGIN FOR SELECT EC.CODENDCLI, EC.CODTIPOENDERECO, EC.CODCIDADE, EC.LOGRADOURO, EC.BAIRRO, EC.CEP, EC.NR, EC.COMPLEMENTO, CD.DESCRICAO, U.SIGLA, CD.DESCRICAO || '-' || U.SIGLA,EC.LOGRADOURO || ', ' || EC.NR, TE.DESCRICAO, P.CODPAIS, P.DESCRICAO FROM CLIENTEMOVIMENTO CM JOIN ENDERECOSCLI EC ON (CM.CODCLIENTE = EC.CODCLIENTE) JOIN CIDADES CD ON (CD.CODCIDADE = EC.CODCIDADE) JOIN UF U ON (U.CODUF = CD.CODUF) LEFT JOIN PAISES P ON P.CODPAIS = EC.CODPAIS JOIN TIPOSENDERECOS TE ON (TE.CODTIPOENDERECO= EC.CODTIPOENDERECO) WHERE CM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODENDERECO, :CODTIPOENDERECO, :CODCIDADE, :LOGRADOURO, :BAIRRO, :CEP, :NR, :COMPLEMENTO, CIDADE, :UF, :CIDADEUF, :ENDNR, :TIPOENDERECO, :CODPAIS, DESCPAIS DO SUSPEND; FOR SELECT EF.CODENDFORN, EF.CODTIPOENDERECO, EF.CODCIDADE, EF.LOGRADOURO, EF.BAIRRO, EF.CEP, EF.NR, EF.COMPLEMENTO, CD.DESCRICAO, U.SIGLA, CD.DESCRICAO || '-' || U.SIGLA, EF.LOGRADOURO || ', ' || EF.NR, TE.DESCRICAO, P.CODPAIS, P.DESCRICAO FROM FORNMOVIMENTO FM JOIN ENDERECOSFORN EF ON (FM.CODFORNECEDOR = EF.CODFORNECEDOR) JOIN CIDADES CD ON (CD.CODCIDADE = EF.CODCIDADE) JOIN UF U ON (U.CODUF = CD.CODUF) LEFT JOIN PAISES P ON P.CODPAIS = EF.CODPAIS JOIN TIPOSENDERECOS TE ON (TE.CODTIPOENDERECO= EF.CODTIPOENDERECO) WHERE FM.CODMOVIMENTO=:CODMOVIMENTO INTO :CODENDERECO, :CODTIPOENDERECO, :CODCIDADE, :LOGRADOURO, :BAIRRO, :CEP, :NR, :COMPLEMENTO, CIDADE, :UF, :CIDADEUF, :ENDNR, :TIPOENDERECO, :CODPAIS, :DESCPAIS DO SUSPEND; END end ^ SET TERM ; ^ /*------ 02/12/2021 13:18:09 --------*/ SET TERM ^ ; ALTER PROCEDURE SPDOCUMENTOMOV ( CODIGO INTEGER) RETURNS ( CODMOVIMENTO INTEGER, NRDOCUMENTO VARCHAR(20), CODCFOP INTEGER, BASEICMS FLOAT, ICMS FLOAT, TIPODOC VARCHAR(20), CFOP VARCHAR(250), ALIQICMS FLOAT, NATUREZA VARCHAR(10), TIPO CHAR(1), NRSERIEEQUIPAMENTO VARCHAR(40), VALORST FLOAT, EMITENTE CHAR(1), MODELO CHAR(1), SERIE VARCHAR(5), VBCST FLOAT, VST FLOAT, RETORNONFE VARCHAR(50)) AS begin SELECT D.CODMOVIMENTO, D.NRDOCUMENTO, D.CODCFOP, D.BASEICMS, D.ICMS, D.TIPODOC, C.DESCRICAO, D.ALIQICMS, C.NATUREZA, C.TIPO, D.NRSERIEEQUIPAMENTO, D.VALORST, D.EMITENTE, D.MODELO, D.SERIE, D.VBCST, D.VST, D.RETORNONFE FROM DOCUMENTOMOV D JOIN CFOP C ON (C.CODCFOP = D.CODCFOP) WHERE D.CODMOVIMENTO=:CODIGO INTO :CODMOVIMENTO, :NRDOCUMENTO, :CODCFOP, :BASEICMS, :ICMS, :TIPODOC, :CFOP, :ALIQICMS, :NATUREZA, :TIPO, :NRSERIEEQUIPAMENTO, :VALORST, :EMITENTE, :MODELO, :SERIE, :vBCST, :vST, :RETORNONFE ; suspend; end ^ SET TERM ; ^ /*------ 02/12/2021 13:18:36 --------*/ SET TERM ^ ; ALTER PROCEDURE SPMOVPORCFOP ( DATAI DATE, DATAF DATE) RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, NRDOCUMENTO VARCHAR(20), CFOP VARCHAR(300), 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 ; ^ /*------ 02/12/2021 13:19:15 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPESQMOVENTRAPORCODIGO ( CODIGO INTEGER) RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, TIPO VARCHAR(2), SITUACAO CHAR(2), CODIGOCONTABIL VARCHAR(20), CODFUNCIONARIO INTEGER, CODCFOP INTEGER, NRDOCUMENTO VARCHAR(20), PLANODECONTAS VARCHAR(40), NATUREZA VARCHAR(10), CFOP VARCHAR(300), TIPOPESSOA VARCHAR(10), CODPESSOA INTEGER, NOMEPESSOA VARCHAR(70), USUARIO VARCHAR(10), CODFILIAL INTEGER, CODACUMULADOR INTEGER, CODESPECIE INTEGER) AS begin FOR SELECT M.CODMOVIMENTO, M.DATA, M.TIPO, M.SITUACAO, M.CODIGOCONTABIL, M.CODFUNCIONARIO, DM.CODCFOP, DM.NRDOCUMENTO, PC.DESCRICAO AS PLANODECONTAS, CF.NATUREZA, CF.DESCRICAO AS CFOP, CAST('Cliente' as VARCHAR(15)) AS TIPOPESSOA,CL.CODCLIENTE AS CODPESSOA, CAST(CL.NOME AS VARCHAR(70)) AS NOMEPESSOA, U.LOGIN, M.CODFILIAL, M.CODACUMULADOR, M.CODESPECIE FROM MOVIMENTOSPRODUTOS M LEFT JOIN DOCUMENTOMOV DM ON (DM.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN CFOP CF ON (CF.CODCFOP = DM.CODCFOP) LEFT JOIN PLANOSDECONTAS PC ON (PC.CODIGOCONTABIL = M.CODIGOCONTABIL) LEFT JOIN CLIENTEMOVIMENTO CM ON (CM.CODMOVIMENTO = M.CODMOVIMENTO) LEFT JOIN CLIENTES CL ON (CL.CODCLIENTE = CM.CODCLIENTE) LEFT JOIN USUARIOS U ON (U.CODUSUARIO = M.CODUSUARIO) WHERE M.TIPO IN ('VE','PV', 'OR','DE','CS') AND M.CODMOVIMENTO=:CODIGO INTO :CODMOVIMENTO, :DATA, :TIPO, :SITUACAO, :CODIGOCONTABIL, :CODFUNCIONARIO, :CODCFOP, :NRDOCUMENTO, :PLANODECONTAS, :NATUREZA, :CFOP, :TIPOPESSOA, :CODPESSOA, :NOMEPESSOA, :USUARIO, :CODFILIAL, :CODACUMULADOR, :CODESPECIE DO suspend; end ^ SET TERM ; ^ /*------ 02/12/2021 13:20:07 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPESQNF ( DATAI DATE, DATAF DATE) RETURNS ( CODMOVIMENTO INTEGER, DATA DATE, NRDOCUMENTO VARCHAR(20), CFOP VARCHAR(300), 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 ; ^ /*------ 02/12/2021 13:20:41 --------*/ SET TERM ^ ; ALTER PROCEDURE SPDOCUMENTOMOV ( CODIGO INTEGER) RETURNS ( CODMOVIMENTO INTEGER, NRDOCUMENTO VARCHAR(20), CODCFOP INTEGER, BASEICMS FLOAT, ICMS FLOAT, TIPODOC VARCHAR(20), CFOP VARCHAR(300), ALIQICMS FLOAT, NATUREZA VARCHAR(10), TIPO CHAR(1), NRSERIEEQUIPAMENTO VARCHAR(40), VALORST FLOAT, EMITENTE CHAR(1), MODELO CHAR(1), SERIE VARCHAR(5), VBCST FLOAT, VST FLOAT, RETORNONFE VARCHAR(50)) AS begin SELECT D.CODMOVIMENTO, D.NRDOCUMENTO, D.CODCFOP, D.BASEICMS, D.ICMS, D.TIPODOC, C.DESCRICAO, D.ALIQICMS, C.NATUREZA, C.TIPO, D.NRSERIEEQUIPAMENTO, D.VALORST, D.EMITENTE, D.MODELO, D.SERIE, D.VBCST, D.VST, D.RETORNONFE FROM DOCUMENTOMOV D JOIN CFOP C ON (C.CODCFOP = D.CODCFOP) WHERE D.CODMOVIMENTO=:CODIGO INTO :CODMOVIMENTO, :NRDOCUMENTO, :CODCFOP, :BASEICMS, :ICMS, :TIPODOC, :CFOP, :ALIQICMS, :NATUREZA, :TIPO, :NRSERIEEQUIPAMENTO, :VALORST, :EMITENTE, :MODELO, :SERIE, :vBCST, :vST, :RETORNONFE ; suspend; end ^ SET TERM ; ^ /*------ 02/12/2021 13:20:49 --------*/ SET TERM ^ ; ALTER PROCEDURE SPDOCUMENTOMOV ( CODIGO INTEGER) RETURNS ( CODMOVIMENTO INTEGER, NRDOCUMENTO VARCHAR(20), CODCFOP INTEGER, BASEICMS FLOAT, ICMS FLOAT, TIPODOC VARCHAR(20), CFOP VARCHAR(300), ALIQICMS FLOAT, NATUREZA VARCHAR(10), TIPO CHAR(1), NRSERIEEQUIPAMENTO VARCHAR(40), VALORST FLOAT, EMITENTE CHAR(1), MODELO CHAR(1), SERIE VARCHAR(5), VBCST FLOAT, VST FLOAT, RETORNONFE VARCHAR(50)) AS begin SELECT D.CODMOVIMENTO, D.NRDOCUMENTO, D.CODCFOP, D.BASEICMS, D.ICMS, D.TIPODOC, C.DESCRICAO, D.ALIQICMS, C.NATUREZA, C.TIPO, D.NRSERIEEQUIPAMENTO, D.VALORST, D.EMITENTE, D.MODELO, D.SERIE, D.VBCST, D.VST, D.RETORNONFE FROM DOCUMENTOMOV D JOIN CFOP C ON (C.CODCFOP = D.CODCFOP) WHERE D.CODMOVIMENTO=:CODIGO INTO :CODMOVIMENTO, :NRDOCUMENTO, :CODCFOP, :BASEICMS, :ICMS, :TIPODOC, :CFOP, :ALIQICMS, :NATUREZA, :TIPO, :NRSERIEEQUIPAMENTO, :VALORST, :EMITENTE, :MODELO, :SERIE, :vBCST, :vST, :RETORNONFE ; suspend; end ^ SET TERM ; ^