Páginas filhas
  • ER LOGWMS01-927 BP 5.1 Executar Separação Conferência Pesagem Embarque Paralelamente - Configuração BRA

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.                                                             

  

(Obrigatório)

Informações Gerais

 

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

Especificação

Produto

 Logix

Módulo

 WMS

Segmento Executor

 Supply Chain - Logística

Projeto1

 LOGWMS01

IRM1 

LOGWMS01-545

Requisito1 

LOGWMS01-927

Subtarefa1 

LOGWMS01-1147

Chamado2

 

País

(   x ) Brasil  (  ) Argentina  (  ) Mexico  México  (  ) Chile  (  ) Paraguai  (  ) EquadorEquador  (  ) USA  (  ) Colombia   Colômbia   (  ) Outro _____________.

Outros

.

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

(Obrigatório)

 

Objetivo Geral

Possibilitar que os processos de separação, conferência, pesagem e embarque sejam executados paralelamente.

 

<Nesta etapa informar o objetivo da especificação do requisito, ou seja, o que a funcionalidade deve fazer. Exemplo: Permitir que o usuário defina o percentual mínimo em espécie (dinheiro), a referência mínima para calculo dos débitos do aluno e o período de validade do parâmetro de negociação>.

(Obrigatório)

Objetivo Específico

Possibilitar a visualização dos percentuais de execução dos processos de separação, conferência, pesagem e embarque; quando processado paralelamente.

 

Mapa Mental

Na sequência é apresentada a imagem do Mapa Mental utilizado como base para a definição desse processo:

 

Image Added

 

Definição da Regra de Negócio

 

Rotina

<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.

 

<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

[ACAA040 – Parâmetros]

[Alteração]

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

-

[ACAA050 – Negociação Financeira]

[Envolvida]

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

-

[ACAA060 – Cadastro de Pedidos]

[Criação]

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

-

 

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>.

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

 

Tipo de Operação

Opção de Menu

Regras de Negócio

LOG00086 - Menu de Parâmetros

[Alteração]

Manutenção de parâmetros

-

WMSR136 - Regra de negócio referente a expedição paralela[Criação]--

WMS6325 - Solicitação de Carga

[Alteração]

-

-

WMS60013 - Contrato do Depositante[Alteração]--
WMS60018 - Contrato - Expedição - Separação/Conferência[Alteração]--
WMS60029 - Contrato - Expedição - Pesagem[Alteração]--
WMS60019 - Contrato - Expedição - Embarque/Fiscal[Alteração]--

WMS6242 - Conferência de Expedição - Coletor de dados

[Alteração]

-

-

WMS6258 - Conferência de Expedição - Desktop[Alteração]--

 

Para atingir o resultado esperado detalhado acima, as seguintes alterações de funções e programas são necessárias: 

LOG00086 - Menu de Parâmetros

  • Manutenção de Parâmetros > Logix WMS > Logix WMS > Expedição

  • Criar um novo parâmetro no LOG00086, da seguinte forma:

    1. Descrição: Exibe o percentual disponível para a conferência? 
    2. Informação do parâmetro: Indica se será exibido o percentual de mercadorias disponíveis para a conferência da expedição.
    3. Valor padrão: N (Não).
    4. Valores: S (Sim) ou N (Não).

  • Criar um novo parâmetro no LOG00086, da seguinte forma:

    1. Descrição: Exibe o percentual disponível para o embarque?

    2. Informação do parâmetro: Indica se será exibido o percentual de mercadorias disponíveis para o embarque.

    3. Valor padrão: N (Não).

    4. Valores: S (Sim) ou N (Não).

WMSR136 - Regra de Negócio Para a Expedição Paralela

Função wmsr136_calcula_percentual_disponível_conferencia().

  • Responsável por calcular o percentual de estoque disponível para conferir.

  • Receberá: Empresa, Solicitação de Carga e Modo de exibição.

  • Retornará: Percentual de estoque disponível para conferir.

  • No início desta função, o sistema deverá consultar a quantidade de itens que já foram separados:

 

