Skip to Content
avatar image
Former Member

Criar pedido de vendas apenas quando houver estoque disponivel.

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Feb 18, 2011 at 07:19 PM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Feb 24, 2011 at 03:41 PM

    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

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      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

  • avatar image
    Former Member
    Apr 12, 2011 at 08:06 PM

    Leandro,

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

    Add comment
    10|10000 characters needed characters exceeded