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: |
| ||||||||||||
Retorno: |
| ||||||||||||
Observação: | O campo de controle somente foi implementado na versão 12.1.17 ou superior. |
Exemplo:
Adicionando um campo na SC5 e dois campos na SC6
#INCLUDE "TOTVS.CH"
User Function LJ7046()
Local cCodFil := PARAMIXB[1] // Código da Filial
Local aCposSL1 := PARAMIXB[2] // Array com os campos da tabela SL1
Local aCposSL2 := PARAMIXB[3] // Array com os campos da tabela SL2
Local nI := 0
Local nCONTPED := 0
Local nCAMPO01 := 0
Local nCAMPO02 := 0
Local aRet := { {/*campos do cabeçalho*/}, {/*campos dos itens*/} }
Local aCabAux := {}
Local aItemAux := {}
//busca pelos campos que serao adicionados cabeçalho do pedido de venda
nC5CAMPO01 := aScan(aCposSL1, {|x| x[1] == "L1_CAMPO01"})
Aadd( aCabAux, {"C5_CAMPO02", aCposSL1[nC5CAMPO01][2], NIL} )
//adiciona os campos do cabeçalho ao array de retorno
aRet[1] := aCabAux
// loop em todos os itens da venda
For nI := 1 to Len( aCposSL2 )
//armazena as posicoes dos campos que serao adicionados nos itens do pedido de venda
nCONTPED := aScan(aCposSL2[nI], {|x| x[1] == "CONTADOR_PED"}) //busca pelo campo de controle (Obrigatório)
//busca pelos campos que serao adicionados no item do pedido de venda
nCAMPO01 := aScan(aCposSL2[nI], {|x| x[1] == "L2_CAMPO02"})
nCAMPO02 := aScan(aCposSL2[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, aCposSL2[nI][nCONTPED] )
//adicionamos o campo que sera adicionado ao item do pedido de venda
Aadd( aItemAux, {"C6_CAMPO01", aCposSL2[nI][nCAMPO01][2]} )
Aadd( aItemAux, {"C6_CAMPO02", aCposSL2[nI][nCAMPO02][2]} )
//adicionamos o item com os campos que serao adicionados ao array de retorno
aAdd( aRet[2], aClone(aItemAux) )
Next
Return aRet