Bloco de código
languagejs
titleSQL - Quantidade de itens que já foram separados.
collapsetrue
SELECT SUM(estoque_loc_reser.qtd_reservada)
  FROM wms_solic_carga_item_reserva
      ,wms_item_onda_plano
      ,estoque_loc_reser
      ,wms_processo_moviment
 WHERE wms_solic_carga_item_reserva.empresa = [empresa]
   AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = [Solicitação de carga]
   AND wms_item_onda_plano.empresa = wms_solic_carga_item_reserva.empresa 
   AND wms_item_onda_plano.reserva = wms_solic_carga_item_reserva.reserva 
   AND estoque_loc_reser.cod_empresa = wms_item_onda_plano.empresa
   AND estoque_loc_reser.num_reserva = wms_item_onda_plano.reserva
   AND wms_processo_moviment.empresa = wms_item_onda_plano.empresa
   AND wms_processo_moviment.processo_moviment = wms_item_onda_plano.processo_moviment
   AND wms_processo_moviment.tip_processo_moviment = 'C'
   AND wms_processo_moviment.sit_processo_moviment = 'FI'

 

  • Após consultar a quantidade de itens separados, o sistema deverá pesquisar a quantidade de itens conferidos:

 

Bloco de código
languagejs
titleSQL - Quantidade de itens que já foram conferidos.
collapsetrue
SELECT SUM(wms_conferencia_separacao_item.qtd_conferida)
  FROM wms_conferencia_separacao_item
 WHERE wms_conferencia_separacao_item.empresa = [empresa]
   AND wms_conferencia_separacao_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
   AND wms_conferencia_separacao_item.sequencial_conferencia = (SELECT MAX(wms_conferencia_separacao.sequencial_conferencia)
                                                                  FROM wms_conferencia_separacao 
                                                                 WHERE wms_conferencia_separacao.empresa = [empresa]
                                                                   AND wms_conferencia_separacao.trans_solicitacao_carga_mestre = [Solicitação de carga])

 

  • Após consultar a quantidade de itens conferidos, o sistema deverá pesquisar a quantidade de itens solicitados:

 

Bloco de código
languagejs
titleSQL - Quantidade de itens solicitados.
collapsetrue
SELECT SUM(wms_solicitacao_carga_item.qtd_solicitada)
  FROM wms_solicitacao_carga_item
 WHERE wms_solicitacao_carga_item.empresa = [empresa]
   AND wms_solicitacao_carga_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
   AND wms_solicitacao_carga_item.sit_item <> ‘C’

 

  • Depois de consultar as quantidades, o sistema deverá calcular o percentual de mercadorias pendentes de conferência, da seguinte forma:
    (((Quantidade de itens separados - Quantidade de itens que já foram conferidos) x 100) / (Quantidade de itens solicitados - Quantidade de itens que já foram conferidos))

WMS6325 - Solicitação de Carga

  • Criar 4 novos campos na pasta Dados Complementares, na qual serão apresentados os status dos seguintes processos: Separação, Conferência, Pesagem e Embarque.

  • Criar 3 novos campos na pasta Dados Complementares, para que seja informado se permite executar paralelamente a expedição ou não. Ao incluir uma Solicitação de Carga, o sistema deverá carregar os valores padrão cadastrados no Contrato do depositante. Após confirmar a inclusão da Solicitação de Carga, esses campos deverão ser armazenados na tabela wms_solicitacao_carga_mestre.

Função wms6325_carrega_status_processos()

  • Função responsável por carregar o status de cada processo de expedição.

  • Receberá: Empresa, Solicitação de Carga, Sequencial do item e Modo de exibição.

  • Retornará: status (TRUE ou FALSE).

  • Observação: Essa função deverá estar preparada para receber o campo Sequencial do Item; caso a informação não seja enviada, deverá ser considerado todos os itens da solicitação de carga.

  • Durante o processamento dessa função, o sistema deverá consultar o percentual de execução de cada etapa da expedição:

 

