Ir para o conteúdo

Addon - Rotina de Expedição - Faturamento

Esta seção do manual técnico está passando por revisões de conformidade e formatação. Os modelos de dados e procedimentos operacionais estão sendo validados para garantir a precisão das instruções técnicas. O conteúdo completo estará disponível em breve.

01. Visão Geral

1. Visão Geral

Este ADD-ON tem por objetivo aperfeiçoar o Processo de Expedição de mercadorias, permitindo controlar a quantidade de produtos expedidos/separados.

A expedição poderá ser realizada de três formas

  • Por Pedido de Vendas
  • Por Nota Fiscal
  • Por Carga (OMS – Gestão de Distribuição)
02. Menu

2. Menu

Menu Sub Menu Nome da Rotina Programa Módulo Tipo Tabelas
Atualizações Faturamento Expedição * M013A01 Faturamento 03 (Função de Usuário) Selecionar as tabelas informadas nos parâmetros: MV_X013T01 / MV_X013T02 / MV_X013T03
03. Fluxo Operacional

3. Fluxo Operacional

Fluxo Operacional

04. Rotinas personalizadas específicas do Pacote

4. Rotinas personalizadas específicas do Pacote

Funções personalizadas contidas no pacote:

Função Descrição
M999B02 Rotina com funções genéricas do controle de alçadas.
P013A01 Rotina centralizadora para implementação de Pontos de Entrada.
M013A01 Rotina de Expedição
T013A01 Consulta Expedição
R013A01 Relatório Expedição
R013A02 Relatório Resumo Expedição
R013A03 Relatório Pré-separação
R013A04 Relatório de volumes
UPD013A Programa compatibilizador do Dicionário de Dados para aplicação do ADD-ON.
05.Pontos de entradas disponiveis para desenvolvimento

5. Pontos de entradas disponiveis para desenvolvimento

Nome PE013A01
Descrição Ponto de Entrada que permite a manipulação da quantidade a ser expedida.
Executado logo após a leitura ou informação do código do produto.
Não é invocado para produtos pesáveis (código da etiqueta iniciada em ‘2’)
Programa Fonte M013A01
Sintaxe Modifica a quantidade a ser expedida
PARAMIXB[1][1] = Código atual do produto
PARAMIXB[1][2] = Leitura efetuado no Get
Exemplo
ADVPL PE013A01

User Function PE013A01()

Local cCodPro := PARAMIXB
Local nQtde  := 1

If cCodPro = ‘XXXXX’ 
   nQtde := 2
EndIf

Return(nQtde)
Nome PE013A02
Descrição Ponto de Entrada chamado após a leitura da etiqueta.
Permite a manipulação do código do produto.
PARAMIXB[1][1] = Código atual do produto
PARAMIXB[1][2] = Leitura efetuado no Get
Programa Fonte M013A01
Sintaxe PE013A02(PARAMIXB) --> cCodPro
Exemplo
ADVPL PE013A02

User Function PE013A02()

Local cCodPro := PARAMIXB[1][1]
Local cLeitura := PARAMIXB[1][2]

If substr(cLeitura,1,1) == ‘2’
   cCodPro := “XXXXX”
Endif

Return(cCodPro)
Nome PE013A03
Descrição Ponto de Entrada antes do Faturamento do Pedido de Vendas.
Permite manipular dados do Pedido de Vendas.
PARAMIXB[1] = Número do Pedido de Vendas
PARAMIXB[2] = Número do Volume
Programa Fonte M013A01
Sintaxe Alteração no Pedido de Vendas, antes do seu faturamento.
PE013A03(PARAMIXB) --> lRet continua o faturamento.
Exemplo
ADVPL PE013A03

User Function PE013A03()

Local cPedido := PARAMIXB[1]
Local nVolume := PARAMIXB[2] 

dbselectarea("SC5")
SC5->(dbsetorder(1))
SC5->(dbgotop())
if dbseek(xFilial("SC5")+ cPedido )
   reclock(“SC5”,.F.)
   SC5->C5_X_OBS := “TESTE”
   SC5->(msunlock())
endif

Return(lRet)
Nome PE013A04
Descrição Ponto de Entrada quer permite a inclusão de novas opções no menu da rotina de Expedição.
Programa Fonte M013A01
Sintaxe Inclusão de menu
PE013A04() --> nil
Exemplo
ADVPL PE013A04

User Function PE013A04()
aadd( aRotina,{"Exemplo menu" , "U_TESTE()", 0 , 1 ,0,NIL} ) 

