CREATE TABLE CATEGORIAERROS ( CODCATEGORIA CODIGO NOT NULL, DESCRICAO VARCHAR_50, STATUS STATUS); ALTER TABLE CATEGORIAERROS ADD CONSTRAINT PK_CATEGORIAERROS PRIMARY KEY (CODCATEGORIA); CREATE SEQUENCE GEN_CATEGORIAERROS_ID; SET TERM ^ ; CREATE TRIGGER CATEGORIAERROS_BI FOR CATEGORIAERROS ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.CODCATEGORIA IS NULL or NEW.CODCATEGORIA=0 ) THEN NEW.CODCATEGORIA = GEN_ID(GEN_CATEGORIAERROS_ID,1); END^ SET TERM ; ^ ALTER TABLE TABERROS ADD CODCATEGORIA INTEIRO_NULL; SET TERM ^ ; CREATE OR ALTER procedure SPCODBARRAS ( CODEMPRESA integer) returns ( CODPRODUTO integer, CODBARRAS varchar(30), EQUIVALENCIA float, DESCRICAO varchar(30)) as begin FOR SELECT CODPRODUTO , CODBARRAS, 1, NULL FROM PRODUTOS P WHERE P.CODEMPRESA=:CODEMPRESA AND (P.LIXEIRA IS NULL or P.LIXEIRA='N') INTO :CODPRODUTO, :CODBARRAS, :EQUIVALENCIA, :DESCRICAO DO suspend; FOR SELECT CB.CODPRODUTO , CB.CODBARRAS, CB.EQUIVALENCIA, CB.DESCRICAO FROM PRODUTOSCODBARRAS CB JOIN PRODUTOS P ON CB.CODPRODUTO=P.CODPRODUTO WHERE P.CODEMPRESA=:CODEMPRESA AND (P.LIXEIRA IS NULL or P.LIXEIRA='N') INTO :CODPRODUTO, :CODBARRAS, :EQUIVALENCIA, :DESCRICAO DO suspend; end^ SET TERM ; ^ CREATE TABLE FILAENVIO ( ID CODIGO NOT NULL, NOME VARCHAR_100, NUMERO VARCHAR_30, MSG MEMO_TEXTO, STATUS CHAR1, DATA DATA, HORA HORA, REMETENTE VC250, IMG VC250, WHATSREM VARCHAR_30); ALTER TABLE FILAENVIO ADD CONSTRAINT PK_FILAENVIO PRIMARY KEY (ID); CREATE SEQUENCE GEN_FILAENVIO_ID; SET TERM ^ ; CREATE TRIGGER FILAENVIO_BI FOR FILAENVIO ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.ID IS NULL or NEW.ID=0 ) THEN NEW.ID = GEN_ID(GEN_FILAENVIO_ID,1); IF (NEW.DATA IS NULL ) THEN NEW.DATA = CURRENT_DATE; IF (NEW.HORA IS NULL ) THEN NEW.HORA = CURRENT_TIME; END^ SET TERM ; ^ ALTER TABLE TABERROS ADD TIPO VAR_CHAR10; SET TERM ^ ; CREATE OR ALTER TRIGGER TABERROS_BI FOR TABERROS ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.CODERRO IS NULL or NEW.CODERRO =0) THEN NEW.CODERRO = GEN_ID(GEN_TABERROS,1); IF (NEW.TIPO IS NULL ) THEN NEW.TIPO = 'ERRO'; END^ SET TERM ; ^ ALTER TABLE TABERROS ADD SUBCATEGORIA VARCHAR_100; ALTER TABLE GRUPO ADD DELIVERY VAR_CHAR5; /*------ 12/03/2020 22:37:29 --------*/ ALTER TABLE ITENSMOVIMENTOPROD ADD TAMANHO VAR_CHAR5; ALTER TABLE PRODUTOS ADD VALOR_P VALOR_10_2; ALTER TABLE PRODUTOS ADD VALOR_M VALOR_10_2; ALTER TABLE PRODUTOS ADD VALOR_G VALOR_10_2; /*------ 14/03/2020 18:12:51 --------*/ update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'VARCHAR_50' where (RDB$FIELD_NAME = 'REFERENCIA') and (RDB$RELATION_NAME = 'MOVIMENTOSPRODUTOS') ; /*------ 16/03/2020 01:21:54 --------*/ CREATE TABLE PEDIDOS( CODPEDIDO CODIGO NOT NULL, DATA DATA, HORA HORA, ENDERECO VC250, OBS VC250, OBSTROCO VC250, SUBTOTAL VALOR_10_2, STATUS VARCHAR11); /*------ 16/03/2020 01:21:54 --------*/ alter table PEDIDOS add primary key (CODPEDIDO); /*------ 16/03/2020 01:22:27 --------*/ CREATE GENERATOR GEN_PEDIDOS; /*------ 16/03/2020 01:22:27 --------*/ SET TERM ^ ; CREATE TRIGGER PEDIDOS_BI FOR PEDIDOS ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.CODPEDIDO IS NULL OR NEW.CODPEDIDO=0) THEN NEW.CODPEDIDO = GEN_ID(GEN_PEDIDOS,1); END ^ SET TERM ; ^ /*------ 16/03/2020 01:38:16 --------*/ SET TERM ^ ; CREATE TRIGGER ITENSPEDIDO_BI FOR ITENSPEDIDO ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.CODITEMPEDIDO IS NULL OR NEW.CODITEMPEDIDO=0) THEN NEW.CODITEMPEDIDO = GEN_ID(GEN_ITENSPEDIDO,1); END ^ SET TERM ; ^ /*------ 16/03/2020 01:53:53 --------*/ ALTER TABLE PEDIDOS ADD IDCONVERSA VARCHAR_50; /*------ 17/03/2020 01:36:25 --------*/ CREATE TABLE ITENSPEDDELIVERY( IDITEM CODIGO NOT NULL, CODPEDIDO INTEIRO_NOTNULL NOT NULL, CODPRODUTO INTEIRO_NULL, DESCRICAO VARCHAR_100, VALOR VALOR_10_2, QTD NUMERICO, TOTAL VALOR_10_2); /*------ 17/03/2020 01:36:25 --------*/ alter table ITENSPEDDELIVERY add primary key (IDITEM); /*------ 17/03/2020 01:37:00 --------*/ CREATE GENERATOR GEN_ITENSPEDDELIVERY; /*------ 17/03/2020 01:37:00 --------*/ SET TERM ^ ; CREATE TRIGGER ITENSPEDDELIVERY_BI FOR ITENSPEDDELIVERY ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.IDITEM IS NULL OR NEW.IDITEM=0) THEN NEW.IDITEM = GEN_ID(GEN_ITENSPEDDELIVERY,1); END ^ SET TERM ; ^ /*------ 20/03/2020 22:47:25 --------*/ ALTER TABLE GRUPO ADD ORDENMENU INTEIRO_NULL; /*------ 20/03/2020 22:48:15 --------*/ ALTER TABLE PRODUTOS ADD ORDENMENU INTEIRO_NULL; /*------ 22/03/2020 19:07:32 --------*/ SET TERM ^ ; ALTER PROCEDURE SPPRODUTOSPORTIPO ( PESQUISA VARCHAR(50), TIPOPESQ VARCHAR(2)) RETURNS ( CODIGO INTEGER, CODPRODUTO INTEGER, CODUNIDADE INTEGER, DESCRICAO VARCHAR(50), DESCTABELA VARCHAR(30), PRECOVENDA FLOAT, CODFABRICANTE INTEGER, FABRICANTE VARCHAR(40), UNIDADE VARCHAR(30), STATUS CHAR(1), CODBARRAS VARCHAR(30), PRECOCOMPRA FLOAT, PRECOCUSTO FLOAT, CODMOEDA INTEGER, REFERENCIA VARCHAR(20), MOEDA VARCHAR(30), ESTOQUE FLOAT, CODGRUPO INTEGER, GRUPO VARCHAR(30), CODSUBGRUPO INTEGER, SUBGRUPO VARCHAR(40), ESTOQUEMINIMO FLOAT, LIXEIRA CHAR(1), CODALIQUOTA VARCHAR(10), TIPO VARCHAR(3), NOMECOMERCIAL VARCHAR(70), COMPOSICAO VARCHAR(100), ALIQUOTA FLOAT, CODFILIAL INTEGER, DATAULTIMACOMPRA DATE, QTDULTIMACOMPRA FLOAT, DATAULTIMAVENDA DATE, QTDULTIMAVENDA FLOAT, UM VARCHAR(3), TIPOCAD CHAR(1), COR VARCHAR(40), TAM VARCHAR(5), NR INTEGER, PRECOAVISTA FLOAT, CODEMPRESA INTEGER, CODPRODEMP INTEGER, ORDENMENU INTEGER) AS declare variable TEMPCODPRODUTO INTEGER; declare variable TEMPESTOQUE FLOAT; declare variable TEMPPRVENDA FLOAT; declare variable TCODFABRICANTE INTEGER; declare variable TCODGRUPO INTEGER; declare variable TTIPO VARCHAR(3); begin if (TIPOPESQ = 'CO') then BEGIN FOR SELECT P.ORDENMENU, P.CODEMPRESA, P.CODPRODEMP, P.CODFILIAL, P.CODPRODUTO, P.CODPRODUTO, P.CODUNIDADE, P.DESCRICAO, CAST(NULL AS VARCHAR(30)), P.PRECOVENDA, P.STATUS, P.CODBARRAS, P.PRECOCOMPRA, P.PRECOCUSTO, P.CODMOEDA, P.REFERENCIA, P.ESTOQUEMINIMO, P.LIXEIRA, P.CODALIQUOTA, P.PRECOVENDA, P.CODFABRICANTE, P.CODGRUPO, P.TIPO, P.NOMECOMERCIAL, P.COMPOSICAO, P.CODSUBGRUPO, CAST('P' AS CHAR(1)),P.PRECOAVISTA FROM PRODUTOS P WHERE (P.LIXEIRA='N' OR P.LIXEIRA IS NULL) AND P.CODPRODUTO=:PESQUISA INTO :ORDENMENU, :CODEMPRESA, :CODPRODEMP, :CODFILIAL,:CODIGO, :TEMPCODPRODUTO,:CODUNIDADE, :DESCRICAO, :DESCTABELA,:PRECOVENDA, :STATUS, :CODBARRAS, :PRECOCOMPRA, :PRECOCUSTO, :CODMOEDA, :REFERENCIA, :ESTOQUEMINIMO, :LIXEIRA, :CODALIQUOTA, :TEMPPRVENDA, :CODFABRICANTE, :CODGRUPO, :TTIPO, :NOMECOMERCIAL, :COMPOSICAO, :CODSUBGRUPO, :TIPOCAD, :PRECOAVISTA DO BEGIN TIPO = TTIPO; SELECT ESTOQUE FROM SPMOVESTOQUE(:TEMPCODPRODUTO) INTO :TEMPESTOQUE; COR = NULL; TAM = NULL; NR = NULL; SELECT GP.COR, GP.TAM, GP.NR FROM GRADEPRODUTO GP WHERE GP.CODPRODUTO=:TEMPCODPRODUTO INTO :COR, :TAM, :NR; if (TEMPESTOQUE IS NULL) then TEMPESTOQUE=0; ESTOQUE=TEMPESTOQUE; CODPRODUTO = TEMPCODPRODUTO; SELECT F.DESCRICAO FROM FABRICANTE F WHERE F.CODFABRICANTE=:CODFABRICANTE INTO :FABRICANTE; SELECT TR.ALIQUOTA FROM TRIBUTACAO TR WHERE TR.CODALIQUOTA=:CODALIQUOTA INTO :ALIQUOTA; SELECT G.DESCRICAO FROM GRUPO G WHERE G.CODGRUPO=:CODGRUPO INTO :GRUPO; SUBGRUPO = NULL; MOEDA = NULL; SELECT SG.DESCRICAO FROM SUBGRUPO SG WHERE SG.CODSUBGRUPO=:CODSUBGRUPO INTO :SUBGRUPO; SELECT M.DESCRICAO FROM MOEDAS M WHERE M.CODMOEDA=:CODMOEDA INTO :MOEDA; SELECT UM.DESCRICAO, UM.SIGLA FROM UNIDADEMEDIDA UM WHERE UM.CODUNIDADE=:CODUNIDADE INTO :UNIDADE, :UM; SELECT SPI.ULTIMACOMPRA, SPI.QTDCOMPRA, SPI.ULTIMAVENDA, SPI.QTDVENDA FROM SPINFOPROD(:TEMPCODPRODUTO) SPI INTO :DATAULTIMACOMPRA, :QTDULTIMACOMPRA, :DATAULTIMAVENDA, :QTDULTIMAVENDA; IF (TTIPO IN ('ACA', 'SMA')) then BEGIN SELECT SPT.PRECOCUSTO, SPT.PRECOVENDA FROM SPPRCUSTOVENDAINDUSTRIAS(:TEMPCODPRODUTO, :TTIPO) SPT INTO :PRECOCUSTO, :PRECOVENDA; END suspend; END IF (CODIGO IS NULL) then BEGIN FOR SELECT P.ORDENMENU, P.CODEMPRESA, P.CODPRODEMP, P.CODFILIAL, P.CODPRODUTO, T.CODTABELA, T.CODUNIDADE, P.DESCRICAO, T.DESCTABELA, T.PRECOVENDA, U.DESCRICAO, P.STATUS, T.CODBARRAS, P.PRECOCOMPRA, T.PRECOCUSTO, P.CODMOEDA, T.REFERENCIA, P.ESTOQUEMINIMO, P.LIXEIRA, P.CODALIQUOTA, T.PRECOVENDA, P.CODFABRICANTE, P.CODGRUPO, P.TIPO, P.NOMECOMERCIAL, P.COMPOSICAO, P.CODSUBGRUPO, CAST('T' AS CHAR(1)),P.PRECOAVISTA FROM PRODUTOS P JOIN TABELADEPRECO T ON (T.CODPRODUTO = P.CODPRODUTO) JOIN UNIDADEMEDIDA U ON (U.CODUNIDADE = T.CODUNIDADE) WHERE (P.LIXEIRA='N' OR P.LIXEIRA IS NULL) AND T.CODTABELA=:PESQUISA INTO :ORDENMENU, :CODEMPRESA, :CODPRODEMP, :CODFILIAL, :CODIGO, :CODPRODUTO,:CODUNIDADE, :DESCRICAO, :DESCTABELA,:PRECOVENDA, :UNIDADE, :STATUS, :CODBARRAS, :PRECOCOMPRA, :PRECOCUSTO, :CODMOEDA, :REFERENCIA, :ESTOQUEMINIMO, :LIXEIRA, :CODALIQUOTA, :TEMPPRVENDA, :CODFABRICANTE, :CODGRUPO, :TTIPO, :NOMECOMERCIAL, :COMPOSICAO, :CODSUBGRUPO, :TIPOCAD, :PRECOAVISTA DO BEGIN ESTOQUE=0; suspend; END EXIT; END END if (TIPOPESQ = 'RE') then BEGIN FOR SELECT P.ORDENMENU, P.CODEMPRESA, P.CODPRODEMP, P.CODFILIAL,P.CODPRODUTO, P.CODPRODUTO, P.CODUNIDADE, P.DESCRICAO, CAST(NULL AS VARCHAR(30)), P.PRECOVENDA, P.STATUS, P.CODBARRAS, P.PRECOCOMPRA, P.PRECOCUSTO, P.CODMOEDA, P.REFERENCIA, P.ESTOQUEMINIMO, P.LIXEIRA, P.CODALIQUOTA, P.PRECOVENDA, P.CODFABRICANTE, P.CODGRUPO, P.TIPO, P.NOMECOMERCIAL, P.COMPOSICAO , P.CODSUBGRUPO, CAST('P' AS CHAR(1)),P.PRECOAVISTA FROM PRODUTOS P WHERE (P.LIXEIRA='N' OR P.LIXEIRA IS NULL) AND UPPER(P.REFERENCIA) LIKE UPPER(:PESQUISA) INTO :ORDENMENU, :CODEMPRESA, :CODPRODEMP, :CODFILIAL, :CODIGO, :TEMPCODPRODUTO,:CODUNIDADE, :DESCRICAO, :DESCTABELA,:PRECOVENDA, :STATUS, :CODBARRAS, :PRECOCOMPRA, :PRECOCUSTO, :CODMOEDA, :REFERENCIA, :ESTOQUEMINIMO, :LIXEIRA, :CODALIQUOTA, :TEMPPRVENDA, :CODFABRICANTE, :CODGRUPO, :TTIPO, :NOMECOMERCIAL, :COMPOSICAO, :CODSUBGRUPO, :TIPOCAD, :PRECOAVISTA DO BEGIN TIPO = TTIPO; SELECT ESTOQUE FROM SPMOVESTOQUE(:TEMPCODPRODUTO) INTO :TEMPESTOQUE; if (TEMPESTOQUE IS NULL) then TEMPESTOQUE=0; ESTOQUE=TEMPESTOQUE; CODPRODUTO = TEMPCODPRODUTO; COR = NULL; TAM = NULL; NR = NULL; SELECT GP.COR, GP.TAM, GP.NR FROM GRADEPRODUTO GP WHERE GP.CODPRODUTO=:TEMPCODPRODUTO INTO :COR, :TAM, :NR; SELECT TR.ALIQUOTA FROM TRIBUTACAO TR WHERE TR.CODALIQUOTA=:CODALIQUOTA INTO :ALIQUOTA; SELECT F.DESCRICAO FROM FABRICANTE F WHERE F.CODFABRICANTE=:CODFABRICANTE INTO :FABRICANTE; SELECT G.DESCRICAO FROM GRUPO G WHERE G.CODGRUPO=:CODGRUPO INTO :GRUPO; SUBGRUPO = NULL; MOEDA = NULL; SELECT SG.DESCRICAO FROM SUBGRUPO SG WHERE SG.CODSUBGRUPO=:CODSUBGRUPO INTO :SUBGRUPO; SELECT M.DESCRICAO FROM MOEDAS M WHERE M.CODMOEDA=:CODMOEDA INTO :MOEDA; SELECT UM.DESCRICAO, UM.SIGLA FROM UNIDADEMEDIDA UM WHERE UM.CODUNIDADE=:CODUNIDADE INTO :UNIDADE, :UM; SELECT SPI.ULTIMACOMPRA, SPI.QTDCOMPRA, SPI.ULTIMAVENDA, SPI.QTDVENDA FROM SPINFOPROD(:TEMPCODPRODUTO) SPI INTO :DATAULTIMACOMPRA, :QTDULTIMACOMPRA, :DATAULTIMAVENDA, :QTDULTIMAVENDA; IF (TTIPO IN ('ACA', 'SMA')) then BEGIN SELECT SPT.PRECOCUSTO, SPT.PRECOVENDA FROM SPPRCUSTOVENDAINDUSTRIAS(:TEMPCODPRODUTO, :TTIPO) SPT INTO :PRECOCUSTO, :PRECOVENDA; END suspend; END IF (CODIGO IS NULL) then BEGIN FOR SELECT P.ORDENMENU, P.CODEMPRESA, P.CODPRODEMP, P.CODFILIAL, P.CODPRODUTO, T.CODTABELA, T.CODUNIDADE, P.DESCRICAO, T.DESCTABELA, T.PRECOVENDA, U.DESCRICAO, P.STATUS, T.CODBARRAS, P.PRECOCOMPRA, T.PRECOCUSTO, P.CODMOEDA, T.REFERENCIA, P.ESTOQUEMINIMO, P.LIXEIRA, P.CODALIQUOTA, T.PRECOVENDA, P.CODFABRICANTE, P.CODGRUPO, P.TIPO, P.NOMECOMERCIAL, P.COMPOSICAO, P.CODSUBGRUPO, CAST('T' AS CHAR(1)),P.PRECOAVISTA FROM PRODUTOS P JOIN TABELADEPRECO T ON (T.CODPRODUTO = P.CODPRODUTO) JOIN UNIDADEMEDIDA U ON (U.CODUNIDADE = T.CODUNIDADE) WHERE (P.LIXEIRA='N' OR P.LIXEIRA IS NULL) AND UPPER(T.REFERENCIA) LIKE UPPER(:PESQUISA) INTO :ORDENMENU, :CODEMPRESA, :CODPRODEMP, :CODFILIAL, :CODIGO, :CODPRODUTO,:CODUNIDADE, :DESCRICAO, :DESCTABELA,:PRECOVENDA, :UNIDADE, :STATUS, :CODBARRAS, :PRECOCOMPRA, :PRECOCUSTO, :CODMOEDA, :REFERENCIA, :ESTOQUEMINIMO, :LIXEIRA, :CODALIQUOTA, :TEMPPRVENDA, :CODFABRICANTE, :CODGRUPO, :TTIPO, :NOMECOMERCIAL, :COMPOSICAO, :CODSUBGRUPO, :TIPOCAD, :PRECOAVISTA DO BEGIN ESTOQUE=0; suspend; END EXIT; END END if (TIPOPESQ = 'CB') then BEGIN FOR SELECT P.ORDENMENU, P.CODEMPRESA, P.CODPRODEMP, P.CODFILIAL, P.CODPRODUTO, P.CODPRODUTO, P.CODUNIDADE, P.DESCRICAO, CAST(NULL AS VARCHAR(30)), P.PRECOVENDA, P.STATUS, P.CODBARRAS, P.PRECOCOMPRA, P.PRECOCUSTO, P.CODMOEDA, P.REFERENCIA, P.ESTOQUEMINIMO, P.LIXEIRA, P.CODALIQUOTA, P.PRECOVENDA, P.CODFABRICANTE, P.CODGRUPO, P.TIPO, P.NOMECOMERCIAL, P.COMPOSICAO, P.CODSUBGRUPO, CAST('P' AS CHAR(1)),P.PRECOAVISTA FROM PRODUTOS P WHERE (P.LIXEIRA='N' OR P.LIXEIRA IS NULL) AND P.CODBARRAS=:PESQUISA INTO :ORDENMENU, :CODEMPRESA, :CODPRODEMP, :CODFILIAL, :CODIGO, :TEMPCODPRODUTO,:CODUNIDADE, :DESCRICAO, :DESCTABELA,:PRECOVENDA, :STATUS, :CODBARRAS, :PRECOCOMPRA, :PRECOCUSTO, :CODMOEDA, :REFERENCIA, :ESTOQUEMINIMO, :LIXEIRA, :CODALIQUOTA, :TEMPPRVENDA, :CODFABRICANTE, :CODGRUPO, :TTIPO, :NOMECOMERCIAL, :COMPOSICAO, :CODSUBGRUPO, :TIPOCAD, :PRECOAVISTA DO BEGIN TIPO = TTIPO; SELECT ESTOQUE FROM SPMOVESTOQUE(:TEMPCODPRODUTO) INTO :TEMPESTOQUE; if (TEMPESTOQUE IS NULL) then TEMPESTOQUE=0; ESTOQUE=TEMPESTOQUE; CODPRODUTO = TEMPCODPRODUTO; COR = NULL; TAM = NULL; NR = NULL; SELECT GP.COR, GP.TAM, GP.NR FROM GRADEPRODUTO GP WHERE GP.CODPRODUTO=:TEMPCODPRODUTO INTO :COR, :TAM, :NR; SELECT TR.ALIQUOTA FROM TRIBUTACAO TR WHERE TR.CODALIQUOTA=:CODALIQUOTA INTO :ALIQUOTA; SELECT F.DESCRICAO FROM FABRICANTE F WHERE F.CODFABRICANTE=:CODFABRICANTE INTO :FABRICANTE; SELECT G.DESCRICAO FROM GRUPO G WHERE G.CODGRUPO=:CODGRUPO INTO :GRUPO; SUBGRUPO = NULL; MOEDA = NULL; SELECT SG.DESCRICAO FROM SUBGRUPO SG WHERE SG.CODSUBGRUPO=:CODSUBGRUPO INTO :SUBGRUPO; SELECT M.DESCRICAO FROM MOEDAS M WHERE M.CODMOEDA=:CODMOEDA INTO :MOEDA; SELECT UM.DESCRICAO, UM.SIGLA FROM UNIDADEMEDIDA UM WHERE UM.CODUNIDADE=:CODUNIDADE INTO :UNIDADE, :UM; SELECT SPI.ULTIMACOMPRA, SPI.QTDCOMPRA, SPI.ULTIMAVENDA, SPI.QTDVENDA FROM SPINFOPROD(:TEMPCODPRODUTO) SPI INTO :DATAULTIMACOMPRA, :QTDULTIMACOMPRA, :DATAULTIMAVENDA, :QTDULTIMAVENDA; IF (TTIPO IN ('ACA', 'SMA')) then BEGIN SELECT SPT.PRECOCUSTO, SPT.PRECOVENDA FROM SPPRCUSTOVENDAINDUSTRIAS(:TEMPCODPRODUTO, :TTIPO) SPT INTO :PRECOCUSTO, :PRECOVENDA; END suspend; END IF (CODIGO IS NULL) then BEGIN FOR SELECT P.ORDENMENU, P.CODEMPRESA, P.CODPRODEMP, P.CODFILIAL, P.CODPRODUTO, T.CODTABELA, T.CODUNIDADE, P.DESCRICAO, T.DESCTABELA, T.PRECOVENDA, U.DESCRICAO, P.STATUS, T.CODBARRAS, P.PRECOCOMPRA, T.PRECOCUSTO, P.CODMOEDA, T.REFERENCIA, P.ESTOQUEMINIMO, P.LIXEIRA, P.CODALIQUOTA, T.PRECOVENDA, P.CODFABRICANTE, P.CODGRUPO, P.TIPO, P.NOMECOMERCIAL, P.COMPOSICAO, P.CODSUBGRUPO, CAST('T' AS CHAR(1)),P.PRECOAVISTA FROM PRODUTOS P JOIN TABELADEPRECO T ON (T.CODPRODUTO = P.CODPRODUTO) JOIN UNIDADEMEDIDA U ON (U.CODUNIDADE = T.CODUNIDADE) WHERE (P.LIXEIRA='N' OR P.LIXEIRA IS NULL) AND T.CODBARRAS=:PESQUISA INTO :ORDENMENU, :CODEMPRESA, :CODPRODEMP, :CODFILIAL, :CODIGO, :CODPRODUTO,:CODUNIDADE, :DESCRICAO, :DESCTABELA,:PRECOVENDA, :UNIDADE, :STATUS, :CODBARRAS, :PRECOCOMPRA, :PRECOCUSTO, :CODMOEDA, :REFERENCIA, :ESTOQUEMINIMO, :LIXEIRA, :CODALIQUOTA, :TEMPPRVENDA, :CODFABRICANTE, :CODGRUPO, :TTIPO, :NOMECOMERCIAL, :COMPOSICAO, :CODSUBGRUPO, :TIPOCAD, :PRECOAVISTA DO BEGIN ESTOQUE=0; suspend; END EXIT; END END if (TIPOPESQ = 'DE') then BEGIN FOR SELECT P.ORDENMENU, P.CODEMPRESA, P.CODPRODEMP, P.CODFILIAL, P.CODPRODUTO, P.CODPRODUTO, P.CODUNIDADE, P.DESCRICAO, CAST(NULL AS VARCHAR(30)), P.PRECOVENDA, P.STATUS, P.CODBARRAS, P.PRECOCOMPRA, P.PRECOCUSTO, P.CODMOEDA, P.REFERENCIA, P.ESTOQUEMINIMO, P.LIXEIRA, P.CODALIQUOTA, P.PRECOVENDA, P.CODFABRICANTE, P.CODGRUPO, P.TIPO, P.NOMECOMERCIAL, P.COMPOSICAO, P.CODSUBGRUPO, CAST('P' AS CHAR(1)),P.PRECOAVISTA FROM PRODUTOS P WHERE (P.LIXEIRA='N' OR P.LIXEIRA IS NULL) AND UPPER(P.DESCRICAO) LIKE UPPER(:PESQUISA) INTO :ORDENMENU, :CODEMPRESA, :CODPRODEMP, :CODFILIAL, :CODIGO, :TEMPCODPRODUTO,:CODUNIDADE, :DESCRICAO, :DESCTABELA,:PRECOVENDA, :STATUS, :CODBARRAS, :PRECOCOMPRA, :PRECOCUSTO, :CODMOEDA, :REFERENCIA, :ESTOQUEMINIMO, :LIXEIRA, :CODALIQUOTA, :TEMPPRVENDA, :CODFABRICANTE, :CODGRUPO, :TTIPO, :NOMECOMERCIAL, :COMPOSICAO, :CODSUBGRUPO, :TIPOCAD, :PRECOAVISTA DO BEGIN TIPO = TTIPO; COR = NULL; TAM = NULL; NR = NULL; SELECT GP.COR, GP.TAM, GP.NR FROM GRADEPRODUTO GP WHERE GP.CODPRODUTO=:TEMPCODPRODUTO INTO :COR, :TAM, :NR; SELECT ESTOQUE FROM SPMOVESTOQUE(:TEMPCODPRODUTO) INTO :TEMPESTOQUE; if (TEMPESTOQUE IS NULL) then TEMPESTOQUE=0; ESTOQUE=TEMPESTOQUE; CODPRODUTO = TEMPCODPRODUTO; SELECT F.DESCRICAO FROM FABRICANTE F WHERE F.CODFABRICANTE=:CODFABRICANTE INTO :FABRICANTE; SELECT G.DESCRICAO FROM GRUPO G WHERE G.CODGRUPO=:CODGRUPO INTO :GRUPO; SUBGRUPO = NULL; MOEDA = NULL; SELECT SG.DESCRICAO FROM SUBGRUPO SG WHERE SG.CODSUBGRUPO=:CODSUBGRUPO INTO :SUBGRUPO; SELECT M.DESCRICAO FROM MOEDAS M WHERE M.CODMOEDA=:CODMOEDA INTO :MOEDA; SELECT UM.DESCRICAO, UM.SIGLA FROM UNIDADEMEDIDA UM WHERE UM.CODUNIDADE=:CODUNIDADE INTO :UNIDADE, :UM; SELECT TR.ALIQUOTA FROM TRIBUTACAO TR WHERE TR.CODALIQUOTA=:CODALIQUOTA INTO :ALIQUOTA; SELECT SPI.ULTIMACOMPRA, SPI.QTDCOMPRA, SPI.ULTIMAVENDA, SPI.QTDVENDA FROM SPINFOPROD(:TEMPCODPRODUTO) SPI INTO :DATAULTIMACOMPRA, :QTDULTIMACOMPRA, :DATAULTIMAVENDA, :QTDULTIMAVENDA; IF (TTIPO IN ('ACA', 'SMA')) then BEGIN SELECT SPT.PRECOCUSTO, SPT.PRECOVENDA FROM SPPRCUSTOVENDAINDUSTRIAS(:TEMPCODPRODUTO, :TTIPO) SPT INTO :PRECOCUSTO, :PRECOVENDA; END suspend; FOR SELECT T.CODPRODUTO, T.CODTABELA, T.CODUNIDADE, T.DESCTABELA, T.PRECOVENDA, U.DESCRICAO, T.CODBARRAS, T.PRECOCOMPRA, T.PRECOCUSTO, T.REFERENCIA, T.PRECOVENDA, CAST('T' AS CHAR(1)) FROM TABELADEPRECO T JOIN UNIDADEMEDIDA U ON (U.CODUNIDADE = T.CODUNIDADE) WHERE T.CODPRODUTO =:TEMPCODPRODUTO INTO :CODIGO, :CODPRODUTO, :CODUNIDADE, :DESCTABELA, :PRECOVENDA, :UNIDADE, :CODBARRAS, :PRECOCOMPRA, :PRECOCUSTO, :REFERENCIA, :TEMPPRVENDA, :TIPOCAD DO BEGIN ESTOQUE=0; suspend; END END EXIT; END end ^ SET TERM ; ^ /*------ 22/03/2020 20:03:10 --------*/ ALTER TABLE PEDIDOS ADD GRUPOATUAL INTEIRO_NULL; /*------ 23/03/2020 03:05:18 --------*/ ALTER TABLE PEDIDOS ADD FORMAPGTO VARCHAR_50; /*------ 23/03/2020 18:38:04 --------*/ ALTER TABLE ITENSPEDDELIVERY ADD ORDEM INTEIRO_NULL; /*------ 25/03/2020 01:52:04 --------*/ ALTER TABLE PEDIDOS ADD PRODESCOLHIDO INTEIRO_NULL; /*------ 25/03/2020 01:52:19 --------*/ ALTER TABLE PEDIDOS ADD QTDESCOLHIDO NUMERICO; /*------ 25/03/2020 03:00:06 --------*/ ALTER TABLE PEDIDOS ADD VALORESCOLHIDO VALOR_10_2; /*------ 25/03/2020 03:47:14 --------*/ SET TERM ^ ; ALTER PROCEDURE SPFILAIMPRESSAO RETURNS ( CODFILAIMPRESSAO INTEGER, CODMOVIMENTO INTEGER, DATA DATE, HORA TIME, STATUS CHAR(1), IMPRIMIRDUPLICATA CHAR(1), LOGIN VARCHAR(10), CODPAGAMENTOS VARCHAR(1000), TIPO VARCHAR(15), USUARIOWINDOWS VARCHAR(40), NOMEPC VARCHAR(40), TIPOFILA VARCHAR(20) ) AS begin USUARIOWINDOWS = null; FOR SELECT F.TIPO, F.CODFILAIMPRESSAO, F.CODMOVIMENTO, F.DATA, F.HORA, F.STATUS, F.IMPRIMIRDUPLICATA, U.LOGIN, F.USUARIOWINDOWS, F.NOMEPC, CAST(NULL AS VARCHAR(1000)), CAST('VENDA' AS VARCHAR(15)) FROM FILADEIMPRESSAO F JOIN MOVIMENTOSPRODUTOS M ON (M.CODMOVIMENTO = F.CODMOVIMENTO AND (M.TIPO='VE')) LEFT JOIN USUARIOS U ON (U.CODUSUARIO = M.CODUSUARIO) INTO :TIPOFILA, CODFILAIMPRESSAO, CODMOVIMENTO, DATA, HORA, STATUS, IMPRIMIRDUPLICATA , LOGIN, USUARIOWINDOWS, NOMEPC, CODPAGAMENTOS, TIPO DO suspend; USUARIOWINDOWS = null; FOR SELECT F.TIPO, F.CODFILAIMPRESSAO, F.CODMOVIMENTO, F.DATA, F.HORA, F.STATUS, F.IMPRIMIRDUPLICATA, U.LOGIN, F.USUARIOWINDOWS,F.NOMEPC, CAST(NULL AS VARCHAR(1000)), CAST('CONSIGNACAO' AS VARCHAR(15)) FROM FILADEIMPRESSAO F JOIN MOVIMENTOSPRODUTOS M ON (M.CODMOVIMENTO = F.CODMOVIMENTO AND (M.TIPO IN ('CE', 'CS'))) LEFT JOIN USUARIOS U ON (U.CODUSUARIO = M.CODUSUARIO) INTO :TIPOFILA, CODFILAIMPRESSAO, CODMOVIMENTO, DATA, HORA, STATUS, IMPRIMIRDUPLICATA , LOGIN, USUARIOWINDOWS, NOMEPC, CODPAGAMENTOS, TIPO DO suspend; USUARIOWINDOWS = null; FOR SELECT CAST('RECIBO' AS VARCHAR(15)), FR.CODFILAIMPRESSAO, CAST(NULL AS INTEGER), FR.DATA, FR.HORA, FR.STATUS, CAST(NULL AS CHAR(1)), CAST(NULL AS VARCHAR(10)), FR.USUARIOWINDOWS, FR.NOMEPC, FR.CODPAGAMENTOS, CAST('RECIBO' AS VARCHAR(15)) FROM FILAIMPRESSAORECIBO FR INTO :TIPOFILA, :CODFILAIMPRESSAO, :CODMOVIMENTO, :DATA, :HORA, :STATUS, :IMPRIMIRDUPLICATA , :LOGIN, :USUARIOWINDOWS, :NOMEPC, :CODPAGAMENTOS, :TIPO DO suspend; USUARIOWINDOWS = null; FOR SELECT CAST('EXTRATO' AS VARCHAR(15)), FE.CODFILAIMPRESSAO, CAST(NULL AS INTEGER), FE.DATA, FE.HORA, FE.STATUS, CAST(NULL AS CHAR(1)), CAST(NULL AS VARCHAR(10)), FE.USUARIOWINDOWS, FE.NOMEPC, CAST(NULL AS VARCHAR(1000)), CAST('EXTRATO' AS VARCHAR(15)) FROM FILAIMPRESSAOEXTRATO FE INTO :TIPOFILA, CODFILAIMPRESSAO, CODMOVIMENTO, DATA, HORA, STATUS, IMPRIMIRDUPLICATA , LOGIN, :USUARIOWINDOWS, :NOMEPC, :CODPAGAMENTOS, :TIPO DO suspend; end ^ SET TERM ; ^