Nota
titleNão terá cálculo de percentual
  1. Se a situação da solicitação de carga for igual a: A, B, C, D, I, L, M, O; não será realizado nenhum cálculo, pois nenhum dos processos foi executado:
    1.  O sistema deverá considerar o status dos processos de separação e embarque; igual a 0% (Não iniciado).
    2. Para o processo de conferência, o sistema deverá verificar se a solicitação possui controle granel ou não (wmsr118_verifica_sc_granel):
      1. Se for granel, deverá ser considerado o o status da conferência igual a -%, exibindo a cor cinza conforme o protótipo 1.
      2. Se não for granel, deverá ser considerado o status da conferência igual a 0% (Não iniciado).
    3. Para o processo de pesagem, o sistema deverá verificar se a solicitação possui controle granel ou não (wmsr118_verifica_sc_granel):
      1. Se for granel, deverá ser considerado o status da pesagem igual a -%, exibindo a cor cinza conforme o Protótipo 1.
      2. Se não for granel, o sistema deverá verificar se o depositante possui essa etapa configurada:
        1. Se possuir, deverá ser considerado o status da pesagem igual a 0% (Não iniciado), retornando para a função de origem.
        2. Se não possuir, deverá ser considerado o status da pesagem igual a -%, exibindo a cor cinza conforme o protótipo 1, retornando para a função de origem.
  2. Se a situação da solicitação de carga for igual a: 1, 2, 3, 4, U, R, E; não será realizado nenhum cálculo, pois os processos já foram concluídos:
    1. O sistema deverá considerar o status dos processos de separação e embarque; igual a 100% (Concluído).
    2. Para o processo de conferência, o sistema deverá verificar se a solicitação possui controle granel ou não (wmsr118_verifica_sc_granel):
      1. Se for granel, deverá ser considerado o o status da conferência igual a -%, exibindo a cor cinza conforme o Protótipo 1.
      2. Se não for granel, deverá ser considerado o status da conferência igual a 100% (Concluído).
    3. Para o processo de pesagem, o sistema deverá verificar se a solicitação possui controle granel ou não (wmsr118_verifica_sc_granel):
      1. Se for granel, deverá ser considerado o o status da pesagem igual a -%, exibindo a cor cinza conforme o Protótipo 1.
      2. Se não for granel, o sistema deverá verificar se o depositante possui essa etapa configurada:
        1. Se possuir, deverá ser considerado o status da pesagem igual a 100% (Concluído), retornando para a função de origem.
        2. Se não possuir, deverá ser considerado o status da pesagem igual a -%, exibindo a cor cinza conforme o Protótipo 1, retornando para a função de origem.

 

    1. Se a situação da solicitação de carga for igual a S, o sistema deverá realizar a seguinte pesquisa (Separação):

      1. Consultar a quantidade total de itens que devem ser separados:

        1. Se a Solicitação de Carga possuir controle de granel:

          1. Se o documento for mestre:

            Bloco de código
            languagejs
            titleSQL - Granel mestre
            collapsetrue
            SELECT SUM(wms_solicitacao_carga_item.qtd_solicitada)
              FROM wms_expedicao_granel
                  ,wms_expedicao_granel_veiculo
                  ,wms_solicitacao_carga_item
             WHERE wms_expedicao_granel.empresa = [empresa]
               AND wms_expedicao_granel.solicitacao_carga = [Solicitação de carga] 
               AND wms_expedicao_granel_veiculo.empresa = wms_expedicao_granel.empresa
               AND wms_expedicao_granel_veiculo.transacao_expedicao_granel = wms_expedicao_granel.transacao_expedicao_granel
               AND wms_solicitacao_carga_item.empresa = wms_expedicao_granel_veiculo.empresa
               AND wms_solicitacao_carga_item.trans_solicitacao_carga_mestre = wms_expedicao_granel_veiculo.solicitacao_carga_liberacao
          2. Se o documento for filho:

            Bloco de código
            languagejs
            titleSQL - Granel filho
            collapsetrue
            SELECT SUM(wms_solicitacao_carga_item.qtd_solicitada)
              FROM wms_expedicao_granel_veiculo
                  ,wms_solicitacao_carga_item
             WHERE wms_expedicao_granel_veiculo.empresa = [empresa]
               AND wms_expedicao_granel_veiculo.solicitacao_carga_liberacao = [Solicitação de carga] 
               AND wms_solicitacao_carga_item.empresa = wms_expedicao_granel_veiculo.empresa
               AND wms_solicitacao_carga_item.trans_solicitacao_carga_mestre = wms_expedicao_granel_veiculo.solicitacao_carga_liberacao
        2. Se a Solicitação de Carga não possuir controle de granel:

          Bloco de código
          languagejs
          titleSQL - Quantidade de itens que devem ser separados.
          collapsetrue
          SELECT SUM(wms_solicitacao_carga_item.qtd_solicitada)
            FROM wms_solicitacao_carga_item
           WHERE wms_solicitacao_carga_item.empresa = [empresa]
             AND wms_solicitacao_carga_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
             AND wms_solicitacao_carga_item.sit_item <> ‘C’
      2. Consultar a quantidade de itens que foram separados:
        1. Se a Solicitação de Carga possuir controle de granel:

          1. Se o documento for mestre:

            Bloco de código
            languagejs
            titleSQL - Granel mestre
            collapsetrue
            SELECT SUM(wms_expedicao_granel_endereco.qtd_real_separacao)
              FROM wms_expedicao_granel
                  ,wms_expedicao_granel_veiculo
                  ,wms_expedicao_granel_endereco 
             WHERE wms_expedicao_granel.empresa = [empresa]
               AND wms_expedicao_granel.solicitacao_carga = [Solicitação de carga] 
               AND wms_expedicao_granel_veiculo.empresa = wms_expedicao_granel.empresa
               AND wms_expedicao_granel_veiculo.transacao_expedicao_granel = wms_expedicao_granel.transacao_expedicao_granel
               AND wms_expedicao_granel_endereco .empresa = wms_expedicao_granel_veiculo.empresa
               AND wms_expedicao_granel_endereco .trans_expedicao_granel_veiculo= wms_expedicao_granel_veiculo.trans_expedicao_granel_veiculo
            
          2. Se o documento for filho:

            Bloco de código
            languagejs
            titleSQL - Granel filho
            collapsetrue
            SELECT SUM(wms_expedicao_granel_endereco.qtd_real_separacao)
              FROM wms_expedicao_granel_veiculo
                  ,wms_expedicao_granel_endereco 
             WHERE wms_expedicao_granel_veiculo.empresa = [empresa]
               AND wms_expedicao_granel_veiculo.solicitacao_carga_liberacao = [Solicitação de carga] 
               AND wms_expedicao_granel_endereco .empresa = wms_expedicao_granel_veiculo.empresa
               AND wms_expedicao_granel_endereco .trans_expedicao_granel_veiculo= wms_expedicao_granel_veiculo.trans_expedicao_granel_veiculo
        2. Se a Solicitação de Carga não possuir controle de granel:

          Bloco de código
          languagejs
          titleSQL - Quantidade de itens que já foram separados.
          collapsetrue
          SELECT SUM(estoque_loc_reser.qtd_reservada)
            FROM wms_solic_carga_item_reserva
                ,wms_item_onda_plano
                ,estoque_loc_reser
                ,wms_processo_moviment
           WHERE wms_solic_carga_item_reserva.empresa = [empresa]
             AND wms_solic_carga_item_reserva.trans_solicitacao_carga_mestre = [Solicitação de carga]
             AND wms_item_onda_plano.empresa = wms_solic_carga_item_reserva.empresa 
             AND wms_item_onda_plano.reserva = wms_solic_carga_item_reserva.reserva 
             AND estoque_loc_reser.cod_empresa = wms_item_onda_plano.empresa
             AND estoque_loc_reser.num_reserva = wms_item_onda_plano.reserva
             AND wms_processo_moviment.empresa = wms_item_onda_plano.empresa
             AND wms_processo_moviment.processo_moviment = wms_item_onda_plano.processo_moviment
             AND wms_processo_moviment.tip_processo_moviment = 'C'
             AND wms_processo_moviment.sit_processo_moviment = 'FI'
      3. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos separados.

    2. Caso a situação seja igual a: F, P, Q, V, X, N, Z; o sistema deverá considerar o status da separação igual a 100% (Concluído).
    3. Se a situação da solicitação de carga for igual a S ou F, deverá ser verificado se o documento possui controle de granel:
      1. Se controlar granel, deverá ser considerado o o status da conferência igual a -%, exibindo a cor cinza conforme o Protótipo 1.
      2. Se não controlar granel, o sistema deverá realizar a seguinte pesquisa (Conferência):
        1. Utilizar a mesma quantidade consultada no item 1.A.
        2. Consultar a quantidade de itens que já foram conferidos:
          1. Bloco de código
            languagejs
            titleSQL - Quantidade de itens que já foram conferidos.
            collapsetrue
            SELECT SUM(wms_conferencia_separacao_item.qtd_conferida)
              FROM wms_conferencia_separacao_item
             WHERE wms_conferencia_separacao_item.empresa = [empresa]
               AND wms_conferencia_separacao_item.trans_solicitacao_carga_mestre = [Solicitação de carga]
               AND wms_conferencia_separacao_item.sequencial_conferencia = (SELECT MAX(wms_conferencia_separacao.sequencial_conferencia)
                                                                              FROM wms_conferencia_separacao 
                                                                             WHERE wms_conferencia_separacao.empresa = [empresa]
                                                                               AND wms_conferencia_separacao.trans_solicitacao_carga_mestre = [Solicitação de carga])
        3. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos conferidos.

    4. Caso a situação seja igual a: P, Q, V, X, N, Z; o sistema deverá considerar o status da conferência igual a 100% (Concluído).

    5. Se a situação da solicitação de carga for igual a: S, F, P;  deverá ser verificado se o documento possui controle de granel:

      1. Se controlar granel, deverá ser considerado o status da pesagem igual a -%, exibindo a cor cinza conforme Protótipo 1.
      2. Se não controlar granel, o sistema deverá realizar a seguinte pesquisa (Pesagem):
        1. Verificar se na tabela wms_pesagem, possui registro para a solicitação de carga consultada:
          1. Se tiver, o sistema deverá executar o item B, C e D.
          2. Se não tiver, o sistema deverá apresentar o seguinte valor -%, exibindo a cor cinza conforme Protótipo 1, passando para o item 7.
        2. Utilizar a mesma quantidade consultada no item 1.A.
        3. Consultar a quantidade de itens que foram pesados:
          1. Bloco de código
            languagejs
            titleSQL - Quantidade de itens que já foram pesados.
            collapsetrue
            SELECT SUM(wms_volume_item_exped.qtd_item)
              FROM wms_volume_exped 
                  ,wms_volume_item_exped
             WHERE wms_volume_exped.empresa = [empresa]
               AND wms_volume_exped.trans_solicitacao_carga_mestre = [Solicitação de carga]
               AND wms_volume_exped.peso_balanca IS NOT NULL
               AND wms_volume_item_exped.empresa = wms_volume_exped.empresa
               AND wms_volume_item_exped.volume_exped = wms_volume_exped.volume_exped
        4. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos pesados.

    6. Caso a situação seja igual a: Q, V, X, N, Z; o sistema deverá considerar o status da pesagem igual a 100% (Concluído).
    7. Se a situação da solicitação de carga for igual a: S, F, P, Q, V, X, N, Z; deverá ser verificado se o documento possui controle de granel:
      1. Se controlar granel, deverá ser considerado o o status do embarque igual ao status da separação.
      2. Se não controlar granel, o sistema deverá realizar a seguinte pesquisa (Embarque):
        1. Utilizar a mesma quantidade consultada no item 1.A.
        2. Consultar a quantidade de itens que já foram embarcados:
          1. Bloco de código
            languagejs
            titleSQL - Quantidade de itens que já foram embarcados (Volume).
            collapsetrue
            SELECT SUM(wms_volume_item_exped.qtd_item)
              FROM wms_volume_exped
                  ,wms_volume_item_exped
                  ,wms_processo_moviment
             WHERE wms_volume_exped.empresa = [empresa]
               AND wms_volume_exped.trans_solicitacao_carga_mestre = [Solicitação de carga]
               AND wms_volume_exped.volume_palete IS NULL
               AND wms_processo_moviment.empresa = wms_volume_exped.empresa
               AND wms_processo_moviment.volume_exped = wms_volume_exped.volume_exped
               AND wms_processo_moviment.tip_processo_moviment = 'E'
               AND wms_processo_moviment.sit_processo_moviment = 'FI'
               AND wms_volume_item_exped.empresa = wms_volume_exped.empresa
               AND wms_volume_item_exped.volume_exped = wms_volume_exped.volume_exped
          2. Bloco de código
            languagejs
            titleSQL - Quantidade de itens que já foram embarcados (Palete).
            collapsetrue
            SELECT SUM(wms_volume_item_exped.qtd_item)
              FROM wms_volume_palete,wms_volume_exped
                  ,wms_volume_item_exped
                  ,wms_processo_moviment
             WHERE wms_volume_palete.empresa = [empresa]
               AND wms_volume_palete.trans_solicitacao_carga_mestre = [Solicitação de carga]
               AND wms_volume_exped.empresa = wms_volume_palete.empresa
               AND wms_volume_exped.trans_solicitacao_carga_mestre = wms_volume_palete.trans_solicitacao_carga_mestre
               AND wms_volume_exped.volume_palete = wms_volume_palete.volume_palete
               AND wms_volume_item_exped.empresa = wms_volume_exped.empresa
               AND wms_volume_item_exped.volume_exped = wms_volume_exped.volume_exped
               AND wms_processo_moviment.empresa = wms_volume_exped.empresa
               AND wms_processo_moviment.volume_exped = wms_volume_exped.volume_exped
               AND wms_processo_moviment.tip_processo_moviment = 'E'
               AND wms_processo_moviment.sit_processo_moviment = 'FI'
        3. Após consultar os dois valores, o sistema deverá calcular o percentual de produtos embarcados.

