Dúvida sobre a manipulação de um campo com o Ponto de entrada MT103UPC

Com o ponto de entrada: MT103UPC Preciso fazer com esse ponto de entrada que no momento que for gravar uma entrada ele não atualize o campo B1_UPRC quando o valor do fornecedor (D1_FORNECE) for igual a '000306' Seria possível? Recebi uma possível solução, mas não sei como aplica-la:

"É possível, porém como o PE sempre vai atualizar o campo (B1_UPRC ou BZ_UPRC) você precisa pegar o conteúdo atual do campo e retornar ele novamente caso seja o fornecedor 000306, dessa forma o conteúdo será o mesmo para esse fornecedor"

tentei fazer esta aplicação mas não tive sucesso:

User Function MT103UPC()

Local cFornecedor := SD1->D1_FORNECE

Local nAux := 0

Local nPreco := 0

//Retorna último preço de compra calculado.

nPreco:= SD1->D1_VUNIT + SD1->D1_VALFRE + (SF1->F1_DESPESA / SD1->D1_QUANT)

nAux := nPreco // armazena o valor do ultimo preço de compra

// Verifica se o fornecedor é igual a '000306'

If cFornecedor = '000306'

RecLock("SB1",.F.)

SB1->B1_UPRC := nAux //atribui o valor que foi armazenado na variável nAux (valor da ultima compra antes de atualizar)

//o valor da ultima compra volta a ser o mesmo quando atualiza os campos

EndIf

Return

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl pontodeentrada ou faça a sua própria pergunta.