Return()
Nome PE013A06
Descrição Ponto de Entrada que permite alterar o código a ser impresso na coluna (código) no Relatório R013A04 – Volumes.
PARAMIXB – Código do Produto
Programa Fonte R013A04
Sintaxe Manipula código a ser impresso
PE013A06(PARAMIXB) --> cCodigo
Exemplo
ADVPL PE013A06

User Function PE013A06()

Local cCodigo := PARAMIXB

dbSelectArea( "SB1" )
SB1->( dbSetOrder( 1 ) )
SB1->( dbGoTop() )
If dbSeek( xFilial("SB1")+ cCodigo )
   cCodigo := SB1->B1_CODBAR
Endif

Return(cCodigo)
Nome PE013A07
Descrição Ponto de Entrada após o fechamento do Volume. Permite por exemplo, criar um relatório personalizado de Volumes, impressão de uma etiqueta, etc.
Se existir, não faz a chamada do relatório padrão R013A04
PARAMIXB = Número do Volume que está sendo fechado
Programa Fonte M013A01
Sintaxe Permite execução de novo relatório no fechamento do volume
PE013A07(PARAMIXB) --> nil
Exemplo
ADVPL PE013A07

User Function PE013A07()

Local nVolume := PARAMIXB[1]

U_RELTESTE(nVolume)

Return()
Nome PE013A08
Descrição Ponto de Entrada após emissão do relatório de Fechamento de Volumes Expedição R013A04.
PARAMIXB = Número do Volume que está sendo fechado
Programa Fonte M013A01
Sintaxe PE013A08(PARAMIXB) --> nil
Exemplo
ADVPL PE013A08

User Function PE013A08()

Local nVolume := PARAMIXB[1]

U_CRFAT01(nVolume) 

Return()
Nome PE013A09
Descrição Ponto de Entrada na rotina RETNUMVL responsável por efetuar o controle da numeração de volumes.
PARAMIXB[1] = Código do Carregamento
PARAMIXB[2] = Tipo:
LAST = Último volume calculado (chamada na alteração)
LAST_ANT = antes de atualizar o Grid de Carregamentos
LAST_DEP = depois de atualizar o Grid de Carregamentos
NEXT = Próximmo volume calculado
PARAMIXB[3] = Número do Volume Atual
PARAMIXB[4] = Objeto Get Dados 1
PARAMIXB[5] = Objeto Get Dados 2
Programa Fonte M013A01
Sintaxe Permite execução de rotinas após emissão do relatório
PE013A09(PARAMIXB) --> nRet (volume)
Exemplo
ADVPL PE013A09

User Function PE013A09()

local cCod     := PARAMIXB[1]
local cTpRet   := PARAMIXB[2]
local nRet     := PARAMIXB[3]
local oGetAux1 := PARAMIXB[4]
local oGetAux2 := PARAMIXB[5]

if nRet == 1
  nRet := 2
endif

Return(nRet)
Nome PE013A10
Descrição Ponto de Entrada após as validações do sistema na leitura da etiqueta. Permite validações personalizadas do cliente.
PARAMIXB[1] = posição atual do GetDados1
PARAMIXB[2] = Objeto Get Dados 1
PARAMIXB[3] = Objeto Get Dados 2
Programa Fonte M013A01
Sintaxe PE013A10(PARAMIXB) --> lRet
Exemplo
ADVPL PE013A10

User Function PE013A10()

local nPosAux  := PARAMIXB[1] //Posição Atual que será atualizada no Grid1
local oGetAux1 := PARAMIXB[2]  
local oGetAux2 := PARAMIXB[3]
local lRet     := .T.

/* VALIDAÇÕES ADIDIONAIS*/

Return(lRet)
Nome PE013A11
Descrição Ponto de Entrada quer permite a alteração das cores do Grid.
PARAMIXB[1] = cOpc

cOpc:
- PENDENTE
- CARREGADOMAIOR
- CARREGADOK

Retorno : nColor exemplo RGB( 64, 224, 208 ) - VERDE
Programa Fonte M013A01
Sintaxe PE013A11(cOpc) --> nColor
Exemplo
ADVPL PE013A11

User Function PE013A11()

Local nColorRet := RGB( 255, 255, 255 ) //Branco
Local cType   := PARAMIXB

