我假设当您谈论“销售订单按钮”时,您的意思是这个:

我不确定这是否是最好的用户体验,或者您是否有可用的 NetSuite 开发资源,但这里有一个选择:
创建一个新的用户事件脚本,该脚本部署到销售订单(以及您可能希望启用此预防措施的任何其他交易记录)。使用该BeforeLoad
事件,您可以检查 Transaction 上的实体是否处于 Prospect 阶段。如果是,则脚本将引发错误,从而阻止创建事务。完成此操作的代码:
function onBeforeLoad(type) {
var entityId = nlapiGetFieldValue('entity');
if ((type != 'create') || !entityId) { return; }
if(nlapiLookupField('customer', nlapiGetFieldValue('entity'), 'stage') === 'PROSPECT') {
throw nlapiCreateError('INVALID_REQUEST', 'You cannot create a Sales Order from a Quote placed for a Prospect');
}
}
我在 TSTDRV 帐户中测试了此代码,它按预期工作。或者,您也可以构建一个无需编写代码即可执行相同操作的工作流,但我没有尝试这样做。
通过使用用户事件脚本,此代码将独立于表单和入口点,这意味着如果通过 UI、其他脚本、Web 服务集成(取决于您的 Web 服务配置),或通过 CSV 导入(取决于您的 CSV 导入配置)。