Eclipse force.com IDE访问托管包对象中的自定义验证规则

Eclipse force.com IDE访问托管包对象中的自定义验证规则,eclipse,eclipse-plugin,salesforce,apex-code,force.com,Eclipse,Eclipse Plugin,Salesforce,Apex Code,Force.com,我目前在eclipse中的org sandbox和Force.com IDE之间保持同步,可以访问Force.com IDE中的自定义/标准对象和托管包对象,我们为每个托管包对象创建了多个自定义验证规则,然而,在eclipse中,我只能访问托管包对象中的托管包验证规则,字段集也是如此。我从“引用的包”文件夹访问托管包对象,然后深入到对象子文件夹。当从salesforce服务器刷新托管包元数据时,这是salesforce的限制吗?有没有办法绕过这一限制?我有一些关于使用package.xml的文章

我目前在eclipse中的org sandbox和Force.com IDE之间保持同步,可以访问Force.com IDE中的自定义/标准对象和托管包对象,我们为每个托管包对象创建了多个自定义验证规则,然而,在eclipse中,我只能访问托管包对象中的托管包验证规则,字段集也是如此。我从“引用的包”文件夹访问托管包对象,然后深入到对象子文件夹。当从salesforce服务器刷新托管包元数据时,这是salesforce的限制吗?有没有办法绕过这一限制?我有一些关于使用package.xml的文章-但我不确定如何做到这一点,请您帮忙。

是的,看起来像是Eclipse IDE的限制

在项目文件夹中,您应该看到package.xml。您必须手动编辑它。尝试强制将所需的托管对象(包括命名空间)添加到“自定义对象”部分,如下所示:


之后从服务器刷新“objects”目录,应该可以很好地将您的对象带进来。

感谢您的回复,是的,它确实通过将对象添加到package.xml中而将对象带进来了。我已尝试重命名一个字段集并将其保存到服务器,但是字段集API名称和名称被更新为以前的值,新的字段集是用更新后的名称创建的,然后我尝试从对象xml中删除任何字段集行并保存它,字段集没有被删除,这正常吗?是的。通常,无论您使用“元数据API”(Eclipse中使用的东西)做什么,都是关于添加新组件或更改现有组件。SF将其视为新字段集的创建(因为它看到了新的唯一API名称),然后试图通过从服务器带回新组件(包括旧组件)来“提供帮助”。您需要手动删除旧的字段集,我认为您还没有准备好使用“destructiveChanges.xml”和/或“Force.com迁移工具”进行脚本化部署。Eclipse将允许您删除整个文件(类、页面、对象、报告),而不是真正的内容片段……也许您更熟悉变更集?这是相似的。变更集不可能允许您删除任何内容。仅添加/修改。您需要在要将更改部署到的每个环境中复制手动步骤,如重命名。这样的引导可能会有所帮助:谢谢,我可以假设Force.com迁移工具允许更改字段集名称/API名称,或者我应该使用destructivechanges.xml进行删除,而不是使用Init的相同API创建它吗?因此,不,SF会将其视为新字段集,而不是编辑旧字段集。您需要创建新的字段集,更新可能引用它的任何位置以指向新名称(Apex?VF?),删除具有破坏性更改的旧字段集。这是一种痛苦。手动编辑API名称要简单得多;)遗憾的是,工具API不支持字段集的delete(),这会更容易。但是您可以尝试在那里更新DeveloperName吗?