Do Case
    Case cType =="PENDENTE"
        nColorRet := RGB( 255, 106, 106 ) //Vermelho
    Case cType =="CARREGADOMAIOR"
        nColorRet := RGB( 100,149,237 ) //CornflowerBlue
    Case cType =="CARREGADOOK"
        nColorRet := RGB( 64,224,208 ) //Verde
EndCase

return nColorRet
Nome PE013A12
Descrição Ponto de Entrada que permite a alteração na posição dos campos no GRID1.

Opção no PARAMIXB[2] = CAB
PARAMIXB[1] = aCmpBrw1
PARAMIXB[2] = CAB

Opção no PARAMIXB[2] = ACOLS
PARAMIXB[1] = aCmpBrw1
PARAMIXB[2] = ACOLS
PARAMIXB[3] = cAliasQry (query com os registros do primeiro grid)
PARAMIXB[4] = cAliasQry1 (query com os registro do segundo grid)

Retorno:
Para CAB – deve retornar um Array com a posição dos campos
Para ACOLS - Null

Observação: Neste exemplo o A1_NOME ficou na primeira posição do GRID1.
Programa Fonte M013A01
Sintaxe PE013A12() --> xRet
Exemplo
ADVPL PE013A12

User Function PE013A10()

Local xRetBrw 
Local xControle := PARAMIXB[1]
Local cValid   := PARAMIXB[2]
Local xAlias
Local i
//Private aCmpBrw1 := {"C9_PEDIDO","C9_ITEM", "C9_PRODUTO", "C6_DESCRI", "C9_LOTECTL", "C9_QTDLIB", "C9_QTDLIB2", "TMP_CQTD", "TMP_CQTD2", "TMP_QTDCX", "A1_NOME", "C9_CLIENTE", "C9_LOJA" } 

If cValid == "CAB"
    xRetBrw := {}
    AADD(xRetBrw,"A1_NOME")
    For i := 1 To Len(xControle)
        If xControle[i] <> "A1_NOME"
            AADD(xRetBrw,xControle[i])
        Endif
    Next i
elseif cValid == "ACOLS"
    xAlias1  := PARAMIXB[3]
    xAlias2  := PARAMIXB[4]
    AADD(oGetDad1:aCols,{&(xAlias1+"->A1_NOME"),;
                        &(xAlias1+"->C9_PEDIDO"),;
                        &(xAlias1+"->C9_ITEM"),;
                        &(xAlias1+"->C9_PRODUTO"),;
                        &(xAlias1+"->C6_DESCRI"),;
                        &(xAlias1+"->C9_LOTECTL"),;
                        &(xAlias1+"->C9_QTDLIB") - &(xAlias2+"->TOTCAR"),;
                        &(xAlias1+"->C9_QTDLIB2")- &(xAlias2+"->TOTCAR2"),; 
                        0,; //Carregado
                        0,; //Carregado2
                        0,; //Embalagem                        
                        &(xAlias1+"->C9_CLIENTE"),;
                        &(xAlias1+"->C9_LOJA"),; 
                        .F.})
Endif

return xRetBrw
Nome PE013A13
Descrição Ponto de Entrada na Alteração e Visualização da Expedição, após o cálculo e atualização dos GRIDS em relação a quantidade já expedida.
PARAMIXB[1] = Objeto Get Dados 1
PARAMIXB[2] = Objeto Get Dados 2
Programa Fonte M013A01
Sintaxe PE013A13() --> Nenhum
Exemplo
ADVPL PE013A13

User Function PE013A13()

local oGetAux1 := PARAMIXB[2]  
local oGetAux2 := PARAMIXB[3]


/* Manipulações oGetDad1, oGetDad2 */

Return()
06.Pontos de entradas padrões

6. Pontos de entradas padrões

Nome Descrição Implementação
M410STTS Ponto de Entrada na inclusão/alteração do Pedido de Vendas. Faturamento
ADVPL M410STTS
  
User Function M410STTS()

If ExistBlock("P013A01")
    U_P013A01("M410STTS")
EndIf

Return()
M460FIM Ponto de Entrada no final da emissão da Nota Fiscal de Saída. Faturamento
ADVPL M460FIM
  
User Function M460FIM()

If ExistBlock("P013A01")
    U_P013A01("M460FIM")
EndIf

Return()
MA410MNU Ponto de Entrada para inclusão de opções de menu no Pedido de Vendas. Faturamento.
ADVPL MA410MNU
  
User Function MA410MNU()

If ExistBlock("P013A01")
    U_P013A01("MA410MNU")
EndIf