Função wms6325_exibe_dados()

  • Função responsável por carregar as variáveis e apresentar os seus valores em tela, durante a pesquisa da Solicitação de Carga.

  • Ao final desta função, o sistema deverá chamar a função wms6325_carrega_status_processos, para que as situações da Solicitação de Carga sejam carregadas.

WMS60013 - Contrato do Depositante

  • Alterar a descrição da opção Pesagem para Expedição-Pesagem.

  • Na cópia do Contrato do depositante (WMS60030), prever a inclusão destes novos parâmetros para o depositante destino.

WMS60018 - Contrato - Expedição - Separação/Conferência

  • Criar um novo campo, que permita indicar qual o valor padrão para o parâmetro: Permite conferir antes de finalizar a separação?.

  • Este campo deverá ser armazenado na tabela wms_parametro_complementar, onde será carregado automaticamente na inclusão de uma Solicitação de Carga, na rotina WMS6325.

WMS60029 - Contrato - Expedição - Pesagem

  • Criar um novo campo, que permita indicar qual o valor padrão para o parâmetro: Permite pesar antes de finalizar a conferência?.

  • Este campo deverá ser armazenado na tabela wms_parametro_complementar, onde será carregado automaticamente na inclusão de uma Solicitação de Carga, na rotina WMS6325.

