Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

1. Introdução

Nessa seção de produtos será abordado como é a criação e as informações que retornarão de três Views principais acerca de informações do produto, sendo elas:

  • V_VT_PRODUTOS - Informações do Cadastro do Produto

  • V_VT_CATEGORIAS - Informações de Categoria do Produto

  • V_VT_MARCA - Informações da Marca dos Produtos

  • V_VT_IMAGEM - Informações da Imagem do Produto

2. Informações do Cadastro do Produto

Os produtos serão obtidos a partir da View V_VT_PRODUTOS, V_VT_PRODUTOSTOT, V_VT_PRODUTOSMULT para que sejam disponibilizados a venda nos canais de vendas. Ela consiste nas seguintes informações:

Campo

Tipo

Informação

categs

varchar(200)

categoria do item no e-commerce

codigo

varchar(20)

cód. Item no ERP

descricao

blob

descrição detalhada do produto (HTML)

descricaoResumida

varchar(4000)

descrição resumida do produto (HTML)

erpId

varchar(20)

cód.Item no ERP

quantidade

number

quantidade em estoque

quantidadeMinima

number

quantidade mínima de estoque

inativo

number

ativo ou inativo

nome

varchar(120)

descrição do item

peso

number

peso do produto

dataInicio

date

data inicial da promoção

dataFim

date

data final da promoção

valorPrecoPromocional

number

valor do preço promocional

referencia

varchar(60)

referência do produto

valorPreco

number

valor do preço

volume_length

varchar(200)

comprimento do produto

volume_height

varchar(200)

altura do produto

volume_width

varchar(200)

largura do produto

marca

varchar(80)

descrição da marca

codigoBarras

varchar(30)

código de barras do produto

atributos

varchar(4000)

características do produto

dtAlteracaoSinc

timestamp

data da última sincronização

dtAlteracaoSincEstoque

timestamp

data da última sincronização do estoque

dtAlteracaoSincPreco

timestamp

data da última sincronização do preço

estabItem

number

estabelecimento do item

ncm

varchar(8)

ncm do produto

visibilidade

number

tipo de visibilidade do produto

categs

varchar(200)

categoria do item no e-commerce

codigo

varchar(20)

cód. Item no ERP

descricao

blob

descrição detalhada do produto (HTML)

descricaoResumida

varchar(4000)

descrição resumida do produto (HTML)

erpId

varchar(20)

cód.Item no ERP

quantidade

number

quantidade em estoque

quantidadeMinima

number

quantidade mínima de estoque

inativo

number

ativo ou inativo

nome

varchar(120)

descrição do item

peso

number

peso do produto

dataInicio

date

data inicial da promoção

V_VT_PRODUTOS