Return()
MS520VLD Ponto de Entrada na exclusão da Nota Fiscal de Saída.
ADVPL MS520VLD
  
User Function MS520VLD()

Local lRet := .T.
If ExistBlock("P013A01")
     U_P013A01('MS520VLD')
EndIf

Return(lRet)
MT410ACE Ponto de Entrada executado antes da apresentação da Tela do Pedido de Vendas. Faturamento.
ADVPL MT410ACE
  
User Function MT410ACE()

Local lRet := .T.

If ExistBlock("P013A01")
     U_P013A01(MT410ACE)
EndIf

Return(lRet)
MT410TOK Ponto de Entrada usado para validação total do pedido de venda.
ADVPL MT410TOK
  
User Function MT410TOK()

Local lRet   := .T.

If ExistBlock("P013A01")
    lRet := U_P013A01("MT410TOK", PARAMIXB)
EndIf

Return lRet
M410PVNF Ponto de Entrada executado durante o faturamento do pedido de venda através da rotina MATA410.
ADVPL M410PVNF
  
User Function M410PVNF()

Local lRet := .T.

If ExistBlock("P013A01")
     lRet := U_P013A01("M410PVNF", PARAMIXB)
EndIf

Return(lRet)
SF2520E Ponto de Entrada executado durante a exclusão de notas de saída
ADVPL SF2520E
  
User Function SF2520E()

If ExistBlock("P013A01")
    U_P013A01("SF2520E")
EndIf

Return()
07. Tabelas (SX2)

7. Tabelas (SX2)

Prefixo Descrição Ac. Filial Ac. Unidade Ac. Empresa
ZA2 EXPEDIÇÃO Exclusivo Exclusivo Exclusivo
ZA3 ITENS DA EXPEDIÇÃO Exclusivo Exclusivo Exclusivo
ZA4 Rest. Carga – Pedidos Excluídos Exclusivo Exclusivo Exclusivo
08. Campos (SX3)

7. Campos (SX3)

CampoZA2_FILIAL
Ordem 01
TIPO C
TAMANHO Tamaho padrão da Filial
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Filial
DESCRIÇÃO Filial

Help

Não se aplica.

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório S
Browse S
Campo ZA2_CODIGO
Ordem 02
TIPO C
TAMANHO 9
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Código
DESCRIÇÃO Código

Help

Código da Expedição

Configurações adicionais

Lista Opções -
Inicializador GETSXENUM("ZA2","ZA2_CODIGO")
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório S
Browse S
Campo ZA2_PEDIDO
Ordem 03
TIPO C
TAMANHO 6
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Alterar
TÍTULO Pedido
DESCRIÇÃO Número do Pedido

Help

Número do pedido de vendas.

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição EMPTY(M->ZA2_CARGA).AND.EMPTY(M->ZA2_DOC)
Consulta F3 -
Val Usuário U_GET01301("P")
Usado -
Obrigatório N
Browse S
Campo ZA2_CARGA
Ordem 04
TIPO C
TAMANHO 6
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Alterar
TÍTULO Carga
DESCRIÇÃO Número da Carga

Help

Número da Carga

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição EMPTY(M->ZA2_PEDIDO).AND.EMPTY(M->ZA2_DOC)
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA2_DOC
Ordem 05
TIPO C
TAMANHO 9
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Alterar
TÍTULO Nota Fiscal
DESCRIÇÃO Nota Fiscal

Help

Número da Nota Fiscal

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição EMPTY(M->ZA2_PEDIDO).AND.EMPTY(M->ZA2_CARGA)
Consulta F3 -
Val Usuário U_GET01301("C")
Usado -
Obrigatório N
Browse S
Campo ZA2_SERIE
Ordem 06
TIPO C
TAMANHO 3
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Alterar
TÍTULO Série
DESCRIÇÃO Série da nota fiscal

Help

Número da série da nota fiscal

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição EMPTY(M->ZA2_PEDIDO).AND.EMPTY(M->ZA2_CARGA)
Consulta F3 -
Val Usuário U_GET01301("N")
Usado -
Obrigatório N
Browse S
Campo ZA2_STATUS
Ordem 07
TIPO C
TAMANHO 1
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Status
DESCRIÇÃO Status

Help

Status da expedição

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA2_DATA
Ordem 08
TIPO D
TAMANHO 8
DECIMAL 0
FORMATO -
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Data
DESCRIÇÃO Data Expedição

Help

Data expedição

Configurações adicionais

