Árvore de páginas

Versões comparadas

Chave

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

LJ7046 - Adição de Campos no Cabeçalho e Itens no Pedido de Venda Gerado pelo SIGALOJA

Descrição:

Esse ponto de entrada permite incluir campos customizados na geração do pedido de venda que é gerado pelo SIGALOJA quando a venda for Entrega Futura.

Eventos:

O ponto de entrada é executado no momento que o sistema está gerando o pedido de venda durante a finalização a venda.

Programa Fonte:LOJA701C.PRW

Parâmetros:

NomeTipoDescrição
ParamIXB[1]CaracterPreenchido com o código da Filial
ParamIXB[2]Array
Array com os campos da tabela SL2.
ParamIXB[3]Array

Array com os campos da tabela SL2. Sendo que a ultima posição do array contém o campo "CONTADOR_PED" e seu respectivo valor. Essa posição deverá ser retornada juntamente com os campos que serão retornados na segunda posição do retorno, pois através dela, identificaremos o item do pedido os quais os campos serão inseridos.

Retorno:
NomeTipoDescrição
aRet[1]ArrayArray com os campos que serão adicionados no cabeçalho do pedido de venda (SC5). Cada posição deverá conter o nome e seu respectivo valor.
aRet[2]ArrayArray com os campos que serão adicionados nos itens do pedido de venda (SC6). Lembrando que além dos campos customizados, cada item deverá retornar o nome e valor do campo de controle (CONTADOR_PED).
Observação:O campo de controle somente foi implementado na versão 12.1.17 ou superior.

Exemplo:

#INCLUDE "TOTVS.CH"

User Function LJ7046()

Local nI := 0
Local nCONTPED := 0
Local nCAMPO01 := 0
Local nCAMPO02 := 0
Local aRet := { {/*campos do cabecalho*/}, {/*campos dos itens*/} }
Local aItemAux := {}

// loop em todos os itens da venda
For nI := 1 to Len( PARAMIXB[3] )

    //armazena as posicoes dos campos que serao adicionados nos itens do pedido de venda
    nCONTPED := aScan(PARAMIXB[3][nI], {|x| x[1] == "CONTADOR_PED"})    //busca pelo campo de controle
    
    //busca pelos campos que serao adicionados no item do pedido de venda
    nCAMPO01 := aScan(PARAMIXB[3][nI], {|x| x[1] == "L2_CAMPO01"})
    nCAMPO02 := aScan(PARAMIXB[3][nI], {|x| x[1] == "L2_CAMPO02"})
    
    //resetamos o array que armazena os campos dos itens
    aSize(aItemAux,0)

    //adicionamos os dados do campo de controle (nome[1] e seu respectivo valor[2])
    Aadd( aItemAux, PARAMIXB[3][nI][nCONTPED] )

    //adicionamos o campo que sera adicionado ao item do pedido de venda
    Aadd( aItemAux, {"C6_CAMPO01", PARAMIXB[3][nI][nCAMPO01][2]} )
    Aadd( aItemAux, {"C6_CAMPO02", PARAMIXB[3][nI][nCAMPO02][2]} )
    
    //adicionamos o item com os campos que serao adicionados ao retorno do array
    aAdd( aRet[2], aClone(aItemAux) )
    
Next

Return aRet