CREATE OR ALTER VIEW V_VT_PRODUTOS(
  "categs",
  "codigo",
  "descricao",
  "descricaoResumida",
  "erpId",
  "quantidade",
  "quantidadeMinima",
  "inativo",
  "nome",
  "peso",
  "dataInicio",
  "dataFim",
  "valorPrecoPromocional",
  "referencia",
  "valorPreco",
  "volume_length",
  "volume_height",
  "volume_width",
  "marca",
  "codigoBarras",
  "atributos",
  "dtAlteracaoSinc",
  "dtAlteracaoSincEstoque",
  "dtAlteracaoSincPreco",
  "estabItem",
  "ncm",
  "visibilidade",
  "unidade",
  "multiploVenda",
  "custoAquis"
) AS
SELECT
  ( SELECT LIST(CI.CATEGORIA) FROM CATEGORIAITEM CI
    WHERE CI.empresa = ITEEST.EMPRESA
      AND CI.ESTABitem = ITEEST.ESTABITEM
      AND CI.ITEM = ITEEST.ITEM
   ) "categs",
  ITEEST.ITEM "codigo",
  ITEECO.HTML "descricao",
  SUBSTRING(ITEECO.HTMLRESUMIDO FROM 1 FOR 32000) "descricaoResumida",
  CAST(ITEEST.ITEM AS INTEGER) "erpId",
  EST.SALDO "quantidade",
  COALESCE(ITEECO.QTDEESGOTADO,0) "quantidadeMinima",
  CASE
    WHEN COALESCE(ITEECO.VISIBILIDADE, 1) = 1 THEN 1
    ELSE 0
  END "inativo",
  COALESCE(ITEECO.DESCRICAO,ITE.DESCRICAO) "nome",
  COALESCE(ITE.PESOITEM,ITE.PESOLIQ,0) "peso",
  ITEECO.PROMOINI "dataInicio",
  ITEECO.PROMOFIM "dataFim",
  CASE
    WHEN ITEECO.PROMOINI IS NOT NULL AND ITEECO.PROMOFIM IS NOT NULL THEN ITEEST.PRPROMOCAO
    ELSE 0
  END "valorPrecoPromocional",
  CAST(ITEEST.ITEM AS INTEGER) "referencia",
  CASE
    WHEN COALESCE(ITEPRV.PRVDAATUAL,0) > 0 THEN ITEPRV.PRVDAATUAL
    ELSE 0
  END "valorPreco",
  CAST(ITEECO.comprimento AS VARCHAR(200)) "volume_length",
  CAST(ITEECO.ALTURA AS VARCHAR(200)) "volume_height",
  CAST(ITEECO.LARGURA AS VARCHAR(200)) "volume_width",
  MAR.DESCRICAO "marca",
  COALESCE(ITE.NROCODBARR,ITE.NROCODBARR2,ITE.NROCODBARR3) "codigoBarras",
  ( SELECT LIST(AI.VALOR,',') FROM ATRIBUTOITEM AI
    WHERE AI.ESTABITEM = ITEEST.EMPRESA
      AND AI.ESTABITEM = ITEEST.ESTABITEM
      AND AI.ITEM = ITEEST.ITEM
  ) AS "atributos",
  ITE.ULTALTVT "dtAlteracaoSinc",
  ITE.ULTALTVT "dtAlteracaoSincEstoque",
  ITE.ULTALTVT "dtAlteracaoSincPreco",
  ITEEST.ESTABITEM "estabItem", 
  ITE.NCM "ncm", 
  CASE 
    WHEN COALESCE(ITEEST.USAECOMMERCE, 'N') = 'N' THEN 1
    ELSE DECODE(COALESCE(ITEECO.VISIBILIDADE, 4), 0, 4, COALESCE(ITEECO.VISIBILIDADE, 4))
  END "visibilidade",
  ITE.UNIDADE "unidade",
  1 "multiploVenda",
  CAQ.PNCUSTOAQUIS "custoAquis"
FROM ITEMESTAB ITEEST
INNER JOIN ITEM ITE ON ITE.EMPRESA = ITEEST.ESTABITEM AND ITE.ITEM = ITEEST.ITEM
LEFT JOIN PMARCAS MAR ON MAR.MARCA = ITE.MARCA
LEFT JOIN ITEMECOMMERCE ITEECO ON ITEECO.EMPRESA = ITE.EMPRESA AND ITEECO.IDITEM = ITE.ITEM
LEFT JOIN PPRVDITE ITEPRV ON ITEPRV.ESTABITEM = ITEEST.ESTABITEM AND ITEPRV.EMPRESA = ITEEST.EMPRESA AND ITEPRV.ITEM = ITEEST.ITEM
INNER JOIN PRETORNASALDOITEM(ITEEST.ESTABITEM, ITEEST.ITEM, ITEEST.EMPRESA, CURRENT_DATE, NULL) EST ON (0 = 0)
INNER JOIN PRETORNACUSTOAQUIS(ITEEST.ESTABITEM, ITEEST.ITEM, ITEEST.EMPRESA, CURRENT_DATE) CAQ ON 0=0
WHERE ITEEST.USAECOMMERCE = 'S'
ORDER BY ITE.ITEM
;