Lista Opções -
Inicializador DDATABASE
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA2_HORA
Ordem 09
TIPO C
TAMANHO 5
DECIMAL 0
FORMATO 99:99
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Hora
DESCRIÇÃO Hora Expedição

Help

Hora Expedição

Configurações adicionais

Lista Opções -
Inicializador TIME()
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA2_VEICUL
Ordem 10
TIPO C
TAMANHO 8
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Veículo Carga
DESCRIÇÃO Veículo Carga

Help

Veículo Carga

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA2_PESO
Ordem 11
TIPO N
TAMANHO 12
DECIMAL 3
FORMATO @E 99,999,999.999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Peso Carga
DESCRIÇÃO Peso Carga

Help

Peso Carga

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA2_DATAEC
Ordem 12
TIPO D
TAMANHO 8
DECIMAL 0
FORMATO
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Data encerramento
DESCRIÇÃO Data encerramento

Help

Data encerramento Expedição

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA2_HORAEC
Ordem 13
TIPO C
TAMANHO 5
DECIMAL 0
FORMATO 99:99
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Hora encerramento
DESCRIÇÃO Hora encerramento

Help

Hora encerramento Expedição

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA2_CLIENT
Ordem 14
TIPO C
TAMANHO 60
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Cliente
DESCRIÇÃO Cliente

Help

Nome do cliente

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S

Observação

Incluir campos reservados ZA2_USERLGI e ZA2_USERLGA

Campo ZA3_FILIAL
Ordem 01
TIPO C
TAMANHO Tamanho padrão da Filial
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Filial
DESCRIÇÃO Filial

Help

Não se aplica

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório S
Browse S
Campo ZA3_CODIGO
Ordem 02
TIPO C
TAMANHO 9
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Código
DESCRIÇÃO Código

Help

Código da expedição

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório S
Browse S
Campo ZA3_SEQ
Ordem 02
TIPO C
TAMANHO 3
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Sequência
DESCRIÇÃO Sequência

Help

Sequência

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório S
Browse S
Campo ZA3_PEDIDO
Ordem 04
TIPO C
TAMANHO 6
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Pedido
DESCRIÇÃO Número do Pedido

Help

Número do pedido de vendas

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_ITEMPD
Ordem 05
TIPO C
TAMANHO 2
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Item Pedido
DESCRIÇÃO Item do Pedido

Help

Número do item do pedido de vendas

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_CARGA
Ordem 06
TIPO C
TAMANHO 6
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Carga
DESCRIÇÃO Número da Carga

Help

Número da Carga

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_PRODUT
Ordem 07
TIPO C
TAMANHO 15
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Produto
DESCRIÇÃO Código do Produto

Help

Código do Produto

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_QTDE
Ordem 08
TIPO N
TAMANHO 14
DECIMAL 4
FORMATO @E 999,999,999.9999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Quantidade
DESCRIÇÃO Quantidade

Help

Quantidade do Produto

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_QTDE2
Ordem 09
TIPO N
TAMANHO 14
DECIMAL 4
FORMATO @E 999,999,999.9999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Qtde 2Un
DESCRIÇÃO Quantidade Un

Help

Quantidade do Produto na segunda unidade de medida

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_LOTECT
Ordem 10
TIPO N
TAMANHO 14
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Lote
DESCRIÇÃO Lote

Help

Lote

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_QTDORG
Ordem 11
TIPO N
TAMANHO 14
DECIMAL 4
FORMATO @E 999,999,999.9999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Quantidade Original
DESCRIÇÃO Quantidade Original

Help

Quantidade Original

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_QTDOR2
Ordem 12
TIPO N
TAMANHO 14
DECIMAL 4
FORMATO @E 999,999,999.9999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Quantidade Original 2
DESCRIÇÃO Quantidade Original 2

Help

Quantidade original na segunda unidade de medida.

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_VOLITE
Ordem 13
TIPO N
TAMANHO 3
DECIMAL 0
FORMATO @E 999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Volume Item
DESCRIÇÃO Volume Item

Help

Número do volume do item.

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_DOC
Ordem 14
TIPO C
TAMANHO 9
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Nota Fiscal
DESCRIÇÃO Nota Fiscal

Help

Número da nota fiscal.

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA3_SERIE
Ordem 15
TIPO C
TAMANHO 3
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Série
DESCRIÇÃO Série nota fiscal

Help

Número da série nota fiscal

Configurações adicionais