WMS60019 - Contrato - Expedição - Embarque/Fiscal

  • Criar um novo campo, que permita indicar qual o valor padrão, para o parâmetro: Permite embarcar antes de finalizar conf/pesagem?.

  • Este campo deverá ser armazenado na tabela wms_parametro_complementar, onde será carregado automaticamente na inclusão de uma Solicitação de Carga, na rotina WMS6325.

WMS6242 - Conferência de Expedição - Coletor de Dados

  • Alterar o campo que apresenta o documento pendente de conferência de expedição, para que seja exibido o percentual de estoque disponível para conferir, conforme o Protótipo 02.

Função wms6242_tela_inicial()

  • Função responsável por apresentar a tela principal da rotina de conferência via coletor de dados.
  • No inicio dessa função, o sistema deverá pesquisar o valor do parâmetro Exibe o percentual disponível para a conferência?, armazenando essa informação em uma variável modular.

Função wms6242_carrega_solicitacao_carga()

  • Função responsável por carregar os documentos pendentes de conferência da expedição.

  • Ao montar o cursor cq_conferencias deverá ser verificado se o parâmetro Permite iniciar a conferência antes de finalizar a separação? está ativo.

  • Durante a execução do cursor cq_conferencias, o sistema deverá chamar a função wmsr136_calcula_percentual_disponivel_conferencia.

  • Se o parâmetro Exibe o percentual disponível para a conferência? estiver habilitado será retornado o percentual de estoque disponível para conferir.

  • Este percentual deverá ser armazenado em uma tabela temporária, para que seja realizada uma ordenação dos documentos pelo seu percentual, da mesma forma como é realizado na rotina WMS6214:

  1. Se estiver, além de buscar as Solicitações de Carga com a situação em Conferência (F), o sistema deverá encontrar documentos com a situação em Separação (S), caso o documento possua itens que não foram conferidos.
  2. Se não estiver, deverá continuar com o processamento padrão.
  • Ao executar a função DISPLAY ARRAY dos documentos pendentes, o sistema deverá verificar o valor do parâmetro Exibe o percentual disponível para a conferência?:

  1. Se estiver igual a N, o sistema não deverá realizar a ordenação e nem apresentar o percentual calculado.
  2. Se estiver igual a S, o sistema deverá ordenar os documentos, apresentando o percentual de estoque disponível para conferir.

