Ponto de Entrada - LJX904ES
Este Ponto de Entrada é executado na rotina Lj904XES, para calculos adicionais do saldo em estoque do produto; informações, estas utilizadas nas rotinas LOJA900A - Produtos e LOJA900C - Estoque/Preço.
Descrição: | Atualizações\Cadastros | ||||||||||||
Localização: | E-commerce | ||||||||||||
Eventos: | Monitor Serv. CiaShop | ||||||||||||
Programa Fonte: | LOJA900A - Produtos LOJA900C - Estoque/Preço LOJX904 - Funções e-commerce | ||||||||||||
Função: | Protheus | ||||||||||||
Parâmetos: |
| ||||||||||||
Retorno: |
|
Exemplo:
#Include 'Protheus.ch'
User Function LJX904ES()
Local cProduto := ""
Local lAltera := .f.
Local nSaldo := 0
Local aRet := {0, .F.}
Local nSaldoAtu := 0
Local lAlteraAtu := .f.
Local aAreaSB1 := SB1->(GetArea())
Local nSaldoEnv := 0 //Saldo enviado
If ValType(PARAMIXB) == "A" .AND. Len(PARAMIXB) >= 3 .AND. ;
ValType(PARAMIXB[1]) == "C" .AND. ValType(PARAMIXB[2]) == "L" .and.;
ValType(PARAMIXB[3]) == "N"
cProduto := PARAMIXB[1]
lAltera := PARAMIXB[2]
nSaldo := PARAMIXB[3]
aRet := {nSaldo, lAltera}
SB1->(DbSetOrder(1))
SB1->(Dbseek(xFilial("SB1") + cProduto))
nSaldoEnv := SB1->B1_UECSALD //campo de controle do usuário
//Abate 2 unidades do saldo em Estoque
nSaldoAtu := -2
//Adiciona o local de Estoque
aRet[1] := Max(aRet[1] + nSaldoAtu,0) //coloca max para não negativar o saldo
If aRet[1] <> nSaldoEnv
//Sinaliza que houve alteração do saldo
aRet[2] := .T.
EndIf
RecLock("SB1", .F.)
//Atualiza a quantidade enviada
SB1->B1_UECSALD := aRet[1]
SB1->(MsUnLock())
EndIf
RestArea(aAreaSB1)
Return aRet