Lista Opções -
Inicializador -
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo B1_X_NEXP
Ordem
TIPO C
TAMANHO 1
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Alterar
TÍTULO Considera Expedição
DESCRIÇÃO Considera na Expedição?

Help

Informe 'Não' para que o produto sofra a expedição de forma automática, ou seja, não precisará ser expedido via leitura da etiqueta. Utilizado para desconsiderar o produto no momento da expedição.

Configurações adicionais

Lista Opções -
Inicializador "S"
Ini. Browse -
Modo Edição -
Consulta F3 -
Val Usuário -
Usado -
Obrigatório N
Browse S
Campo ZA4_FILIAL
Ordem 01
TIPO C
TAMANHO Tamanho padrão da Filial
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Filial
DESCRIÇÃO Filial
Campo ZA4_C6NUM
Ordem 02
TIPO C
TAMANHO 6
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Num PV
DESCRIÇÃO Número do Pedido de Venda
Campo ZA4_C6ITEM
Ordem 03
TIPO C
TAMANHO 2
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Item PV
DESCRIÇÃO Item do Pedido de Venda
Campo ZA4_SEQ
Ordem 04
TIPO C
TAMANHO 2
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Sequência
DESCRIÇÃO Sequência
Campo ZA4_CARGA
Ordem 05
TIPO C
TAMANHO 6
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Carga
DESCRIÇÃO Carga
Campo ZA4_RECSC6
Ordem 06
TIPO N
TAMANHO 10
DECIMAL 0
FORMATO @E 9999999999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Recno SC6
DESCRIÇÃO Recno SC6
Campo ZA4_RECSC9
Ordem 07
TIPO N
TAMANHO 10
DECIMAL 0
FORMATO @E 9999999999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Recno SC9
DESCRIÇÃO Recno SC9
Campo ZA4_RECDAK
Ordem 08
TIPO N
TAMANHO 10
DECIMAL 0
FORMATO @E 9999999999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Recno DAK
DESCRIÇÃO Recno DAK
Campo ZA4_RECDAI
Ordem 09
TIPO N
TAMANHO 10
DECIMAL 0
FORMATO @E 9999999999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Recno DAI
DESCRIÇÃO Recno DAI
Campo ZA4_RECGWN
Ordem 10
TIPO N
TAMANHO 10
DECIMAL 0
FORMATO @E 9999999999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Recno GWN
DESCRIÇÃO Recno GWN
Campo ZA4_PESDAI
Ordem 11
TIPO N
TAMANHO 12
DECIMAL 4
FORMATO @E 9,999,999.9999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO PESO DAI
DESCRIÇÃO PESO DAI
Campo ZA4_PESDAK
Ordem 12
TIPO N
TAMANHO 12
DECIMAL 4
FORMATO @E 9,999,999.9999
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Peso DAK
DESCRIÇÃO Peso DAK
Campo ZA4_VLRDAK
Ordem 13
TIPO N
TAMANHO 12
DECIMAL 2
FORMATO @E 99,999,999.99
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Valor DAK
DESCRIÇÃO Valor DAK
Campo ZA4_PTODAK
Ordem 14
TIPO N
TAMANHO 6
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Ponto DAK
DESCRIÇÃO Ponto DAK
Campo ZA4_PROC
Ordem 15
TIPO C
TAMANHO 1
DECIMAL 0
FORMATO @!
CONTEXTO Real
PROPRIEDADE Visualizar
TÍTULO Processado
DESCRIÇÃO Processado
09. Índices (SIX)

10. Índices (SIX)

Indice Ordem Chave Descrição NickName
ZA2 1 ZA2_FILIAL+ZA2_PEDIDO Pedido ZA201
ZA2 2 ZA2_FILIAL+ZA2_CARGA Carga ZA202
ZA2 3 ZA2_FILIAL+ZA2_CODIGO Código ZA203
ZA2 4 ZA2_FILIAL+ZA2_DOC+ZA2_SERIE Código + Série ZA204
ZA3 1 ZA3_FILIAL+ZA3_CODIGO+ZA3_SEQ Codigo + Sequencia ZA301
ZA3 2 ZA3_FILIAL+ZA3_PEDIDO+ZA3_ITEMPD Pedido + Item Pedido ZA302
ZA3 3 ZA3_FILIAL+ZA3_CARGA Carga ZA303
ZA3 4 ZA3_FILIAL+ZA3_DOC+ZA3_SERIE Nota Fiscal + Série ZA304
ZA4 1 ZA4_FILIAL+ZA4_C6NUM+ZA4_C6ITEM+ZA4_SEQ Num PV + Item PV + Sequência -
ZA4 2 ZA4_FILIAL+ZA4_C6NUM+ZA4_SEQ Num PV + Sequência -
ZA4 3 ZA4_FILIAL + ZA4_CARGA Carga -
10. Consulta Padrão (SXB)