WMS6258 - Conferência de Expedição - Desktop

  • Criar um novo campo na tela principal, que apresente o percentual de estoque disponível para conferir, conforme Protótipo 03.

Função wms6258_before_menu()

  • Função responsável por inicializar as variáveis antes da execução da rotina.

  • No fim desta função, o sistema deverá pesquisar o valor do parâmetro Exibe o percentual disponível para a conferência?, armazenando essa informação em uma variável modular.

Função wms6258_carrega_solicitacao_carga()

  • Função responsável por carregar os documentos pendentes de conferência da expedição.

  • Ao montar o cursor cq_conferencias, deverá ser verificado se o parâmetro Permite iniciar a conferência antes de finalizar a separação? está ativo.

  • Durante a execução do cursor cq_conferencias, o sistema deverá chamar a função wmsr136_calcula_percentual_disponivel_conferencia, se o parâmetro Exibe o percentual disponível para a conferência? estiver habilitado, onde será retornado o percentual de estoque disponível para conferir. Este percentual deverá ser armazenado em uma tabela temporária, para que seja realizada uma ordenação dos documentos pelo seu percentual, da mesma forma como é realizado na rotina WMS6214.

    1. Se estiver, além de buscar solicitações de carga com a situação em conferência (F), o sistema deverá encontrar documentos com a situação em separação (S), caso o documento possua itens que não foram conferidos.
    2. Se não estiver, deverá continuar com o processamento padrão.
  • Ao executar a função DISPLAY ARRAY dos documentos pendentes, o sistema deverá verificar o valor do parâmetro Exibe o percentual disponível para a conferência?:

    1. Se estiver igual a N, o sistema não deverá realizar a ordenação e nem apresentar o percentual calculado.

    2. Se estiver igual a S, o sistema deverá ordenar os documentos, apresentando o percentual de estoque disponível para conferir.

 

