Embalar pedidos
Um associado à loja deverá ser capaz de empacotar os produtos que forem selecionados em estoque e que estiverem prontos para embalagem ou que estiverem parcialmente embalados.
Solução
A seção a seguir descreve as APIs, as saídas de usuário, os serviços e outros componentes.
- Portlet de Pedidos de Pacote
- No portlet Empacotar Pedidos, um associado à
loja pode iniciar o processo de embalagem nas seguintes maneiras:
- O associado da loja pode clicar na contagem Em Andamento para visualizar remessas que estão no status
Embalagem em Andamento
. Da mesma forma, clicar na contagemNão Iniciado
exibe as remessas que estão no statusPronto para embalagem
. Como alternativa, o associado à loja pode clicar na contagem exibida no centro do portlet para visualizar a lista completa de remessas a serem empacotadas. Em todos os cenários, a tela Lista de ordem de pacote é exibida - Um associado à loja também pode varrer ou inserir o ID do produto para iniciar o processo de
embalagem. A API
translatebar codeé chamada para converter o código de barras do produto em ID do produto. Como alternativa, um associado à loja pode usar a opção Procura avançada para procurar por pedidos ou remessas usando o número do pedido, o número da remessa ou o ID do usuário para remessas designadas a um associado à loja específico. Se a procura resultar em uma única remessa, o associado à loja será levado diretamente para a tela Empacotar pedido. Se a procura resultar em diversos pedidos, a tela Lista de Pedidos de Pacote será exibida com uma lista de pedidos que correspondem aos critérios de procura
A embalagem pode ser executada apenas para remessas no status
Pronto para embalagem
ouEmbalagem em andamento
. Se uma remessa não cumprir com esses critérios, uma mensagem adequada é exibida antes de continuar para a tarefa. A APIgetShipmentListé chamada para validar e recuperar remessas para embalagem.Um associado à loja também pode optar por filtrar as remessas com base na Transportadora e no Status. Além disso, o associado à loja também pode classificar as remessas com base na Data de envio esperada. A API
getShipmentListé chamada para classificar e filtrar as remessas com base nas opções selecionadas.Na tela Lista de Pedidos do Pacote , o associado da loja pode selecionar uma remessa e clicar em Empacotar Pedido ou Continuar Pacote.
- O associado da loja pode clicar na contagem Em Andamento para visualizar remessas que estão no status
- Empacotar Pedido ou Continuar Pacote
- Quando o associado da loja clica em Empacotar pedido, a API
changeShipmentStatusé chamada para mudar o status da remessa dePronto para embalagem
paraEmbalagem em andamento
. A APIchangeShipmenté chamada para designar a remessa ao usuário conectado. A APIgetShipmentDetailsbusca os detalhes da remessa, como o número da remessa, status, local de armazenamento temporário, transações permitidas e assim por diante.Se o associado à loja clicar em Continuar pacote, a remessa será designada ao usuário com login efetuado.
Se a remessa já estiver designada a um associado de loja diferente e o status da remessa for
Empacotamento em andamento
, será solicitado que o associado da loja atual inicie novamente, continue ou cancele. Se o associado da loja escolher iniciar novamente, a APIunpackShipmentserá chamada para remover cada um dos pacotes existentes associados ao pedido. A APIchangeShipmenté chamada para designar a remessa ao usuário conectado.
- Tela do pedido do pacote: painel de produtos
- Na tela Empacotar pedido, a API
getShipmentLineListé chamada para listar os produtos que ainda devem ser empacotados para uma remessa. O painel exibe a contagem dos produtos e cada produto exibe as opções de ID do produto, quantidade embalável, Pacote e Registro de escassez. A APIgetCompleteItemListé chamada internamente para exibir produtos de variação. - Se houver uma escassez para um produto, o associado da Loja poderá clicar em
Registrar Escassez
e selecionar um motivo de escassez apropriado para a quantidade reduzida A APIgetCommonCodeListé chamada como oCodeTypecomoYCD_PACK_SHORT_RESOLpara recuperar os motivos de escassez. Por padrão, apenasEscassez de Inventário
é fornecido como o motivo da escassez Quando o associado à loja clica em OK, a APIrecordShortageForPacké chamada para registrar a escassez para o produto. - O associado à loja pode clicar no ícone de informações em um produto para visualizar as instruções de embalagem.
- Na tela Empacotar pedido, a API
- Tela do pedido do pacote: painel dos pacotes
- A API
getShipmentContainerListé chamada para exibir a contagem de pacotes, a lista de pacotes para o carregamento e o pacote atual. Se a remessa não tiver nenhum pacote, a APIgenerateSCMserá chamada para gerarSCMe criar um contêiner de rascunho. - Após incluir produtos no contêiner de rascunho, um associado à loja poderá optar por incluir o restante dos
produtos em novos pacotes. Quando o associado da loja clica em Incluir pacote, a API
generateSCMé chamada para gerarSCMe o novo pacote é considerado como o pacote atual Esta API é usada para pintar a lista de pacotes/contêineres na remessa. Esta API é chamada em múltiplos locais para obter a lista atualizada de contêineres após uma ação específica ser feita na tela
- O associado à loja pode varrer os produtos ou inserir o ID do produto manualmente para incluir os
produtos em um pacote. Se o produto varrido não pertencer à remessa ou o código de barras for inválido, uma mensagem de erro apropriada será exibida A API
registerbar codeForPackingvalida se o produto varrido faz parte da remessa e tem quantidade empacotada ou não.. Se sim, o produto é incluído no contêiner atualmente selecionado. Aregisterbar codeForPackingAPI chama internamente as APIstranslatebar codechangeShipmente. Atranslatebar codeAPI traduz o código de barras para detalhes do produto. A APIchangeShipmentatualiza os detalhes do pacote usandoSCMpara um novo pacote eShipmentContainerKeypara um pacote existente. - Durante a embalagem, o associado à loja pode varrer um produto uma vez e optar por atualizar a
quantidade restante manualmente inserindo a quantidade ou usando os botões + e
-. Se uma quantidade inválida for inserida no campo de quantidade, uma mensagem de erro
apropriada será exibida. O botão Atualizar é exibido apenas quando uma quantidade válida é inserida ou modificada manualmente.. Quando o associado da loja clicar em Atualizar, a API
changeShipmentserá chamada para atualizar a quantidade do produto no pacote. Da mesma forma, o associado da loja pode repetir o procedimento para empacotar um produto por vez. - O associado da loja pode clicar em Empacotar Todos para empacotar todos os produtos no pacote de uma vez.. A API
changeShipmenté chamada para incluir todos os produtos no pacote atual. No entanto, um associado da loja com as permissões de recursos apropriadas só pode executar essa ação. - Para um determinado pacote, o campo Peso é exibido com a UOM de peso padrão do código de idioma da loja O associado à loja deve inserir o peso de cada pacote. Quando o peso é inserido ou modificado, o associado da loja deve clicar em Atualizar.. A API
changeShipmenté chamada para salvar o peso do pacote.Nota: quando um novo produto é incluído ou removido ou a quantidade de um produto é alterada em um pacote, o peso do pacote é reconfigurado.. - Número de rastreamento e Geração de etiquetas
O botão Gerar Rótulo é exibido para um pacote, somente quando uma transportadora é integrada ao aplicativo Após inserir o peso do pacote e atualizar, o associado da loja pode clicar em Gerar Rótulo. O serviço
StoreContainerLabel_94é chamado que, por sua vez, chama a APIgetTrackingNoAndPrintLabelque se comunica com o servidor da transportadora para recuperar o número de rastreamento e as etiquetas do pacote. Se a APIgetTrackingNoAndPrintLabelretornar o elementoFailedContainers, o número de rastreamento não será gerado para o pacote e uma mensagem apropriada será exibida.Sempre que há uma mudança feita em um contêiner, como inclusão de um novo produto, mudança na quantidade de um produto no contêiner, exclusão do contêiner, atualização do peso e assim por diante, a API
voidTrackingNumberé chamada para anular o número de rastreamento gerado anteriormente. A APIchangeShipmenté chamada para atualizar a remessa para indicar que o processo de empacotamento não está completo.Quando o associado da loja clica em Concluir pacote, a APIgetShipmentContainerListé chamada para recuperar uma lista de pacotes para assegurar que o empacotamento está completo e a saída da API é usada para executar as validações a seguir:- Determine se a remessa é empacotada, não empacotada ou parcialmente empacotada e exiba uma mensagem adequada.
- Determinar se a remessa foi registrada em uma transportadora integrada ou não ao aplicativo.
- Se o número total de pacotes retornados pela API for zero, a
API
changeShipmentStatusserá chamada para mudar o status da remessa paraEmpacotado
e a APIchangeShipmentserá chamada para atualizar os atributos de remessa e marcar o processo de empacotamento como completo.
- O botão Gerar Rótulo não é exibido para um pacote quando a transportadora não está integrada Depois que o
associado da loja inserir o peso para um pacote e salvar as
mudanças, a API
changeShipmentserá chamada para salvar o peso do pacote. Quando o associado da loja clica em Concluir pacote, a APIgetShipmentContainerListé chamada para recuperar uma lista de pacotes para assegurar que o empacotamento está completo e a saída da API é usada para executar as validações a seguir:- Determine se a remessa é empacotada, não empacotada ou parcialmente empacotada e exiba uma mensagem adequada.
- Se o número total de pacotes retornados pela API for zero, a
API
changeShipmentStatusserá chamada para mudar o status da remessa paraEmpacotado
e a APIchangeShipmentserá chamada para atualizar os atributos de remessa e marcar o processo de empacotamento como completo.
- Imprimir Rótulo Novamente: Se o número de rastreamento for gerado e os rótulos de remessa forem impressos com êxito, o botão Gerar Rótulo não será exibido. Em vez disso, um botão Reimprimir rótulo é exibido. Quando o associado da loja clica em Reimprimir rótulo, o serviço
StoreLabelReprint_94é chamado, que por sua vez chama a APIreprintCarrierLabelpara reimprimir os rótulos. - Imprimir Código de Embalagem: Quando o associado da loja clica em Imprimir Código de Embalagem, o serviço
StorePackSlip_173é chamado para imprimir o conteúdo do contêiner atual... - Descompactar: quando o associado da loja clicar no botão Atualizar , um prompt será exibido para confirmar a descompactação. Se o associado
da loja clicar em Sim, a API
unpackShipmentserá chamada para excluir o pacote. O pacote criado mais recentemente é considerado o pacote atual. Se não houver pacotes, um novo pacote será considerado o pacote atual.
A API
getShipmentContainerListé chamada sempre que um associado à loja executa ações, como inclusão e exclusão de pacotes. Além disso, antes de a embalagem ser concluída, a API é chamada para recuperar pacotes que não possuem peso e número de rastreamento, caso a integração de transportadora esteja ativada.Nota: a partir da Liberação 9.4 do aplicativo, as escalas de peso que são conectadas por USB e passam as informações de peso idênticas aos dados inseridos usando um teclado são suportadas. O associado à loja deve se concentrar no campo de ponderação antes do envio das informações de ponderação. Consulte a documentação de escala específica para configurar a saída dos dados de ponderação da escala.
- A API
implementação
- O associado da loja
deverá ter as seguintes permissões de recursos:
- Empacotar pedido: permite que um associado à loja execute o processo de embalagem.
- Desempacotar produtos: permite que um associado à loja desempacote uma remessa.
- Imprimir guia do pacote: permite que um associado à loja imprima a guia de remessa para o pacote atual.
- Empacotar tudo: permite que um associado à loja empacote todos os produtos restantes em uma remessa de uma vez.
- Atualizar manualmente a quantidade ao empacotar: permite que um associado à loja insira manualmente a quantidade do pacote e use os botões + e - para editar a quantidade do pacote.
- Deve-se ativar os tipos de modificação a seguir para remessas no status
Empacotamento em andamento
eEmpacotado
.- Incluir/Remover Contêiner
- Empacotar Remessa
- Excluir Remessa
- Desempacotar Remessa
- Remover Linha
- Alterar Outros Atributos
- Configure
Preferências da transportadora de pacote
apropriadamente. Para obter mais informações, consulte Gerenciar preferências da transportadora de pacotes - Deve-se configurar os indicadores de nível de serviço para pedidos de frete. Para obter mais informações, consulte Configurar indicadores de nível de serviço..
- Deve-se ativar
Integração no nível de pacote
para um serviço da transportadora. Para obter mais informações, consulte Definição de serviços de transportadora para remessas de encomendas. Não se deve alternar entreIntegração no nível de remessa
eIntegração no nível de pacote
, pois o comportamento do recurso muda completamente e não é possível enviar pacotes com sucesso. - É possível configurar as instruções de embalagem em nível de produto ou em nível de linha de remessa. As instruções de embalagem em linha de remessa têm precedência sobre as instruções do produto. O Tipo de Instrução deve ser Empacotar. Se houver várias instruções, a última instrução de embalagem será exibida. Para obter mais informações sobre o gerenciamento de instruções, consulte IBM Visão geral da administração de itens do Sterling Business Center.
- Configure
Empacotar resoluções de escassez da remessa
apropriadamente. Por padrão, aEscassez de inventário
está disponível como a resolução de escassez para a organização padrão. Se você desejar usar a mesma resolução de escassez para uma nova empresa, deverá herdar as propriedades da organização padrão ou usar os valores a seguir para criar resoluções de escassez usando o Sterling Business Center.- Escassez de Inventário
- Resolução de Escassez: inventoryShortage
- Nome da Resolução de Escassez: Escassez de Inventário
- Escassez de Inventário
- Os seguintes serviços de impressão são fornecidos por padrão:
- O serviço
StorePackSlip_173usa os modelosStorePackSlip_173_multiApi.xsl.sampleeStorePackSlip_173_output.xsl.samplepara imprimir guias do pacote. - O serviço
StoreContainerLabel_94usa os modelosStoreContainerLabel_94_input.xsl.sampleeStoreContainerLabel_94_output.xsl.samplepara imprimir etiquetas de remessa. - O serviço
StoreLabelReprint_94usa os modelosStoreLabelReprint_94_input.xsl.sampleeStoreLabelReprint_94_output.xsl.samplepara reimprimir as etiquetas de remessa.
A entrada ou API multi XSLs são usadas para chamar várias APIs que recuperam as informações a serem impressas, enquanto as saídas XSLs são usadas para formatar a saída de API como conteúdo HTML. Os modelos estão presentes no diretório
/template/prints/ycd/xsl/. Os modelos são fornecidos como implementação de amostra e sufixados com.sample. É possível continuar usando os modelos de amostra ou renomeá-los para remover.sampledos nomes de arquivo, e customizá-los conforme necessário. - O serviço
- Para obter informações sobre a integração da transportadora, consulte Definição de serviços de transportadora para remessas de encomendas.
Para implementar a integração da operadora, consulte Integração do servidor da operadora.
Configurando tipos de código de barras
Itempara converter código de barras do produto em ID do produto.Store Outbound Shipment.Usado no portlet de pedidos de pacote para localizar a remessa ou o pedido correspondente O código de barras deve ter as seguintes origens configuradas:Shipment: Serviço externo A origem de validação do código de barras éYCD_Translate_bar code_InboundShipmentOrder: Serviço externo A origem de validação do código de barras éYCD_Translate_bar code_OrderNo
Para obter mais informações sobre as APIs, consulte IBM® Sterling Order Management System: Javadoc™.