11. Consulta Padrão (SXB)

Tipo Nome Descrição Colunas Retorno
Consulta Padrão ZA2013 Expedicao Filial, Codigo, Pedido, Carga, Status, Data Código
12. Manual de operação

12. Manual de operação

1. Inclusão Separação/Expedição

Por default, todos os produtos deverão ser expedidos, no entanto, caso existe algum produto que deve ser “desconsiderado” na expedição, ou seja, não sofre a leitura da etiqueta para efetuar a expedição, é possível configurar no cadastro de produtos o campo B1_X_NEXP = “N”. Desta forma ao iniciar uma nova expedição, estes produtos serão marcados como já expedidos de forma automática.

1.1 Por Pedido de Vendas

Para efetuar a expedição/separação das mercadorias através do Pedido de Vendas, basta informar seu número (manualmente) ou através de leitura de código de barras (se existir). Serão listados todos os produtos pendentes de separação/expedição (somente são apresentados itens liberados, ou seja, que possuam a tabela SC9 gravada).

Verificar parâmetro: MV_X013012 = Libera para expedição com bloqueios de Crédito (1), Estoque (2). Exemplos: SS, apresentados todos os itens, mesmo com bloqueios de crédito ou estoque. SN, apresentados itens com bloqueio de crédito, itens com bloqueio de estoque não. NN, itens com bloqueio de crédito ou estoque não são apresentados.

A partir deste ponto, poderão ser informados os produtos que estão sendo separados.

A digitação do campo Etiqueta pode ser realizada através de leitura do código de barras do produto, ou seu código interno no sistema Totvs Protheus.

Verificar parâmetros: MV_X013007 = % Tolerância acima da quantidade total MV_X013008 = % Tolerância abaixo da quantidade total

Durante o processo de leitura dos itens da expedição, o sistema verifica o parâmetro MV_X013007, permitindo assim a expedição acima do que está no pedido de vendas no percentual definido no parâmetro. Exemplo se o MV_X013007 estiver configurado para 10%, o segundo item do exemplo acima (Produto 99FF02) poderia ser expedido com 11 Un, ao invés de 10.

Já o em relação ao parâmetro MV_X013008, será verificado somente ao encerrar a expedição, permitindo encerrá-la se a quantidade estiver dentro da tolerância mínima. Ou seja, desta forma, permite a expedição com quantidade menor do que a incluída no pedido de vendas.

MV_X013017 = Determina o padrão da etiqueta para a leitura na expedição: - 1 = Etiquetas separadas para produto e Lote - 2 = Mesma etiqueta contém o produto e Lote

MV_X013009 = Intervalo para identificar o código produto na etiqueta (Exemplo: 1,4 – inicia na posição 1, com 4 dígitos) MV_X013010 = Intervalo para identificar o Lote do produto na etiqueta (Exemplo: 7,4 – inicia na posição 7, com 4 dígitos) MV_X013011 = Intervalo para identificar o Armazém do Lote do produto na etiqueta (Exemplo: 11,2 – inicia na posição 11, com 2 dígitos) MV_X013018 = Intervalo para identificar o peso na etiqueta

Pontos de Entrada disponibilizados:

PE013A01 - Ponto de Entrada após a leitura da Etiqueta/Produto, recebe como parâmetro o código do produto e a leitura do get, e deve retornar a quantidade.

PE013A02 - Ponto de Entrada após a leitura da Etiqueta/Produto, recebe como parâmetro o código do produto e o código informado no campo Etiqueta, e deve retornar o novo código a ser considerado.

1.2 Por Carga (OMS - Getão de Distribuição)

Após a montagem da carga, no ambiente OMS – Gestão de Distribuição, na rotina de Expedição *, informar o número da Carga. Serão listados todos os produtos pendentes de separação/expedição da carga informada.

Aplicam-se as mesmas configurações e parametrização do item 3.1.

Importante: Para separação por pedido ou por Carga, se todos os itens separados corresponderem 100% aos itens a serem separados, ou seja, foram expedidos completamente, o status da Expedição será “Liberado” para faturamento. Caso contrário, se existir alguma pendência, o status da Expedição será em aberto, e deverá ser utilizada a rotina de Liberação de Faturamento, para que seja possível encerrar a expedição.

