Ponto-de-Entrada: LJ7041 - Permite personalização do almoxarifado
Abrangências: | Microsiga Protheus 10 , Microsiga Protheus 11 |
Versões: | Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10 , Microsiga Protheus 11 |
Idiomas: | Português (Brasil) , Espanhol , Inglês |
Descrição:O ponto de entrada LJ7041 ocorre antes de chamar a função Lj7VerEst (que valida o saldo em estoque do almoxarifado)
e permite ao cliente personalizar dinamicamente o almoxarifado padrão do item de venda, alterando o conteúdo da
variável cLocal na inclusão.
Sintaxe:LJ7041 - Permite personalização do almoxarifado ( < cLocal> , < aColsDet> ) --> cLocal
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cLocal | Caracter | Local (almoxarifado) do produto. |
| X |
|
aColsDet | Array | aColsDet - Array contendo os detalhes dos produtos. |
| X |
|
Retorno: cLocal (caracter) - Código do local (almoxarifado) desejado.
Exemplos:
Exemplo de construção do ponto de entrada:
User Function Lj7041()
Local _cLocal := ParamIxb[1] // Recebe parâmetro contendo almoxarifado
Local _aColsDet := ParamIxb[2] // Recebe parâmetro contendo o array aColsDet
If Len(_aColsDet) < n // Verifica se é um novo item, para só alterar o almoxarifado na inclusão do item
_cLocal := "01" //Código do Armazém
Endif
Return _cLocal
Observação: A variável cLocal é do tipo local e o conteúdo atribuído a ela por esse ponto de entrada só tem efeito dentro da função Lj7Prod.
Ao usar esse ponto de entrada, é recomendado também criar um gatilho disparado a partir do preenchimento do campo LR_PRODUTO, para que
o array aColsDet na posição do local de armazenagem seja atualizado também.
Exemplo de gatilho para atualizar o array aColsDet na posição do local de armazenagem:
User Function GTL2TGRT()
Local _nPosLocal := aScan( aHeaderDet, { |x| Trim(x[2]) == 'LR_LOCAL' })
Local _cLocal := "01" //Código do Armazém
If Len(aColsDet) >= n
aColsDet[n][_nPosLocal] := _cLocal //Código do Armazém
Endif
Return _cLocal