3. Informações de Categoria do Produto

As categorias dos produtos serão obtidos a partir da View V_VT_CATEGORIAS. Ela consiste nas seguintes informações:

Campo

Tipo

Informação

erpId

number

código da marca

nome

varchar(60)

descrição da marca

parent

number

nó pai

dtAlteracaoSinc

timestamp

data da última sincronização

CREATE OR ALTER VIEW V_VT_CATEGORIAS(
  "erpId",
  "nome",
  "parent",
  "dtAlteracaoSinc"
) AS
SELECT
  C.CODIGO "erpId",
  C.NOME "nome",
  COALESCE(C.PAI,0)"parent",
  C.ULTALT "dtAlteracaoSinc"
FROM CATEGORIA C 
ORDER BY
  C.CODIGO, 
  C.PAI
;

4. Informações da Marca dos Produtos

As categorias dos produtos serão obtidos a partir da View V_VT_MARCA. Ela consiste nas seguintes informações:

Campo

Tipo

Informação

erpId

number

código da marca

nome

varchar(60)

descrição da marca

CREATE OR ALTER VIEW V_VT_MARCAS (
  "erpId",
  "nome"
) AS
SELECT
  M.MARCA "erpId",
  M.DESCRICAO "nome"
FROM PMARCAS M
ORDER BY
  M.MARCA
;

5. Informações da Imagem do Produto

As categorias dos produtos serão obtidos a partir da View V_VT_IMAGEM. Ela consiste nas seguintes informações:

Campo

Tipo

Informação

estabItem

number

estabelecimento do item

erpId

varchar(20)

cód. Item no ERP

imageId

number

cód. imagem

fileName

varchar(300)

nome do arquivo

type

varchar(10)

tipo

dtAlteracaoSinc

timestamp

data da última sincronização

nome

varchar(120)

nome do item

CREATE OR ALTER VIEW V_VT_IMAGEM (
  "estabItem",
  "erpId",
  "imageId",
  "fileName",
  "type",
  "dtAlteracaoSinc",
  "nome"
) AS
SELECT
  ITEEST.ESTABITEM "estabItem",
  ITEIMA.IDITEM "erpId",
  ITEIMA.IDIMAGEM "imageId",
  ITEIMA.WEIMAGEFILE "fileName",
  CASE
    WHEN ITEIMA.INATIVO = 'S' THEN '0,'
    ELSE ''
  END ||
  CASE
    WHEN ITEIMA.BASE = 'S' THEN '1,'
    ELSE ''
  END ||
  CASE
    WHEN ITEIMA.REDUZIDA = 'S' THEN '2,'
    ELSE ''
  END ||
  CASE
    WHEN ITEIMA.MINIATURA = 'S' THEN '3,'
    ELSE ''
  END ||
  CASE
    WHEN ITEIMA.MARCA = 'S' THEN '4,'
    ELSE ''
  END "type",
  ITEIMA.ULTALT "dtAlteracaoSinc",
  COALESCE(ITEECO.DESCRICAO, ITE.DESCRICAO) "nome"
FROM ITEMIMAGEM ITEIMA
LEFT JOIN ITEMESTAB ITEEST ON ITEEST.ESTABITEM = ITEIMA.ESTAB AND ITEEST.ITEM = ITEIMA.IDITEM
LEFT JOIN ITEMECOMMERCE ITEECO ON ITEECO.IDITEM = ITEIMA.IDITEM AND ITEECO.EMPRESA = ITEIMA.ESTAB
LEFT JOIN ITEM ITE ON ITE.ITEM = ITEIMA.IDITEM AND ITE.EMPRESA = ITEIMA.ESTAB
WHERE ITEEST.USAECOMMERCE = 'S'
;
  • No labels