漏洞 ID 编号 |
BUG-000114017 |
已提交 | May 16, 2018 |
上次修改时间 | November 21, 2024 |
适用范围 | ArcGIS Pro |
找到的版本 | 2.1.2 |
操作系统 | Windows OS |
状态 | Known Limit
经开发团队审核,已确定此问题与不受 Esri 控制的软件的已知限制有关。 问题的“其他信息”部分可能包含进一步说明。
|
附加信息
In ArcGIS Pro, use derived parameters in the script tool to get the layer to update its version. Add a new derived output parameter to the script tool of datatype feature layer, and update the script to use the following code, and the layer that is added is correctly switched to the new version.
import arcpy
from arcpy import env
env.overwriteOutput = True
database = arcpy.GetParameterAsText(0)
featureClass = arcpy.GetParameterAsText(1)
name = arcpy.GetParameterAsText(2)
dbaseUser = arcpy.GetParameterAsText(3)
#create version in database
arcpy.CreateVersion_management(database, "sde.DEFAULT", name, "PUBLIC")
arcpy.AddMessage("Created version")
# create featue layers
layer = arcpy.MakeFeatureLayer_management(featureClass, "NewLayer").getOutput(0)
arcpy.AddMessage("Created Feature Layer")
#change version of database for feature layer
arcpy.ChangeVersion_management("NewLayer", "TRANSACTIONAL", dbaseUser + "." + name)
arcpy.AddMessage("Changed version")
arcpy.SetParameterAsText(4, "NewLayer")
解决办法
The Change Version tool does work in ArcMap from a script, so it can be utilized there.
Saving the created layer in the script to a file respects the version change. When that saved layer is brought into a map in ArcGIS Pro, the version is changed successfully. This workaround cannot be used for table views.
重现步骤