Rotina 3713:
Rotina deve validar se o usuário tem a permissão de acesso ‘Validar liberação da OS para movimentação’, caso tenha então deverá validar se a OS já foi liberada para movimentação.(PCMOVENDPEND.DATALIBERACAO), caso essa OS ainda não tenha sido liberada então deve mostrar a mensagem abaixo e voltar para tela solicitando o número da UMA:
‘O.S. não está liberada!
Na dúvida consulte seu gestor.’
Rotina deve validar se o usuário tem a permissão de acesso ‘Permitir mudar o endereço destino’, onde ao após a leitura da UMA e confirmação do produto, caso o usuário informe endereço diferente do solicitado, então deverá mostrar a mensagem abaixo:
‘Endereço diferente do solicitado.
Alocar o produto nesse endereço?’
Onde para essa situação deverá validar se o endereço está ocupado por produto diferente da OS atual e se trabalha com endereço exclusivo, caso trabalhe então emitir a mensagem abaixo:
‘Endereço diferente do solicitado e ocupado,
não é permitido alocar nesse endereço.’
Com as permissões para alocar o produto em outro endereço, e caso não trabalhe com endereço exclusivo, a rotina deverá validar se o endereço destino está ocupado com produto diferente do que está sendo movimentado na OS, caso esteja então deverá apresentar a mensagem abaixo:
'Endereço diferente do solicitado.
Endereço ocupado.
Confirma nesse endereço?’
Para todas as opções em que o usuário altera o endereço destino deverá gravar o log da alteração com os dados: Data, UMA, OS, End destino original, End destino alterado, codprod, qt, e codfuncos.
Ao entrar na rotina ela deve validar se o usuário tem a permissão ‘Permitir visualizar UMA liberada’, caso tenha então deverá mostrar na tela principal o botão ‘UMA pendente’ ao clicar nesse botão deve validar a permissão ‘Validar liberação da OS para movimentação’, caso tenha essa permissão então mostrar nessa nova grid todas as UMA que esteja liberada para movimentação (PCMOVENDPEND.DTLIBERACAO), caso contrário, todas as UMA que estejam geradas e ainda não foram iniciadas e que ainda estejam pendentes, onde nessa nova grid deverá mostrar: Num.O.S., Tipo O.S. e Box (validar o perfil do usuário, e mostrar somente as OS que ele pode executar).
Rotina 3714:
- Rotina deve validar a permissão ‘Confirmar endereço quando destino for loja’, caso o usuário tenha essa permissão então deverá solicitar o código do endereço no destino como faz atualmente, considerando até se o usuário tem a permissão de já trazer preenchido o endereço destino, caso contrário o campo de endereço destino deve trazer o endereço da loja e não permitir editar.
- Ao realizar uma transferência onde o endereço destino for para um endereço de loja e o usuário não tenha a permissão ‘Confirmar endereço quando destino for loja’, então não deverá solicitar endereço de destino, e a tela de destino deverá mostrar todos os endereços de loja que esse produto possui, conforme cadastro da 1701, onde o usuário irá selecionar na grid onde está deixando o produto, e ao selecionar esse endereço deve solicitar a quantidade deixada, onde essa quantidade não pode ser maior que o coletado, mas o coletado poderá ser distribuído entre todos os endereços de loja do produto, também considerar produto de peso variável. Na grid do destino deve mostrar os seguintes dados: Dep, rua, pred, apto, Tipo (no Tipo deve colocar a descrição do tipo de endereço, conforme rotina 1718). E após confirmar o endereço a rotina deve gerar uma transferência da quantidade para o endereço selecionado, caso ele não seja o endereço destino gerado pelo abastecimento.
Rotina 3714:
- Validar na rotina 1795 o parâmetro ‘Considerar estoque loja para abastecimento’, onde caso esteja marcado, então deverá usar o estoque dos endereços onde o tipo de endereço esteja marcado como ‘Endereço loja’. Caso contrário então o estoque de endereços da loja não deverá ser considerado para abastecimento.
Rotina 3709:
- Validar as novas permissões de acesso, caso o usuário tenha as duas permissões de acesso a primeira tela da rotina deverá ser 2 botões ‘Por Produto’ e ‘Por UMA’, onde o usuário irá selecionar uma das opções para coletar o produto na origem.
- Caso o usuário tenha somente a permissão ‘Transferir por produto’ então deverá cair direto na tela atual, sem abrir a tela com os 2 botões iniciais.
- Caso o usuário tenha somente a permissão ‘Transferir por UMA’ ao abrir a rotina deve cair na tela onde ao invés de solicitar o produto deve solicitar a UMA, e se for coletado em um endereço aéreo que tenha mais de um produto deverá trazer a mensagem na tela: “Endereço com mais produtos, deseja coletar todos?”, caso o usuário opte pela opção ‘Sim’ então a rotina deverá gerar a retirada de todos os itens que estão no endereço, caso opte pela opção ‘Não’ então levar para transferência somente o produto referente a UMA bipada.
- Ao coletar todos os produtos pela opção UMA, através do botão ‘Lista’ onde mostra todos os produtos coletados, o usuário irá selecionar o produto desejado e caso seja um produto que tenha endereços de loja então ao selecionar o produto, onde atualmente está o botão ‘Processar’, irá mostrar o botão ‘Loja’, e ao clicar nesse botão deverá mostrar em uma nova tela todos os endereços de loja cadastrado para o produto na 1701, Dep, rua, pred, apto, Tipo (no Tipo deve colocar a descrição do tipo de endereço, conforme rotina 1718), onde o usuário irá selecionar para qual dos endereços deseja levar o produto, e ao selecionar o endereço de loja desejado a rotina deverá solicitar ao usuário confirmar o produto e a quantidade que deseja levar, trazendo no campo de quantidade o total que ainda precisa ser transferido já preenchido, e o usuário poderá alterar a quantidade, que sempre precisa ser igual ou menor ao da quantidade coletada nos endereços de origem. Caso não trabalhe com endereços de loja, segue a regra atual. Vale lembrar que um produto coletado na origem pode ser levado para mais de um endereço de loja destino, então ao confirmar uma quantidade em um endereço onde essa quantidade não é o total coletado a rotina deverá voltar para tela que mostra os endereços do produto para que seja direcionado a quantidade restante para outro endereço, inclusive ele pode selecionar novamente um endereço que já foi selecionado.