cancel
Showing results for 
Search instead for 
Did you mean: 

Criar pedido de vendas apenas quando houver estoque disponivel.

ednelson_vieira
Explorer
0 Kudos

Srs,

Ao criar pedido de vendas, se vc informou que só venderá se houver estoque o sistema no momento da criação do pedido

de vendas informa que o estoque está abaixo do solicitado mas se vc confirmar ele deixa fazer o pedido de vendas,

alguém sabe como bloquear para que não se consiga fazer o pedido de vendas?

Atenciosamente

Ednelson

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Boa tarde,

essas validações podem ser feitas na procedure SBO_SP_TransactionNotification.

Segue codigo para tratar a sua solicitação, onde é verificado no momento da inserção / atualização se o item tem estoque no depósito setado na linha do pedido.

Se quiser que apareça o item , tem que fazer um select mais elaborado, usando cursor ...

Favor verificar se te atende e confirme no fórum.

-- Valida estoque no item na inserção / atualização do pedido de venda

IF (@object_type in ('17') and @transaction_type in ('A','U'))

Begin

Declare @Count as int, @QtItens as int

SET @Count = 0

Set @QtItens = IsNull(( Select Count(*) From RDR1 where DocEntry = @list_of_cols_val_tab_del ),0)

Print(@QtItens)

Select @Count = IsNull((Select Count(*)

From RDR1 T0

Where T0.DocEntry = @list_of_cols_val_tab_del

and T0.ItemCode in ( Select ItemCode From OITW where ItemCode = T0.ItemCode and WhsCode = T0.WhsCode and OnHand >= T0.Quantity )

),0)

Print(@Count)

if (@Count <> @QtItens)

Begin

Set @error = 1

Set @error_message = 'Existem itens sem estoque. Favor verificar.'

End

End

Answers (2)

Answers (2)

ednelson_vieira
Explorer
0 Kudos

Leandro,

Muito obrigado pela ajuda... deu certo tinha um pequeno problema na sua storage... mais corrigi,,

ednelson_vieira
Explorer
0 Kudos

Bom dia desde já agradeço sua atenção,

Eu não entendi... devo inserir este codigo na PROCEDURE SBO_SP_TransactionNotification?

Posteriormente criar uma consulta para chamar esta procedure no momento da inserção do ítem no

pedido?

Att

Former Member
0 Kudos

Esta procedure é muito poderosa, pois permite validar todo tipo de transação feita no B1.

por exemplo:

na 1a linha : IF (@object_type in ('17') and @transaction_type in ('A','U'))

Cada objeto tem um código, por ex. 17 - Pedido de venda, 13 - NF de saida, etc... isto pode ser consultado no SDK do SAP B1.

esta primeira linha informa que todo pedido de venda no momento de inserção (transaction_type = 'A') e alteração ('U') o bloco de codigo neste IF será executado.

Resumindo, apenas inserindo este código na procedure seu processo já estará sendo validado.

Quanto a consulta do item no pedido não precisa ser feito nada a respeito, apenas esse codigo na transaction já irá atender este processo que você deseja.

Espero ter ajudado.

Att. Leandro Khalil