Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS OMS

Linha de Produto:

Linha Protheus

Segmento:

Logística

Módulo:SIGAOMS - Gestão de Distribuição
Função:OMSA200 - Montagem de Carga
País:Todos Países
Ticket:-
Requisito/Story/Issue (informe o requisito relacionado) :-


02. DESCRIÇÃO

Este Ponto de Entrada permite manipular a geração de carga para os Pedidos selecionados, possibilitando gerar mais de uma carga com a gama de Pedidos.

03. LOCALIZAÇÃO

Este Ponto de Entrada é acionado após clicar na opção Salvar, localizada na rotina OMSA200 (Montagem de Carga), mais precisamente no momento em que a carga será efetivamente gravada, impactando também na geração de carga via Execauto.

IMPORTANTE!

Após a finalização do processamento, no qual é realizado o refresh da tela de seleção de Pedidos para a montagem de carga, na grade de Cargas constará apenas a última carga gerada. Caso seja  necessário fechar a tela de seleção de Pedidos após as cargas já terem sido geradas, pode ser utilizado o Ponto de Entrada OM200DLG.

O objetivo deste Ponto de Entrada é apenas realizar a quebra de cargas conforme uma regra customizada, prevendo o cálculo correto de volume, peso, quantidades e valores. Caso seja necessário alterar alguma outra informação da carga, deve ser utilizado o Ponto de Entrada OS200DAK.

04. PARÂMETROS

NomeTipoDescrição
aArrayGeraArrayArray de itens de pedido selecionados para a geração da carga.
cVeiculoCaractere

Código do veículo informado para a carga.

cTranspCaractereCódigo da transportadora informada para a carga,

05. RETORNO

NomeTipoDescrição
aCargasArrayArray contendo os Pedidos agrupados por carga, onde cada nível do array representa uma carga e cada subnível desta carga deve constar as informações do Pedido, no mesmo formato do aArrayGera recebido por parâmetro.

06. VERSÕES

Protheus 12.1.23 ou superiores.

07. OBSERVAÇÃO

Não se aplica.

08. EXEMPLO

------

User Function OM200GEC()
Local aArrayGera := PARAMIXB[1] //Array de pedidos
Local cVeiculo := PARAMIXB[2] //Código do veículo
Local cTransp := PARAMIXB[3] //Código da transportadora
Local aPedidos := {}
Local aCargas := {}
Local nI := 0
Local nQtdPedidos := 0

For nI := 1 To Len(aArrayGera) //Percorre o array para realizar as quebras.

aAdd(aPedidos,aArrayGera[nI]) //Cria novo array com os pedidos que formarão uma carga
nQtdPedidos++

If nQtdPedidos == 3 .Or. nI == Len(aArrayGera) //Neste exemplo cada carga poderá conter no máximo 3 pedidos

Aadd(aCargas,{aPedidos}) //Adiciona os pedidos em um subnível do array

nQtdPedidos := 0 //Zera os agrupadores para definir o próximo conjunto de pedidos para a nova carga
aPedidos := {}

EndIf

Next nI

Return aCargas

------