Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
Módulo: | SIGAWMS |
Função: | WMSV083 - Gerar Pedido Cross Docking |
País: | Brasil |
Ticket: | 10941078 |
Requisito/Story/Issue (informe o requisito relacionado) : | DLOGWMSMSP-11826 |
Este Ponto de Entrada permite manipulação das informações do pedido de venda (cabeçalho e itens) antes da inclusão feita via Cross Docking.
Após a pergunta "Confirma geração do pedido de venda a partir da seleção de volumes?" e antes da execução automática do programa MATA410 para inclusão do registro.
Nome | Tipo | Descrição |
---|---|---|
aPedido | Array | Cabeçalho do pedido |
aItens | Array | Itens do pedido |
Será retornado os mesmos arrays enviados como parâmetro, com os valores manipulados pelo ponto de entrada. O array aPedido será usado para criação do registro na tabela SC5 e o array aItens será usado para gravar os registros na tabela SC6.
Nome | Tipo | Descrição |
---|---|---|
aPedido | Array | Cabeçalho do pedido |
aItens | Array | Itens do pedido |
12.1.23 ou superiores.
#INCLUDE "PROTHEUS.CH" #INCLUDE "TOTVS.CH" User Function WMV83PED() Local aCabec := paramixb[1] Local aItens := paramixb[2] Local cCli := '' Local cLojCli := '' Local nX := 1 /* Informações do pedido enviadas no array aCabec Índice / Campo / Valor 1 / "C5_TIPO" / "N" 2 / "C5_CLIENTE" / SA1->A1_COD 3 / "C5_LOJACLI" / SA1->A1_LOJA 4 / "C5_TIPOCLI" / SA1->A1_TIPO 5 / "C5_CLIENT" / SA1->A1_COD 6 / "C5_LOJAENT" / SA1->A1_LOJA 7 / "C5_CONDPAG" / SA1->A1_COND 8 / "C5_TPCARGA" / "2" 9 / "C5_GERAWMS" / "1" Informações do pedido enviadas no array aItens Índice / Campo / Valor 1 / "C6_ITEM" / Sequencial 2 / "C6_PRODUTO" / Código do produto 3 / "C6_LOTECTL" / Lote, se existir 4 / "C6_NUMLOTE" / Sublote, se existir 5 / "C6_QTDVEN" / Quantidade 6 / "C6_PRCVEN" / Valor unitário 7 / "C6_VALOR" / Valor total 8 / "C6_TES" / TES 9 / "C6_SERVIC" / Serviço de separação 10 / "C6_ENDPAD" / Endereço de destino da separação 11 / "C6_LOCAL" / Armazém 12 / "C6_LOCALIZ" / Endereço de origem da separação */ cCli := aCabec[2,2]) cLojCli := aCabec[3,2]) //Se for cliente 000002/02, adiciona informações do cliente de entrega do pedido If cCli = '000002' .And. cLojCli = '01' aAdd(aCabec,{"C5_CLIENT" ,"900002" ,Nil}) aAdd(aCabec,{"C5_LOJAENT" ,"02" ,Nil}) EndIf Se a quantidade vendida for maior que 10 e o total do item ultrapassar 1000 reais, aplica 3% de desconto. For nX := 1 To Len(aItens) If aItens[nX,5,2] >= 10 .And. aItens[nX,7,2] >= 1000 aItens[nX,6,2] := aItens[nX,6,2] * 0.97 aItens[nX,7,2] >= aItens[nX,5,2] * aItens[nX,6,2] EndIf Next nX Return {aCabec, aItens} |
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |