Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs
SolucaoTOTVS Logística WMS

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoLogística

Módulo:SIGAWMS - Gestão de Armazenagem
Função:WMSV083 - Gerar Pedido Cross Docking
País:BrasilTodos Países
Ticket:10941078-
Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-11826


02. 

...

DESCRIÇÃO

Este Ponto de Entrada permite a manipulação das manipular as informações do pedido Pedido de venda Venda (cabeçalho e itens), antes da inclusão feita efetuada via Cross Docking.

03. LOCALIZAÇÃO

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 da rotina MATA410, para inclusão do registro.

04. PARÂMETROS

NomeTipoDescrição
aPedidoArrayCabeçalho do pedido
aItensArrayItens do pedido

05. RETORNO

Será retornado Serão retornados os mesmos arrays enviados como parâmetro, com os valores manipulados pelo ponto Ponto de entradaEntrada.

O array aPedido será usado utilizado para criação do registro na tabela SC5 e o array aItens será usado para gravar os registros na tabela SC6.

NomeTipoDescrição
aPedidoArrayCabeçalho do pedido
aItensArrayItens do pedido

06. VERSÕES

Protheus 12.1.23 ou superiores.

07. EXEMPLO

...

languagecpp
titleExemplo
linenumberstrue
collapsetrue

...

------

#INCLUDE "PROTHEUS.CH"

...


#INCLUDE

...

"TOTVS.CH"

...

User

...

Function

...

WMV83PED()

...


Local

...

aCabec

...

:=

...

paramixb[1]

...


Local

...

aItens

...

:=

...

paramixb[2]

...


Local

...

cCli

...

:=

...

''

...


Local

...

cLojCli

...

:=

...

''

...


Local

...

nX := 0
Local nInd := 0

/*
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,3,1] = "C6_LOTECTL"
                 nInd := 5
           Else
                 nInd := 3
           EndIf

                           If aItens[nX,nInd,2] >= 10 .And. aItens[nX,nInd+2,2] >= 1000
                                    aItens[nX,nInd+1,2] := aItens[nX,nInd+1,2] * 0.97
                                    aItens[nX,nInd+2,2] := aItens[nX,nInd,2] * aItens[nX,nInd+1,2]
                           EndIf
                Next nX

Return {aCabec, aItens}

------


Templatedocumentos


HTML
<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>