infopath 2007 升级到2013 栏目字段重复生成问题

1. 把Expense Statement.xsn的xsn扩展名改成zip。然后解压后会看到有一个mnifest.xsf。

 

2. 在vs 2013 中打开它。

 

3. Search for the field name, in this example Form ID. You should see something similiar to this towards the end of the file. 

<xsf:field name="Form ID" columnName="{81BDA8CC-A286-405F-8A3B-E5ADB18D9FFB}"node="/my:myFields/fxformstate:FormState/fusionx:FormID" type="xsd:string"></xsf:field>

 

4. Now search for the columnName value, the GUID, in this same file. You should find something like this.

<xsf2:fieldExtension columnId="f765018d-6b66-4b03-8408-2d6a1f8f0060" readWrite="yes" columnName="{81BDA8CC-A286-405F-8A3B-E5ADB18D9FFB}"></xsf2:fieldExtension>

 

5. Note the columId value and open SharePoint Manager 2007 on the SharePoint server.

 

6. Expand the website then Fields (or if you want to see what existing forms are using, expand ContentTypes then the form name, then Fields).

 

7. Find the field and note the Id. Does it match the columnId value from the manifest file? If so, then you're fine, go get a coffee.

 

8. If they do not match, then InfoPath thought better of using the existing column and wanted to use another. Or if your columnId is blank, ="", then it wanted to create a new one. This here is the mystery, why did InfoPath decide the field you selected wasn't important enough, I don't know.

 

9. Copy the value from SPM and replace the value in the columnId in the manifest file.

 

10. Close the manifest file and open it normally in VS, allowing the design view to appear. You can now publish the form. When publishing, DO NOT modify the field in the Column list. This may overwrite the value you entered in. Continue through the publishing wizard and upload to MOSS.

 

If all goes well, the new content type or the upgrade should use the same column as selected. To verify, open SharePoint Manager on the server, expand the website then Content Types and find your form name and check the ID of the Field.

posted @ 2014-06-06 09:12  Jason.Bird  阅读(262)  评论(0编辑  收藏  举报