Histórico da Página
LJ7046 - Adição de Campos no Cabeçalho e Itens no Pedido de Venda Gerado pelo SIGALOJA
Descrição: | Esse ponto Ponto de entrada Entrada permite incluir campos customizados na geração do pedido Pedido de venda Venda que é gerado pelo SIGALOJA quando a venda for Entrega Futura. | ||||||||||||
Eventos: | O ponto Ponto de entrada Entrada é executado no momento que o sistema está gerando o pedido Pedido de venda 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"
UserFunction LJ7046()
Local nI
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 aRet := { {/*campos do cabecalhocabeçalho*/}, {/*campos dos itens*/} }
Local aItemAux := {} 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 := 1to Len( PARAMIXB[3] aCposSL2 )
//armazena as posicoes dos campos que serao adicionados nos itens do pedido de venda
nCONTPED nCONTPED := aScan(PARAMIXBaCposSL2[3][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 nCAMPO01 := aScan(PARAMIXB[3]aCposSL2[nI], {|x| x[1] == "L2_CAMPO01CAMPO02"})
nCAMPO02 nCAMPO02 := aScan(PARAMIXB[3]aCposSL2[nI], {|x| x[1] == "L2_CAMPO02"})
//resetamos o array que armazena os campos dos itens
aSize aSize(aItemAux,0)
//adicionamos os dados do campo de controle (nome[1] e seu respectivo valor[2])
Aadd Aadd( aItemAux, PARAMIXB[3]aCposSL2[nI][nCONTPED] )
//adicionamos o campo que sera adicionado ao item do pedido de venda
Aadd Aadd( aItemAux, {"C6_CAMPO01", PARAMIXBaCposSL2[3][nI][nCAMPO01][2]} )
Aadd Aadd( aItemAux, {"C6_CAMPO02", PARAMIXB[3]aCposSL2[nI][nCAMPO02][2]} )
//adicionamos o item com os campos que serao adicionados ao array de retorno do array
aAdd aAdd( aRet[2], aClone(aItemAux) )
Next
Return aRet