Protótipo de Tela

Protótipo 01

  •  Tela principal da Solicitação de Carga, onde será apresentado o status de cada processo de expedição.

 

Image Added

Protótipo 02

  •  Tela principal da conferência de expedição via coletor de dados, onde será apresentado o percentual de mercadorias disponíveis para conferir, se o parâmetro no LOG00086 estiver ativo.

 

Image Added

Protótipo 03

  •  Tela principal da conferência de expedição via desktop, onde será apresentado o percentual de mercadorias disponíveis para conferir, se o parâmetro no LOG00086 estiver ativo.

 

Image Added

Protótipo 04

  •  Tela principal do Contrato do depositante, na qual será incluída a descrição Expedição na opção Pesagem.

 

Image Added

Protótipo 05

  • Tela do Contrato, opção Expedição - Separação/Conferência, onde será incluído o campo: Permite conferir antes de finalizar a separação?.


Image Added

Protótipo 06

  • Tela do Contrato, opção Expedição - Pesagem, onde será incluído o campo: Permite pesar antes de finalizar a conferência?.

 

Image Added

Protótipo 07

  • Tela do Contrato, opção Expedição - Embarque/Fiscal, onde será incluído o campo: Permite embarcar antes de finalizar a conf/pesagem?.

 

Image Added


Dicionário de Dados


Image Added

 

(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.