1.3 Por NOTA FISCAL

Após a emissão da Nota Fiscal de Saída, na rotina de Expedição *, informar o número da Nota Fiscal. Serão listados todos os produtos pendentes de separação/expedição da carga informada.

Aplicam-se as mesmas configurações e parametrização do item 3.1.

2. Alteração Separação/Expedição

A rotina de separação/expedição poderá ser gravada de forma parcial, e posteriormente alterada para dar continuidade ao processo de expedição.

Para tanto, basta selecionar a expedição em questão e selecionar a opção Alterar.

Atenção: Não é possível excluir itens já separados/expedidos. A única forma é realizar a exclusão total da expedição, e somente será possível efetuar a exclusão se a legenda da expedição estiver em verde (Aberto) ou amarelo (Liberado para Faturamento).

2.1 Alteração do Pedido de Vendas

Na hipótese de alteração de um pedido de vendas, que já possua itens separados/expedidos, o sistema emitirá um aviso informando que a alteração excluirá automaticamente as expedições deste pedido. Isto se faz necessário para garantir a consistência dos registros.

Mensagem apresentada:

3. Faturamento Separação/Expedição

Após a separação de todos os produtos, referentes a determinado Pedido de Vendas (legenda amarela), é possível efetuar a Expedição (Faturamento da Nota Fiscal), em Outras Ações -> Encerrar.

Verificar parâmetros:

MV_X013005 = Fatura pedidos no encerramento da expedição (.T. habilita o faturamento) MV_X013006 = Série da Nota Fiscal que será emitida. MV_X013004 = Se a expedição possui itens com quantidade diferente do Pedido de Vendas, o sistema deve alterar o Pedido para que o mesmo seja atendido por completo ? Ou seja, para que o pedido de vendas não seja atendido de forma parcial. (.T. habilita a alteração).

Somente expedições com legenda amarela serão permitidas para faturamento, na hipótese da expedição ainda estar com a legenda verde (não separada completamente), existe a possibilidade de autorizar a liberação para faturamento, neste caso, de expedições parciais. Para isto, em Outras Ações->Liberar Faturamento.

Verificar parâmetros: MV_X013003 = Usuários que podem efetuar a Liberação para Faturamento e alterar o Lote do produto. MV_X013016 = Efetua transmissão automática do Documento de Saída.

Ponto de Entrada disponibilizado:

PE013A03 - Ponto de Entrada que permite manipular o pedido de vendas, antes do seu faturamento.

4. Consulta Separação/Expedição

Na rotina de Pedido de Vendas, é possível consultar quais produtos já foram separados/expedidos.

Pedido de vendas -> Outras Ações -> Consulta Expedição

5. Relatório

Em Outras Ações -> Imprimir Separação, é possível emitir um relatório referente a expedição selecionada.

6. Restauração de Pedido na Carga Após Exclusão da NF

Por padrão, quando uma nota fiscal amarrada a uma carga é excluída para ajustes fiscais que porventura tenham gerado rejeição na transmissão, automaticamente o pedido de venda é desvinculado da carga e, consequentemente, não é possível fazer com que o pedido seja reinserido na mesma.
Este tópico tem por objetivo ajudar neste processo. Caso uma NF de venda seja excluída, é feito uma análise para verificar se ela está amarrada a uma carga. Se assim for, alguns dados da amarração são armazenados em uma tabela de backup, definida no parâmetro MV_X013T03 (ZA4 no padrão). A partir disso, não será possível alterar uma série de dados do pedido, permitindo apenas ajustes fiscais para refaturamento. Ao faturar o pedido através da rotina Pedido de Venda > Outras ações > Prep. Doc. Saída, o pedido será restaurado na carga a qual estava amarrado anteriormente.

Os dados abaixo do pedido não poderão ser alterados caso ele se enquadre na situação relatada acima:

  • Cliente;
  • Cliente Entrega;
  • Condição de Pagamento;
  • Vendedor;
  • Inclusão/Exclusão de itens no PV;
  • Produto;
  • Quantidade;
  • Preço;
  • Armazém;

Caso seja necessário alterar alguma das informações acima, pode-se fazer uma cópia do pedido, excluir o pedido original, e alterar a cópia. Porém, o pedido não será restaurado na carga e não será possível vinculá-lo à mesma em nenhuma hipótese.