Identificador de Regra
PRD-000INTCB01
Módulo: PRD - Produção.
Finalidade: Possibilita o recurso de leitura de código de barras nas telas F900BAC, F900ECS e F900ICO.
A regra ligada ao identificador deve fazer a interpretação do código de barras, devolvendo os dados do componente/subproduto.
Identificador de regras que tem como finalidade facilitar a alimentação dos dados na grade das telas que o utilizam. Faz a marcação dos componentes a processar, e se na regra estiver definido a quantidade de caracteres para o lote e/ou a quantidade do produto/derivação a utilizar no processamento, o valor informado na código de barras será automaticamente atribuído ao respectivo campo na grade.
Características:
- Critério de distribuição dos valores lidos pelo código de barras na tela F900BAC:
Se o componente/subproduto/derivação lido não for achado na grade, é mostrada uma mensagem de erro. - Localiza na grade registros que sejam do componente/subproduto/derivação lidos, e distribui a quantidade até atingir a quantidade prevista.
- Caso o identificador defina um lote, a rotina irá procurar pelo registro que seja deste lote ou que esteja com lote em branco, gerando um novo registro na grade se for necessário.
Uso da variável PrdADstQtd: ela possibilita a distribuição do estoque entre as ordens de produção que são apontadas de forma agrupada. Ou seja, essa variável determina como deve ser a distribuição da quantidade que será consumida/baixada do componente comum entre as ordens de produção.
As opções para preenchimento desta variável são:
- S (Distribuição por sequência das OPs): mantém o comportamento original do identificador. Ou seja, para a distribuição são consideradas as funcionalidades das variáveis PrdASomQtd e PrdADstExc:
- Caso a variável "PrdASomQtd" seja "S", a quantidade a movimentar já informada no registro da grade é considerada na distribuição (soma essa quantidade já existente com a quantidade a distribuir, e inclusive a considera no cálculo de atingimento do previsto).
- Caso haja quantidade excedente ainda a distribuir, distribui nos mesmos registros acima até atingir a quantidade prevista mais 10%.
- Caso ainda haja quantidade excedente, o valor informado na variável "PrdADstExc" irá indicar o que será feito com esta quantidade excedente:
- "N" (ou não informado): não distribui a quantidade excedente (para o processo de distribuição e ignora a quantidade excendente);
- "P": soma toda a quantidade excedente no primeiro registro do componente/subproduto/derivação/lote listado da grade.
- "U": soma toda a quantidade excedente no último registro do componente/subproduto/derivação/lote listado da grade.
- Caso a variável "PrdASomQtd" não seja "S", exclui da grade todos os registros do componente/subproduto/derivação que não sejam do lote retornado pelo identificador.
- Q (Distribuição por quantidade das OPs): realiza a distribuição dividindo o total a ser consumido do componente pelo número de OPs que estão agrupadas, gerando assim uma média em que cada OP tem a mesma quantidade consumida;
- C (Distribuição por quantidade produzida das OPs): a distribuição da quantidade consumida é feita proporcionalmente entre as ordens de produção, de acordo com a quantidade projetada de produto acabado de cada OP (quanto mais produtos há para fabricar, tem-se mais geração de consumo). Desta forma a distribuição é homogênea e reflete a realidade, no caso de haver encerramento do consumo de componentes com quantidade menor do que a projetada.
Histórico de alterações:
* A partir da versão 5.6.1.6 a tela F900BAC seguirá os seguintes critérios de distribuição dos valores lidos pelo código de barras: acumular a quantidade da primeira OP da grade que usa o componente até atendê-la em 100%; Se o lote mudar, incluir uma linha do mesmo componente para a tal OP até atendê-la 100%; Se a quantidade retornada pelo identificador for maior do que a quantidade necessária para a OP, encontrar a próxima OP que utilize o tal componente e iniciar o atendimento desta outra OP.
* A partir da versão 5.8.4.1 foi incluída a variável "PrdADstExc" para a tela F900BAC, e foi alterado o critério de distribuição dos valores lidos pelo código de barras.
* A partir da versão 5.8.7.32 foram disponibilizadas duas novas variáveis de entrada (PrdACodOri e PrdANumOrp) que não possuem retorno. Estas variáveis irão possibilitar que a regra valide as origens e ordens de produção digitadas pelo usuário nas telas que utilizam este identificador de regras. Lembrando que estas variáveis possuem abrangência, então estas poderão conter mais de uma origem ou ordem de produção separadas por virgula “,”.
Tela: F900BAC, F900ECS e F900ICO
Transação: Não se aplica.
Regra:
Possui.
Exemplo:
@ Variáveis de entrada @
Definir Alfa PrdACodTel; @ Código da tela que está executando a regra @
Definir Alfa PrdACodBar; @ Código de barras informado @
Definir Alfa PrdACodOri; @ Códigos de Origens informados, variável possui abrangência@
Definir Alfa PrdANumOrp; @ Números de OPS informados, variável possui abrangência @
Definir Alfa PrdARelPrd; @ Códigos dos relatórios de produção @
@ Variáveis de saída @
Definir Alfa PrdACodPro; @ Código do produto @
Definir Alfa PrdACodDer; @ Código da derivação @
Definir Alfa PrdACodLot; @ Código do lote @
Definir Numero PrdNQtdPro; @ Quantidade do produto/derivação @
@ Variável auxiliar @
Definir Alfa aQtd;
Definir Alfa PrdADstExc;
PrdADstExc = "P";
@ Quebrar o código de barras @
PrdACodPro = PrdACodBar;
CopiarAlfa(PrdACodPro, 1, 4);
PrdACodDer = PrdACodBar;
CopiarAlfa(PrdACodDer, 5, 1);
PrdACodLot = PrdACodBar;
CopiarAlfa(PrdACodLot, 6, 9);
aQtd = PrdACodBar;
CopiarAlfa(aQtd, 15, 1);
AlfaParaInt(aQtd,PrdNQtdPro);
Variáveis Disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
PrdARelPrd | ALFA | Código do relatório de produção informado na tela. Variável possui abrangência. | N |
PrdARelPrd | ALFA | Código do relatório de produção informado na tela. Variável possui abrangência. | N |
PrdACodOri | ALFA | Código de origem informado na tela. Variável pode ou não possuir abrangência dependendo da tela utilizada. | N |
PrdANumOrp | ALFA | Número da ordem de produção informado na tela. Variável possui abrangência. | N |
PrdACodTel | ALFA | Código da tela que está executando a regra. | N |
PrdACodBar | ALFA | Código de barras informado na tela. | N |
PrdACodPro | ALFA | Código do produto (interpretado pela regra). | S |
PrdACodDer | ALFA | Código da derivação (interpretado pela regra). | S |
PrdACodLot | ALFA | Código do lote (interpretado pela regra). | S |
PrdNQtdPro | ALFA | Quantidade do produto/derivação (interpretado pela. regra). | S |
PrdASomQtd | ALFA | Indicativo se a quantidade lida no código de barras será somada com a quantidade atual do registro da grade. Esta variável é válida somente quando a opção "S" está selecionada na variável PrdADstQtd. | S |
PrdADstExc | ALFA | Forma de distribuição da quantidade excedente (somente disponível na tela F900BAC) [valores possíveis: "N", "P" ou "U" - ver nas observações os detalhes de cada valor]. Esta variável é válida somente quando a opção "S" está selecionada na variável PrdADstQtd. | S |
PrdADstQtd | ALFA | Possibilita a distribuição do estoque entre as ordens de produção que são apontadas de forma agrupada. As opções de preenchimento são: S, Q ou C (a explicação sobre cada opção está descrita acima). | S |
Atenção
Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.
Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.