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

Datasul

Módulo

Estoque

Segmento Executor

 

Projeto1

D_MAN_MAT001

IRM1

PCREQ-365

Requisito1

PCREQ-4813

Subtarefa1

PDRMAN-3889

Chamado2

 

Release de Entrega Planejada

12.1.8

Réplica

Não

País

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

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

 

 

 

Objetivo

   

O objetivo desse projeto é converter a tela de Transferência entre Depósitos que hoje existe em tecnologia Flex para HTML, utilizando o novo framework HTML de desenvolvimento Totvs.

 

Definição da Regra de Negócio

 

No produto Datasul é possível realizar a trasferência de saldo(quantidade) de um item, de um depósito de armazenamento para outro. Atualmente esta transferência pode ser efetuada na tela Flex “TransferBetweenWarehousesView” ou na tela Progress “CE0206”. 

Utilizando o framework HTML Totvs desenvolveremos uma nova tela de transferência entre depósitos reaproveitando as fachadas existentes para a tela Flex. 

 

Transferência entre depósitos

A tela de transferência entre depósitos deve ser desenvolvida com base no protótipo abaixo, utilizando separadores para identificar as informações gerais da transação, informações do depósito de origem e destino, e também os valores que serão transferidos.

 

Todas as validações necessárias já estão implementadas nas fachadas Progress que são chamadas pela tela Flex, utilizaremos as mesmas fachadas neste desenvolvimento.

 

 

Diagrama de ação

 

Métodos REST

Para que possamos acessar os métodos das fachadas Flex através de chamadas REST é necessário efetuar algumas alterações na fachada com o objetivo de torna-la visível e disponibilizar seus métodos ao serviço REST.

fchmattransferbetweenwarehouses.p

Para disponibilizar a fachada no DatasulRest é necessário a definição dos pré-processadores abaixo:

&GLOBAL-DEFINE XMLReceiver YES 

&GLOBAL-DEFINE XMLProducer YES

&GLOBAL-DEFINE DYNAMIC-QUERY-ENABLED YES

 

Além destas definições é necessário criar uma procedure de acesso para cada uma das procedures que serão chamadas pela tela HTML, por exemplo:

Procedure existente:

PROCEDURE initializeInterface:

                ...

END PROCEDURE.

Procedure de acesso:

PROCEDURE REST_GET_initializeInterface:

                RUN initializeInterface IN THIS-PROCEDURE.

END PROCEDURE.


Quadro de Eventos

No quadro abaixo estão listados os eventos da tela e as chamadas que cada evento deverá efetuar para a fachada Progress.

Neste quadro quando referenciada a palavra ARRAY, deve ser considerado um objeto array com a mesma definição da temp-table definida na fachada fchmattransferbetweenwarehouses.i.

 

Ação

Chamada

Descrição do retorno

Ao terminar de renderizar a tela

initializeInterface(ARRAY)


setDefaultsTransfer("create", "", ARRAY)

Retorna erro caso não exista registro na tabela param-estoq.

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom de estabelecimento

setDefaultsTransfer("", "cod-estabel", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base no estabelecimento selecionado e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom de Item

setDefaultsTransfer("", "it-codigo", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base no item selecionado e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom do Depósito de Origem

setDefaultsTransfer("", "cod-depos-orig", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base no depósito de origem selecionado e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom da Localização de Origem

setDefaultsTransfer("", "cod-localiz-orig", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base na localização de origem selecionado e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom do Lote de Origem

setDefaultsTransfer("", "lote-orig", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base no Lote de origem selecionado e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair da Data de Validade do Lote de Origem

setDefaultsTransfer("", "dt-vali-lote-orig", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base na Data de Validade do Lote de origem selecionado e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom da Referência de Origem

setDefaultsTransfer("", "cod-refer-orig", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base na Referência de Origem selecionada e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom do Depósito de Destino

setDefaultsTransfer("", "cod-depos-dest", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base no Depósito de Destino selecionado e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom da Localização de Destino

setDefaultsTransfer("", "cod-localiz-dest", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base na Localização de Destino selecionada e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom do Lote de Destino

setDefaultsTransfer("", "lote-dest", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base no Lote de Destino selecionado e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair da Data de Validade do Lote de Destino

setDefaultsTransfer("", "dt-vali-lote-dest", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base na Validade do Lote de Destino selecionada e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom da Referência de Destino

setDefaultsTransfer("", "cod-refer-dest", ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base na Referência de Destino selecionada e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao sair do Zoom da Unidade de Medida

setDefaultsTransfer("", "un" ARRAY)

Retorna a temp-table ttTransferTransactionDefault com os dados padrões da transferência com base na unidade de medida selecionada e a temp-table ttEnableFields com os campos a serem habilitados e desabilitados.

Ao clicar no botão Salvar

createTransfer(ARRAY);

Envia o array digitado para a fachada efetuar a transferência.

Ao clicar no botão Cancelar

 

Sair da tela

 

 


 

 

 

 

 

Estrutura de Menu

Procedimentos

 

Procedimento

 html-mce.transferbetweenwarehouses

Descrição

Transferência Entre Depósitos

Módulo

 MCE

Programa base

 html-mce.transferbetweenwarehouses 

Nome Menu

Transferência Entre Depósitos

Interface

WEB

Registro padrão

Sim

Visualiza Menu

Sim

Release de Liberação

A partir da 12.1.8

 

Programas

 

Programa

 html-mce.transferbetweenwarehouses

Descrição

Transferência Entre Depósitos

Nome Externo

 mce/transferbetweenwarehouses

Nome Menu/Programa

Transferência Entre Depósitos

Nome Verbalizado[1]

Transferência Entre Depósitos

 

Procedimento

 html-mce.transferbetweenwarehouses

Template

Programa HTML

Tipo[2]

Tarefas

Interface

WEB

Categoria[3]

 

Executa via RPC

Não

Registro padrão

Sim

Outro Produto

Não

Visualiza Menu

Sim

Query on-line

Não

Log Exec.

Não

Rotina (EMS)

 Tarefas

Sub-Rotina (EMS)

 Não se aplica

Localização dentro da Sub Rotina (EMS)

 Não se aplica

Compact[4]

Não se aplica

Home[5]

Não se aplica

Posição do Portlet[6]

Não se aplica

Informar os papeis com os quais o programa deve ser vinculado

Não se aplica

 

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


#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))