Páginas filhas
  • ER_LOGWMS01-35-Tratar_GS1-128_nas_Rotinas_Complementares

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

 

Especificação

Produto

Logix

Módulo

WMS

Segmento Executor

Supply Chain - Logística

Projeto1/Story

LOGWMS01

IRM1/Epic

LOGWMS01-30

Requisito1

LOGWMS01-35

Subtarefa1

LOGWMS01-448

Chamado2

 

País

( X ) Brasil  (  ) Argentina  (  ) Mexico México  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   Colômbia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

 

Objetivo

Tratar a utilização de etiquetas padrão GS1-128 nas rotinas complementares do WMS. Compreende-se por rotinas complementares a rotina de contagem do inventário para este desenvolvimento apenas as rotinas de Contagem do Inventário do WMS e a rotina de impressão Impressão de etiquetas Etiquetas ITEM/SKU.

 

Definição da Regra de Negócio

Contagem do

inventário, compreende a rotina 
  • Impressão etiqueta Item/SKU - 
  •  

     

    Rotina

    Tipo de Operação

    Opção de Menu

    Regras de Negócio

    WMS6770 - Atualização dos registros padrões

    [Alteração]

     

     

     

     

     

    -

     

     

     

    -

     

    SUP2067 - Inventário 

    Na função sup2067_controle() deverá ser implementada a lógica para verificar se o depositante possui configuração de etiqueta GS1-128. Para isso deverá chamar a função wmsr130_deposit_utiliza_cod_barras_gs1_128() que poderá retornar true ou false, setar o valor do retorno em variável modular que será testada posteriormente nas lógicas de entrada do GS1.

     

    Pontos onde poderá haver interação com o GS1-128.

     

    FUNCTION sup2067_implanta_identificacao() 
    INPUT BY NAME mr_impl_identif.etiq_palete,mr_impl_identif.etiq_estoque,mr_impl_identif.cod_barras,mr_impl_identif.qtd_item,mr_impl_identif.qtd_sku,mr_impl_identif.tip_estoque WITHOUT DEFAULTS
    No AFTER FIELD cod_barras se l_encontrou for FALSE deverá verificar se o depositante possui parametrização GS1-128. Caso possua deverá seguir os passos a seguir, senão mantém processamento atual:
        • Chamar as funções wmsr130_set_null, wmsr130_set_empresa(mr_parametros.empresa), wmsr130_set_deposintante(m_depositante_plano), wmsr130_add_cod_barras_gs1_128(mr_impl_identif.cod_barras), wmsr130_set_modo_exibicao(0)
        • Chamar a função wmsr130_decodifica_gs1_128(). Se o retorno for FALSE deverá exibir a mensagem de erro usando a função wms6085_help() passando a mensagem do log0030_mensagem_get_texto() e voltar o foco para o campo cod_barras.
        • Se o retorno da função for TRUE deverá buscar o valor do código de barras do SKU, código do Item depositante e quantidade itens SKU. Se os atributos de SKU e item forem nulos deverá a mensagem “SKU nao indentificado.” Se o atributo referente ao código de barras do SKU for inválido e o item válido, deverá tentar achar o código de barras do SKU chamando a função sup2067_retorna_cod_barras_sku(nova). Se encontrar o SKU ou caso o SKU retornado da etiqueta GS1 seja válido, deverá chamar a função wmst86_wms_item_sku_cod_barras_verifica_cod_barras() passando o código retornado. Caso não localize o SKU exibir a mensagem “SKU nao identificado.”.
        • Para encontrar o SKU a partir do item depositante deverá efetuar o select abaixo que poderá retornar apenas um registro. Case não encontre registro ou encontre mais de um registro na tabela, deverá exibir a mensagem de erro citada acima. Deverá verificar se

    SELECT wis.sku
    FROM wms_item_sku wis, 
    wms_item_complemento wic 
    WHERE wis.empresa = p_cod_empresa
    AND wis.empresa = wic.empresa
    AND wis.item= wic.item 
    AND wic.deposit =  wis.item
    AND wic.item_deposit = m_item_deposit (item retornado da função wmsr130_get_item_depositante())

    AND wis.qtd_item = l_qtd_item (wmsr130_get_qtd_itens_sku()

    AND wis.sit_sku = ‘A’Se a validação da etiqueta GS1 ocorrer com sucesso deverá atribuir TRUE a uma variável modular que indicará se foi informado uma etiqueta GS1.

    No BEFORE FIELD qtd_item, logo no início da validação, deverá verificar se foi informada uma etiqueta GS1, e se foi, deverá atribuir o valor retornado de wmsr130_get_qtd_itens_sku() a variável mr_impl_identif.qtd_item.

  • Function sup2067_entrada_skus_endereco()

    INPUT BY NAME mr_dados_tela2b.des_endereco,

                      mr_dados_tela2b.cod_barras_sku WITHOUT DEFAULTS

    Na função sup2067_entrada_skus_endereco() se l_encontrou for igual a FALSE, antes de exibir a mensagem de erro deverá verificar se a etiqueta informada é uma GS1-128 e buscar as informações do item ou SKU, seguindo os mesmos passos indicados no item 1. Se conseguir identificar o SKU a partir da etiqueta GS1 deverá chamar a função wmst86_wms_item_sku_cod_barras_verifica_cod_barras() passando o código retornado. Se não validar o SKU deve exibir mensagem de erro como na lógica atual.

  •  

    2. FUNCTION 

    3. Function sup2067_seleciona_sku()

    INPUT BY NAME mr_dados_tela_sku.cod_barras_sku WITHOUT DEFAULTS

    No AFTER FIELD cod_barras_sku se o teste de sql do select da tabela wms_item_sku_cod_barras for diferente de 0 deverá validar se a etiqueta informa é uma GS1, e sendo, deverá resgatar o código de barras, item e quantidade de itens do sku. Se o SKU for valido deverá utiliza-lo para validar o item, com o mesmo select atual. Se não o código de barras do sku não vier na etiqueta GS1, deverá verificar se o item e a quantidade item veio informada, se vieram, deverá buscar o código de barras do SKU conforme item 1.

     

    4. Function sup2067_entrada_dimensionais()

    INPUT ARRAY ma_dimensional WITHOUT DEFAULTS FROM sr_dimensional.*

    WMS6770 - Atualização dos registros padrões.

    Alterar a rotina de processamento dos registros padrões da etiqueta tipo 12 "ITEM/SKU" para que sejam gravados os atributos correspondentes da etiqueta padrão GS1-128

     

    AtributoDescriçãoTipo1TamanhoAtualNovo
     CNPJ_DEPOS CNPJ DO DEPOSITANTE19 X 

    CODBARRA1

    CODIGO DE BARRAS 1C128 X 
    CODBARRA2CODIGO DE BARRAS 2C128X 
    CODBARRA3CODIGO DE BARRAS 3C128X 
    DEPOSITCODCODIGO DO DEPOSITANTEC15X 
    DEPOSITDESDESCRICAO DO DEPOSITANTEC50X 
    IE_DEPOSINCRICAO ESTADUAL DO DEPOSITANTEC16X 
    ITDESREDZDESCRICAO REDUZIDA DO ITEMC18X 
    ITEMCODCODIGO DO ITEMC15X 
    ITEMDEPOSCODIGO DO ITEM DEPOSITANTEC25X 
    ITEMDESDESCRICAO DO ITEMC76X 
    PAISORIGIT PAIS ORIGEM DO ITEMC60X 
    PESOUNITPESO UNITARION15X 
    SKUCODCODIGO DO SKUC25X 
    SKUDESDESCRICAO DO SKUC76X 
    SKUDESREDZDESCRICAO REDUZIDA DO SKUC18X 
    QTDITEMSKUQUANTIDADE ITENS SKUN15 X
    QTDSKUQUANTIDADE SKUSN15 X
    TIPESTOQTIPO ESTOQUEC6 X
    RESTESTOQRESTRICAO ESTOQUEC6 X
    LOTEITEMLOTE DO ITEMC15 X
    DTPRODUCAODATA DE PRODUCAO DO ITEMD23 X
    DTVALIDADEDATA DE VALIDADE DO ITEMD23 X
    VOLUMEVOLUME DO ITEMN4 X
    COMPRIMENTCOMPRIMENTO DO ITEMN15 X
    LARGURALARGURA DO ITEMN15 X
    DIAMETRODIAMETRO DO ITEMN15 X
    NUMPECANUMERO PECA DO ITEMC15 X
    NUMSERIENUMERO SERIE DO ITEMC25 X

    Legenda: C - Char; D - Date; N - Numérico

     

    Tabelas Utilizadas

    • wms_atributo_tip_etiq - atributos por tipo de etiqueta
    • FI9 – Controle de Emissão de DARF>.

    Protótipo de Tela

    Protótipo 01

     

     

     

     

    Opcional

    Fluxo do Processo

     

    <Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

    Opcional

    Dicionário de Dados

     

    Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

      

    Índice

    Chave

    01

    <FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

    02

    <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

    03

    <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

    Campo

    <AAA_PERESP>

    Tipo

    <N>

    Tamanho

    <6>

    Valor Inicial

    <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

    Mandatório

    Sim (  ) Não (  )

    Descrição

    <Referência Mínima para Cálculo>

    Título

    <Ref.Calc.>

    Picture

    <@E999.99>

    Help de Campo

    <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

     

    (Opcional)

    Grupo de Perguntas

     

    <Informações utilizadas na linha Protheus>.

     

    Nome: FINSRF2

    X1_ORDEM

    01

    X1_PERGUNT

    Emissão De

    X1_TIPO

    D

    X1_TAMANHO

    8

    X1_GSC

    G

    X1_VAR01

    MV_PAR01

    X1_DEF01

    Comum

    X1_CNT01

    '01/01/08'

    X1_HELP

    Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

     

    (Opcional)

    Consulta Padrão

    <Informações utilizadas na linha Protheus>

     

    Consulta: AMB

    Descrição

    Configurações de Planejamento

    Tipo

    Consulta Padrão

    Tabela

    “AMB”

    Índice

    “Código”

    Campo

    “Código”; ”Descrição”

    Retorno

    AMB->AMB_CODIGO

     

    (Opcional)

    Estrutura de Menu

     

    <Informações utilizadas na linha Datasul>.

     

    Procedimentos

     

    Procedimento

     

     

     

    Descrição

    (Max 40 posições)

    (Max 40 posições)

    (Max 40 posições)

    Módulo

     

     

     

    Programa base

     

     

     

    Nome Menu

    (Max 32 posições)

    (Max 32 posições)

    (Max 32 posições)

    Interface

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    Registro padrão

    Sim

    Sim

    Sim

    Visualiza Menu

    Sim/Não

    Sim/Não

    Sim/Não

    Release de Liberação

     

     

     

     

     

     

    Programas

     

    Programa

     

     

     

    Descrição

    (Max 40 posições)

    (Max 40 posições)

    (Max 40 posições)

    Nome Externo

     

     

     

    Nome Menu/Programa

    (Max 32 posições)

    (Max 32 posições)

    (Max 32 posições)

    Nome Verbalizado[1]

    (Max 254 posições)

    (Max 254 posições)

    (Max 254 posições)

    Procedimento

     

     

     

    Template

    (Verificar lista de opções no man01211)

    (Verificar lista de opções no man01211)

    (Verificar lista de opções no man01211)

    Tipo[2]

    Consulta/Manutenção/ Relatório/Tarefas

    Consulta/Manutenção/ Relatório/Tarefas

    Consulta/Manutenção/ Relatório/Tarefas

    Interface

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    Categoria[3]

     

     

     

    Executa via RPC

    Sim/Não

    Sim/Não

    Sim/Não

    Registro padrão

    Sim

    Sim

    Sim

    Outro Produto

    Não

    Não

    Não

    Visualiza Menu

    Sim/Não

    Sim/Não

    Sim/Não

    Query on-line

    Sim/Não

    Sim/Não

    Sim/Não

    Log Exec.

    Sim/Não

    Sim/Não

    Sim/Não

    Rotina (EMS)

     

     

     

    Sub-Rotina (EMS)

     

     

     

    Localização dentro da Sub Rotina (EMS)

     

     

     

    Compact[4]

    Sim/Não

    Sim/Não

    Sim/Não

    Home[5]

    Sim/Não

    Sim/Não

    Sim/Não

    Posição do Portlet[6]

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    Informar os papeis com os quais o programa deve ser vinculado

     

     

     

     

    Cadastro de Papéis

    <O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

    <Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

     

    Código Papel

    (máx 3 posições)

    Descrição em Português*

     

    Descrição em Inglês*

     

    [1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

    [2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

    [3] Categorias são obrigatórias para os programas FLEX.

    [4] Obrigatório quando o projeto for FLEX

    [5] Obrigatório quando o projeto for FLEX

    [6] Obrigatório quando o projeto for FLEX

     Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

     Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

      

    (Obrigatório)

    Informações Gerais

     

    Especificação

    Produto

    Logix

    Módulo

    WMS

    Segmento Executor

    Supply Chain

    Projeto1/Story

    LOGWMS01

    IRM1/Epic

    LOGWMS01-30

    Requisito1

    LOGWMS01-35

    Subtarefa1

    LOGWMS01-448

    Chamado2

     

    País

    ( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

    (  ) USA  (  ) Colombia   (  ) Outro _____________.

    Outros

    <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

       Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

    Objetivo

    Tratar a utilização de etiquetas padrão GS1-128 nas rotinas complementares do WMS. Compreende-se por rotinas complementares a rotina de contagem do inventário do WMS e a rotina de impressão de etiquetas ITEM/SKU.

    Definição da Regra de Negócio

    1. Contagem do inventário, compreende a rotina 

     

    <Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.

     

    Rotina

    Tipo de Operação

    Opção de Menu

    Regras de Negócio

    WMS6770 - Atualização dos registros padrões

    [Alteração]

     

     

     

     

    [Atualizações -> Acadêmico-> Tesouraria]

    -

     

     

    [Atualizações -> Acadêmico-> Cadastros]

    -

    WMS6770 - Atualização dos registros padrões.

    Alterar a rotina de processamento dos registros padrões da etiqueta tipo 12 "ITEM/SKU" para que sejam gravados os atributos correspondentes da etiqueta padrão GS1-128"CODIGO DE BARRAS 2" ,"C",128        CNPJ_DEPOS CNPJ DO DEPOSITANTE19    "CODBARRA1" ,
    "CODIGO DE BARRAS 1" "C"128    "CODBARRA2" ,
    "CODBARRA3" ,"CODIGO DE BARRAS 3" ,"C",128
    "DEPOSITCOD","CODIGO DO DEPOSITANTE" ,"C",15
    "DEPOSITDES","DESCRICAO DO DEPOSITANTE" ,"C",50
    "IE_DEPOS" ,"INCRICAO ESTADUAL DO DEPOSITANTE","C",16
    "ITDESREDZ" ,"DESCRICAO REDUZIDA DO ITEM" ,"C",18
    "ITEMCOD" ,"CODIGO DO ITEM" ,"C",15
    "ITEMDEPOS" ,"CODIGO DO ITEM DEPOSITANTE" ,"C",25
    "ITEMDES" ,"DESCRICAO DO ITEM" ,"C",76
    "PAISORIGIT","PAIS ORIGEM DO ITEM","C",60
    "PESOUNIT" ,"PESO UNITARIO" ,"N",15
    "SKUCOD" ,"CODIGO DO SKU" ,"C",25
    "SKUDES" ,"DESCRICAO DO SKU" ,"C",76
    "SKUDESREDZ","DESCRICAO REDUZIDA DO SKU","C",18                            

     

    Exemplo de Aplicação:

    • Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
    • Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades  como a referência mínima para calcular o débito total do aluno.
    • Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
    • O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.

     

    Tabelas Utilizadas

    • SE2 – Cadastro de Contas a Pagar
    • FI9 – Controle de Emissão de DARF>.

    Inventário Via Coletor WMS:

    Esta rotina possibilitará que sejam utilizados códigos GS1-128 (previamente parametrizados) durante a contagem do Inventário. A etiqueta GS1-128 poderá ter sua leitura realizada nos pontos do processos nos quais é solicitada a etiqueta de código de barras do SKU. A partir da leitura deste tipo de etiqueta o sistema poderá resgatar as informações de Item, Código de barras do SKU, quantidade de itens por SKU, quantidade de SKUs e os valores dos dimensionais (lote, data de fabricação, número de série, entre outros).

    Para que a etiqueta GS1-128 seja aceita na entrada das informações é necessário que existam pelo menos as informações do código de barras do SKU ou o código do item depositante, para que sejam efetuadas as validações de item/SKU, da mesma forma como é efetuado atualmente por meio do código do SKU.

    Se na etiqueta GS1 existir apenas a informação do item depositante, o sistema tentará localizar o SKU; se a informação da quantidade de itens existir na GS1, esta informação será utilizada na busca do SKU, contudo, se o item possuir mais de um SKU cadastrado e não for possível localizar um único SKU com as informações lidas, será exibida uma mensagem de erro e solicitada outra etiqueta.

    Se no item houver controle de dimensionais, todas as informações constarem na etiqueta GS1 e forem valores válidas, a tela de entrada de dimensionais não será aberta e o processamento assumirá automaticamente estas informações. Caso não sejam recuperadas as informações dos dimensionais ou esteja faltando alguma informação de dimensional, a tela de entrada continuará abrindo apresentando as informações lidas, permitindo informar apenas o que não foi lido.

    Impressão Etiqueta Item/SKU:

    A rotina de impressão da etiqueta ITEM/SKU deverá permitir que as etiquetas no formato GS1-128 sejam impressas a partir de uma configuração predefinida nos Modelos de Etiquetas.

    Para viabilizar este processo será necessário a criação dos atributos relacionados a etiqueta GS1, os quais estarão disponíveis no cadastro de Modelos de Etiquetas, etiqueta tipo 12 ITEM/SKU.

    Quando um modelo de etiqueta possuir atributos GS1 relacionados, no momento da impressão da etiqueta será exibida uma tela, na qual deverá ser efetuada a entrada dos dados correspondentes aos atributos do GS1 que não são mantidos no cadastro de Item/SKU do WMS (vide tabela no detalhamento da rotina).

     

    Rotina

    Tipo de Operação

    Opção de Menu

    Regras de Negócio

    WMS6770 - Atualização dos registros padrões

    [Alteração]

     

     

    SUP2067 - Contagem Inventário

    [Alteração]

     

    -

    WMS6340 - Geração Etiquetas Item/SKU

    [Alteração]

     

    -

    WMS6082 - Modelos Etiquetas   


    Contagem do Inventário Via Coletor de WMS

    SUP2067 - Inventário

    Na função sup2067_controle() deverá ser implementada a lógica para verificar se o depositante possui configuração de etiqueta GS1-128.

    Para isso, deverá chamar a função wmsr130_deposit_utiliza_cod_barras_gs1_128(), que poderá retornar TRUE ou FALSE, setar o valor do retorno em variável modular que será testada posteriormente nas lógicas de entrada do GS1.

    Pontos onde poderá haver interação com o GS1-128:

    1) Criar nova função sup2067_retorna_cod_barras_sku(l_cod_barras_sku). Função responsável pelo controle de entrada de dados via GS1-128.

      • Chamar as funções wms6730_set_null(), 
      • wms6730_set_empresa(mr_parametros.empresa), 
      • wms6730_set_depositante(m_depositante_plano), 
      • wms6730_set_rotina_origem('sup2067'), 
      • wms6730_set_leitura_teste(FALSE)
      • wms6730_set_cod_barras_gs1_128(l_cod_barras_sku);
      • Chamar a função wms6730_solicita_cod_barras_gs1_128() que efetuará a entrada da etiqueta.

    2) Função sup2067_solicita_info_adicional()

    Alterar o carregamento do array de tela (ma_dimensional) para que, quando estiver sendo utilizada a tela "A", seja validado se o depositante utiliza configuração GS1-128 e se o item controla algum dimensional, seja exibido o campo "COD.BAR GS1-128" antes dos dimensionais, conforme exemplo abaixo. Deverá atribuir ma_dimensional[].label_dimensional =  "COD.BAR GS1-128"  e ma_dimensional[].campo = "cod_gs1".

    Bloco de código
    languagejs
    INVENTARIO - SUP2067
     Ativid.: Contagem 
    [118-P               ]
    [                    ]
    [118 PICKING         ]
     Sku:
    [118-p/1             ]
     Qtd:[         1,000 ]
     Info.Complementar:
    [COD.BAR GS1-128     ]
    [                    ]
    [LOTE                ]
    [                    ]
    .
    .
    [Qtd.Sku's           ]
    [                    ]
     F10 - Teclas

     

    3) Função sup2067_implanta_identificacao() 

    Bloco de código
    languagejs
    titlesup2067_implanta_identificacao()
    INPUT BY NAME	mr_impl_identif.etiq_palete,mr_impl_identif.etiq_estoque,
    								mr_impl_identif.cod_barras,
    								mr_impl_identif.qtd_item,
    								mr_impl_identif.qtd_sku,
    								mr_impl_identif.tip_estoque WITHOUT DEFAULTS

    No AFTER FIELD cod_barras (do input acima) se l_encontrou for FALSE deverá verificar se o depositante possui parametrização GS1-128.

    Se possuir, deverá seguir os passos abaixo, senão mantém o processamento atual:

    • Chamar a função sup2067_retorna_cod_barras_sku() passando como parâmetro mr_impl_identif.cod_barras.
    • Após o retorno da função acima deverá:
        • Buscar o código de barras do SKU atribuindo a mr_impl_identif.cod_barras, item depositante a uma variável local nova, e quantidade de item SKU também a uma variável local nova, chamando as funções wmsr130 correspondentes.

        • Se os atributos de SKU e item retornarem nulos, não será possível continuar o processamento e deverá ser exibida a msg de erro "Nao foi possivel identificar o SKU."

        • Se o atributo SKU retornado for nulo, mas o atributo Item for válido, deverá efetuar select abaixo para determinar o código de barras do SKU.

        • Tendo o código de barras do SKU deverá chamar a função wmst86_wms_item_sku_cod_barras_verifica_cod_barras() passando o código retornado. Caso não localize o SKU, deve ser exibida a mensagem “Nao foi possivel identificar o SKU.”.

     

    Bloco de código
    SELECT	wms_item_sku_cod_barras.cod_barras
        into mr_impl_identif.cod_barras
    	FROM wms_item_sku_cod_barras, 
    				wms_item_complemento,
                    wms_item_sku 
    WHERE wms_item_sku_cod_barras.empresa = p_cod_empresa
    		AND wms_item_sku_cod_barras.empresa = wms_item_complemento .empresa
    		AND wms_item_sku_cod_barras.item= wms_item_complemento .item 
            AND wms_item_sku.empresa = wms_item_complemento.empresa
            AND wms_item_sku.item = wms_item_complemento .item 
            AND wms_item_sku.sku = wms_item_sku_cod_barras.sku
    		AND wms_item_complemento .deposit =  wms_item_sku_cod_barras.depositante 
    		AND wms_item_complemento .item_deposit =  (item retornado da função wmsr130_get_item_depositante())
    		AND wms_item_sku.qtd_item = l_qtd_item (wmsr130_get_qtd_itens_sku()
    		AND wms_item_sku.sit_sku = ‘A’
     

     

    4) Alterar a função sup2067_verifica_sku()

    Se l_encontrou for igual a FALSE, antes de exibir a mensagem de erro deverá verificar se a etiqueta informada é uma GS1-128 e buscar as informações do item ou SKU, seguindo os mesmos passos indicados no item 1, utilizando as funções wms6730/wmsr130.

    Se conseguir identificar o SKU a partir da etiqueta GS1 deverá chamar novamente  a função wmst86_wms_item_sku_cod_barras_verifica_cod_barras() passando o código retornado. Se não validar o SKU deve exibir mensagem de erro como na lógica atual.

     

    5) Função sup2067_entrada_skus_endereco()

    Bloco de código
    languagejs
    title sup2067_entrada_skus_endereco()
    INPUT BY NAME mr_dados_tela2b.des_endereco,
                      mr_dados_tela2b.cod_barras_sku WITHOUT DEFAULTS

    Toda validação do SKU é efetuada na função sup2067_verifica_sku().

     

    6) Função sup2067_seleciona_sku()

    Bloco de código
    languagejs
    titlesup2067_seleciona_sku()
    INPUT BY NAME mr_dados_tela_sku.cod_barras_sku WITHOUT DEFAULTS

    No AFTER FIELD cod_barras_sku se o teste de sql do select da tabela wms_item_sku_cod_barras for diferente de 0 (zero) deverá validar se a etiqueta informada é uma GS1. Sendo, deverá resgatar o código de barras, o item e a quantidade de itens do SKU.

    Se o SKU for válido deverá utilizá-lo para validar o item, com o mesmo select atual. 

    Se o código de barras do SKU não vier na etiqueta GS1, deverá verificar se o item e a quantidade item veio informada; se vieram, deverá buscar o código de barras do SKU conforme item 1.

     

    7) Função sup2067_entrada_dimensionais(). 

      1. Se estiver fazendo o Input com o campo 'cod_gs1' deverá alterar a regra do input para prever a leitura de uma etiqueta GS1-128.

        1. No after field deverá efetuar a decodificação do GS1-128 e tentar resgatar os valores dos dimensionais do item. 

        2. Os valores resgatados deverão ser exibidos em tela e não poderão ser alterados. Apenas os valores não resgatados do GS1 poderão ser informados. 

      2. Se no array não existir o campo 'cod_gs1', antes da abertura da tela sup20673, deverá verificar se no input do código de barras do SKU foi informada um etiqueta GS1-128. Caso tenha sido informada deverá resgatar os valores dos dimensionais informados. 

      3. Se o Input estiver sendo efetuado com "qtd_saldo" (lógica no final da função (sup2067_solicita_info_adicional), se todos os retornos forem válidos deverá posicionar no campo quantidade; caso contrário, deve ser efetuado o processamento das informações sem a abertura da tela de entrada de dimensionais, seguindo as validações que Constam na sup2067_valida_dimensional() controlando para que não sejam executados os displays de tela.

    Dimensional

    Função GET

    Retorno inválido

    Lote

    wmsr130_get_lote()

    Branco " "

    Volume

    wmsr130_get_volume()

    0

    Data de produção

    wmsr130_get_data_producao()

    '1900/01/01'

    Data de validade

    wmsr130_get_data_validade()

    '1900/01/01'

    Comprimento

    wmsr130_get_comprimento()

    0

    Largura

    wmsr130_get_largura()

    0

    Diâmetro

    wmsr130_get_diametro()

    0

    Número peça

    wmsr130_get_numero_peca()

    Branco " "

    Número série

    wmsr130_get_numero_serie()

    Branco " "

    Informações
    titleAlteração

    Como forma de padronizar as rotinas que envolvem a utilização de etiquetas GS1-128, foi adicionado atalho para executar o teste de leitura de etiquetas. Nas telas nas quais é efetuada a entrada da etiqueta será habilitada a tecla Ctrl-J Teste GS1.

    Impressão Etiqueta Item/SKU

    WMS6770 - Atualização dos Registros Padrões

    Alterar a rotina de processamento dos registros padrão da etiqueta tipo 12 Item/SKU, para que sejam gravados os atributos correspondentes da etiqueta padrão GS1-128. Atributos assinalados como Novo na tabela abaixo.

    Observação:

    Os atributos padrão de geração de etiquetas são gravados na tabela wms_atributo_tip_etiq. Não foi utilizada a mesma nomenclatura do cadastro de configurações do GS1-128 devido ao nome do atributo ser restrito a 10 caracteres na tabela wms_atributo_tip_etiq.

    O tamanho dos atributos abaixo são baseados no Encarte GS1-128.


    AtributoDescriçãoTipo1TamanhoAtualNovo
    CNPJ_DEPOS CNPJ DO DEPOSITANTE19 X 

    CODBARRA1

    CODIGO DE BARRAS 1C128 X 
    CODBARRA2CODIGO DE BARRAS 2C128X 
    CODBARRA3CODIGO DE BARRAS 3C128X 
    DEPOSITCODCODIGO DO DEPOSITANTEC15X 
    DEPOSITDESDESCRICAO DO DEPOSITANTEC50X 
    IE_DEPOSINSCRICAO ESTADUAL DO DEPOSITANTEC16X 
    ITDESREDZDESCRICAO REDUZIDA DO ITEMC18X 
    ITEMCODCODIGO DO ITEMC15X 
    ITEMDEPOSCODIGO DO ITEM DEPOSITANTEC25X 
    ITEMDESDESCRICAO DO ITEMC76X 
    PAISORIGIT PAIS ORIGEM DO ITEMC60X 
    PESOUNITPESO UNITARION15X 
    SKUCODCODIGO DO SKUC25X 
    SKUDESDESCRICAO DO SKUC76X 
    SKUDESREDZDESCRICAO REDUZIDA DO SKUC18X 
    QTDITEMSKUQUANTIDADE ITENS SKUN8 X
    QTDSKUQUANTIDADE SKUSN8 X
    TIPESTOQTIPO ESTOQUEC6 X
    RESTESTOQRESTRICAO ESTOQUEC6 X
    LOTEITEMLOTE DO ITEMC15 X
    DTPRODUCAODATA DE PRODUCAO DO ITEMD6 X
    DTVALIDADEDATA DE VALIDADE DO ITEMD6 X
    VOLUMEVOLUME DO ITEMN6 X
    COMPRIMENTCOMPRIMENTO DO ITEMN6 X
    LARGURALARGURA DO ITEMN6 X
    DIAMETRODIAMETRO DO ITEMN6 X
    NUMPECANUMERO PECA DO ITEMC20 X
    NUMSERIENUMERO SERIE DO ITEMC20 X
    LIVRE_01CAMPO TEXTO LIVREC30 X
    LIVRE_02CAMPO TEXTO LIVREC30 X
    LIVRE_03CAMPO TEXTO LIVREC30 X
    LIVRE_04CAMPO TEXTO LIVREC30 X
    LIVRE_05CAMPO TEXTO LIVREC30 X
    LIVRE_06CAMPO NUMERICO LIVREN18 X
    LIVRE_07CAMPO NUMERICO LIVREN18 X
    LIVRE_08CAMPO NUMERICO LIVREN18 X
    LIVRE_09CAMPO NUMERICO LIVREN18 X
    LIVRE_10CAMPO NUMERICO LIVREN18 X

    Legenda: C - Char; D - Date; N - Numérico

    WMS6082 - Modelos Etiquetas

    Exemplo de cadastro de Modelo de Etiqueta para o tipo de impressora Intermec EasyCoder Padrão IPL com protocolo <STX><ETX>.

     

    Image Added

    Bloco de código
    languagejs
    titlePadrão Impressora Imtermech
    <STX><ESC>c1<ETX>
    <STX><ESC>k<ETX>
    <STX><SI>L709<ETX>
    <STX><SI>S50<ETX>
    <STX><SI>d0<ETX>
    <STX><SI>h0,0;<ETX>
    <STX><SI>l8<ETX>
    <STX><SI>I10<ETX>
    <STX><SI>F20<ETX>
    <STX><SI>D0<ETX>
    <STX><SI>T1<ETX>
    <STX><SI>t0<ETX>
    <STX><SI>g1,567<ETX>
    <STX><SI>J0,0,0<ETX>
    <STX><ESC>P<ETX>
    <STX>E*;F*;<ETX>
    <STX>L1;<ETX>
    <STX>D0;<ETX>
    <STX>H0;o3226,89;f3;c25;h23;w25;d3,Depositante:;<ETX>
    <STX>D1;<ETX>
    <STX>H1;o3225,486;f3;c25;h23;w25;d3,[DEPOSITDES];<ETX>
    <STX>H2;o3146,94;f3;c25;h23;w25;d3,Item:;<ETX>
    <STX>H3;o3148,484;f3;c25;h23;w25;d3,[ITDESREDZ];<ETX>
    <STX>H4;o3071,92;f3;c25;h23;w25;d3,SKU:;<ETX>
    <STX>H5;o3074,486;f3;c25;h23;w25;d3,[SKUDESREDZ];<ETX>
    ### A linha abaixo corresponde a impressão do código de barras
    <STX>B6;o2916,344;f3;c6,0,0,3;h142;w2;r0;i0;d3,<SUB><SUB>101[ITEMDEPOS]<SUB><SUB>B10[LOTEITEM]<SUB><SUB>1<SUB><SUB>C11[DTPRODUCAO];<ETX>
    ### A linha abaixo corresponde a impressão da linha humano legível.
    <STX>H7;o2767,435;f3;c2;h1;w1;d3,(01)[ITEMDEPOS](10)[LOTEITEM](11)[DTPRODUCAO];<ETX>
    <STX>R<ETX>
    <STX><ESC>E*<CAN><ETX>
    <STX><RS>1<US>1<ETB><ETX>

     

    O cadastro de modelos de etiquetas GS1-128 seguirá o padrão atual, exceto quando houver algum atributo [LIVRE_] que deverá executar a lógica a seguir:

    • Durante a inclusão ou modificação de comandos de impressão deverá verificar se o atributo utilizado é um dos atributos livres a serem utilizados na impressão de etiquetas GS1-128. 
    • Caso seja, deverá abrir a tela do Protótipo 1, na qual deverá ser efetuado o cadastro da descrição do atributo. Esta descrição será utilizada para exibição no WMS6340, na entrada dos atributos complementares da etiqueta.
    • A descrição do atributo será gravada na tabela wms_atrib_livre_desc, onde:
      • empresa = p_cod_empresa.
      • modelo_etiq = modelo etiqueta informado na tela principal.
      • atributo = atributo informado na tela principal.
      • des_atributo = descrição do atributo informado na tela de descrição do atributo.
    • Antes de incluir um novo registro deverá sempre efetuar delete para que não permaneçam registros inconsistentes. 
    • Ao abrir a nova tela deverá fazer um select na tabela wms_atrib_livre_desc para exibir o valor anterior do atributo, caso esteja sendo efetuada uma alteração de registro.
    • Efetuar o controle na exclusão do modelo para que os registros da tabela wms_atrib_livre_desc sejam excluídos.

    WMS6340 - Geração Etiqueta Item/SKU (manter apenas o WMS6340, retirar WMS6334 do menu)

    Alterar a rotina de impressão de etiquetas para que sejam solicitados em tela os valores para os atributos correspondentes da configuração da etiqueta GS1-128. Estas informações serão solicitadas quando no  cadastro do Modelo de Etiqueta constar algum atributo correspondente.

    Após a confirmação do processamento, deverá chamar a função wms6340_controle_informacoes_complementares(), onde:

    • Deverá verificar se existem atributos complementares cadastrados para o modelo de etiqueta buscando das tabelas wms_atributo_tip_etiq, wms_modelo_etiq, e wms_comando_impressao_etiq. 
    • Se o atributo constar na tabela de novos atributos criados no item do WMS6770, deve abrir a tela de input. Nesta função deverá buscar o atributo e descrição do atributo; se o atributo for um dos campos livre_ deve buscar a descrição da tabela wms_atrib_livre_desc.
    • Abrir a tela do protótipo WMS6340, na qual deverão constar as ações Informar, Confirmar e Cancelar. Porém, na abertura da tela deverá apresentar a opção Informar automaticamente.
    • Os campos poderão receber valor nulo ou branco, porém, deverão respeitar o tamanho máximo indicado na tabela acima. 
    • Os campos numéricos, exceto QTDITEMSKU e QTDSKU, deverão ser formatados com zeros a esquerda.
    • Os campos tipo data deverão buscar a máscara do cadastro do item, que pode variar em AAMMDD ou DDMMAA (por padrão GS1 o formato é AAMMDD)
    • Ao confirmar ou cancelar a entrada dos atributos deve retornar para a tela principal e continuar a impressão.

    A função wms6340_imprime_etiquetas() deverá ser alterada para fazer a chamada da função wmsr12_insert_tab_temp_tt_atributo_etiq(), passando os valores gravados no array de informações complementares.

     

    Protótipos de Telas

    WMS6082 - Complemento

    Somente o campo Descrição atributo poderá ser manutenido.

    Os demais campos deverão exibir os valores correspondentes da tela principal.

     

    Image Added

     

    WMS6340

    Image Added

     

    Fluxo do Processo

    Inventário com contagem por SKU (endereço possui saldo do SKU).

    • Seleção da atividade via lista pública/particular => Informa endereço contagem => Informa EAN/SKU ou GS1-128 => Informa Quantidade SKU.

    Image AddedImage AddedImage AddedImage AddedImage Added


    Inventário com contagem por SKU (SKU não possui estoque no endereço e tem controle de dimensionais).

    Observação: Quando a forma de contagem configurada é por SKU, se o SKU possui saldo no endereço sendo inventariado, não são solicitados os dimensionais.

    • Seleção da atividade via lista pública/particular => Informa endereço contagem => Informa EAN/SKU ou GS1-128 => Informa Palete e Estoque => Informa Cód. Barras SKU ou GS1-128 => Informa Quantidade SKU.

    Image Added Image AddedImage AddedImage AddedImage AddedImage Added


    Inventário com contagem por identificação de estoque (identificação que não existe no endereço).

    • Seleção da atividade via lista pública/particular => Informa endereço contagem => Informa Etiqueta Estoque => Informa Palete e Estoque => Informa Cód. Barras SKU ou GS1-128 => Informa Quantidade SKU .

    Image AddedImage AddedImage AddedImage AddedImage AddedImage Added

    Image Added

     

    Inventário com contagem por identificação de estoque (identificação que existe no endereço para o sistema).

    • Seleção da atividade via lista pública/particular => Informa endereço contagem => Informa Etiqueta Estoque => Informa Dimensionais => Informa Quantidade SKU.

    Image Added Image Added Image Added Image Added

     

    Dicionário de Dados

    LOGWMS01-35-102110_105.xls

    wms_atrib_livre_desc

     

    Opcional

    Protótipo de Tela

     

    <Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.

     

    Protótipo 01

     

     

     Image Removed

     

     

     

     

     

     

    Opcional

    Fluxo do Processo

     

    <Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

    Opcional

    Dicionário de Dados

     

    Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

      

    Índice

    Chave

    01

    <FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

    02

    <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

    03

    <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

    Campo

    <AAA_PERESP>

    Tipo

    <N>

    Tamanho

    <6>

    Valor Inicial

    <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

    Mandatório

    Sim (  ) Não (  )

    Descrição

    <Referência Mínima para Cálculo>

    Título

    <Ref.Calc.>

    Picture

    <@E999.99>

    Help de Campo

    <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

     

    (Opcional)

    Grupo de Perguntas

     

    <Informações utilizadas na linha Protheus>.

     

    Nome: FINSRF2

    X1_ORDEM

    01

    X1_PERGUNT

    Emissão De

    X1_TIPO

    D

    X1_TAMANHO

    8

    X1_GSC

    G

    X1_VAR01

    MV_PAR01

    X1_DEF01

    Comum

    X1_CNT01

    '01/01/08'

    X1_HELP

    Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

     

    (Opcional)

    Consulta Padrão

    <Informações utilizadas na linha Protheus>

     

    Consulta: AMB

    Descrição

    Configurações de Planejamento

    Tipo

    Consulta Padrão

    Tabela

    “AMB”

    Índice

    “Código”

    Campo

    “Código”; ”Descrição”

    Retorno

    AMB->AMB_CODIGO

     

    (Opcional)

    Estrutura de Menu

     

    <Informações utilizadas na linha Datasul>.

     

    Procedimentos

     

    Procedimento

     

     

     

    Descrição

    (Max 40 posições)

    (Max 40 posições)

    (Max 40 posições)

    Módulo

     

     

     

    Programa base

     

     

     

    Nome Menu

    (Max 32 posições)

    (Max 32 posições)

    (Max 32 posições)

    Interface

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    Registro padrão

    Sim

    Sim

    Sim

    Visualiza Menu

    Sim/Não

    Sim/Não

    Sim/Não

    Release de Liberação

     

     

     

     

     

     

    Programas

     

    Programa

     

     

     

    Descrição

    (Max 40 posições)

    (Max 40 posições)

    (Max 40 posições)

    Nome Externo

     

     

     

    Nome Menu/Programa

    (Max 32 posições)

    (Max 32 posições)

    (Max 32 posições)

    Nome Verbalizado[1]

    (Max 254 posições)

    (Max 254 posições)

    (Max 254 posições)

    Procedimento

     

     

     

    Template

    (Verificar lista de opções no man01211)

    (Verificar lista de opções no man01211)

    (Verificar lista de opções no man01211)

    Tipo[2]

    Consulta/Manutenção/ Relatório/Tarefas

    Consulta/Manutenção/ Relatório/Tarefas

    Consulta/Manutenção/ Relatório/Tarefas

    Interface

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    Categoria[3]

     

     

     

    Executa via RPC

    Sim/Não

    Sim/Não

    Sim/Não

    Registro padrão

    Sim

    Sim

    Sim

    Outro Produto

    Não

    Não

    Não

    Visualiza Menu

    Sim/Não

    Sim/Não

    Sim/Não

    Query on-line

    Sim/Não

    Sim/Não

    Sim/Não

    Log Exec.

    Sim/Não

    Sim/Não

    Sim/Não

    Rotina (EMS)

     

     

     

    Sub-Rotina (EMS)

     

     

     

    Localização dentro da Sub Rotina (EMS)

     

     

     

    Compact[4]

    Sim/Não

    Sim/Não

    Sim/Não

    Home[5]

    Sim/Não

    Sim/Não

    Sim/Não

    Posição do Portlet[6]

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    Informar os papeis com os quais o programa deve ser vinculado

     

     

     

     

    Cadastro de Papéis

    <O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

    <Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

     

    Código Papel

    (máx 3 posições)

    Descrição em Português*

     

    Descrição em Inglês*

     

    [1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

    [2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

    [3] Categorias são obrigatórias para os programas FLEX.

    [4] Obrigatório quando o projeto for FLEX

    [5] Obrigatório quando o projeto for FLEX

    [6] Obrigatório quando o projeto for FLEX

     Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.