# Máscara de Código Interno do Produto Este recurso permite a modificação da máscara padrão do **código interno** ao cadastrar um produto, determinando como será sua composição. Para especificar a máscara do **código interno**, na **Configuração Geral do Sistema** *(Sistema > Configuração Geral)*, no quadro **Produto**, na sessão Configuração da Máscara do Código Interno, existem parâmetros a serem especificados: #### Tipo Produto Determina qual o **Tipo** do **Produto** que será observado para a geração do código através da máscara determinada, podendo ser: - Acabado; - Grade Simples; - Grade; #### Máscara do Código Máscara que será aplicada no **código interno** aos produtos onde o **Tipo** for igual ao definido no campo **Tipo Produto**; ### Formatação da Máscara A máscara do código interno deverá ser montada através dos campos relacionados a tabela `produto_grade` e seus relacionamentos, predeterminados por chaves {}, compostos por 3 parâmetros: **{** `parametro1` **:** `parametro2` **,** `parametro3` **}** . #### parametro1 É o campo que será observado na construção da máscara. Ele pode ser composto pelo nome do campo disponível na coluna `produto_grade` ou o nome **tabela** mais o **nome do campo** disponível na tabela relacionada a `produto_grade`. Exemplo: `{campo}` ou `{tabela.campo}`. #### parametro2 Campo opcional, que ao ser especificado se comportará das seguintes formas: 1. **{** `parametro1` **:** `tamanho` **}** : insere zeros no início do valor string com base em um `tamanho` especificado. 2. **{** `parametro1` **:** `posição inicial` **-** `posição final` **}** : retorna a parte do valor entre os índices inicial (`posição inicial`) e final (`posição final`). #### parametro3 Campo opcional, que ao ser especificado se comportará da seguinte forma: 1. **{** `parametro1` **:** `parametro2` **,** `tamanho` **}** : insere zeros no início do valor string com base em um `tamanho` especificado. ### Exemplos de Aplicação
**Máscara** **ID (Produto)** **Código Interno**
{produto.id:2-4,13} 3 0000000000000
30 0000000000000
301 0000000000001
3015 0000000000015
30153 0000000000015
**Máscara** **ID (Produto)** **Código Interno**
{produto.id:2,13} 3 0000000000000
30 0000000000000
301 0000000000001
3015 0000000000015
30153 0000000000153
**Máscara** **ID (Produto)** **Código Interno**
{produto.id:13} 3 0000000000003
30 0000000000030
301 0000000000301
3015 0000000003015
30153 0000000030153
**Máscara** **ID (Produto)** **Código Interno**
{produto.id:2-4} 3
30 0
301 01
3015 015
30153 015
**Máscara** **Tipo de Produto** **Descrição** **Código Interno**
{tipo\_produto.nome}-{produto.descricao} ADULTO HUANITO MALAQUIAS ADULTO-HUANITO MALAQUIAS
**Máscara** **Data de Cadastro** **Referência** **Código Interno**
{produto.data\_cadastro}-{produto.codigo} 2022-09-20 14:40:29 1122334455 2022-09-20 14:40:29-1122334455
**Máscara** **Tipo de Produto** **Descrição** **Marca** **Código Interno**
{tipo\_produto.nome}ABC{produto.descricao}@-123{marca.nome} algodão Calça adidas algodãoABCCalça@-123adidas
**Máscara** **ID Departamento** **ID Marca** **ID (SKU)** **Código Interno**
{departamento.id}{marca.id}{produto\_grade.id} 8438 174 89192 8438-174-89192
### Máscara Padrão Por padrão, o código interno do produto segue a seguinte máscara: #### Acabado `{produto_grade.id}` Desta forma, indica que o código interno será composto pelo **ID (SKU)** gerado ao **Produto**. Exemplos:
**ID (SKU)** **Código Interno**
130153 30153
298762948 98762948
#### Grade / Grade Simples `{produto.id:6}{gradex.id:4}{gradey.id:4}` Neste formato, o código interno será composto pelo **ID (Produto)** gerado ao **Produto**, complementando com **6 dígitos** caso tamanho seja inferior a 6 e acrescido do **ID** da **Grade X (Horizontal)** e **ID** da **Grade Y (Vertical)**, complementando com 4 dígitos caso o tamanho for inferior a 4, respectivamente. Quando o tamanho é superior ao definido, neste caso não irá efetuar o limite mínimo estabelecido. Exemplos:
**ID (Produto)** **ID Grade X (Horizontal)** **ID Grade Y (Vertical)** **Código Interno**
111750 42 13 01175000420013
211686 65 25 01168600650025