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