Skip to main content

I see how to create a SO in Infopath by binding the Create method though the web services layer.  But to update existing data you need to read it first, and then update this.  However the Load and Update SO methods are shown as separate data sources in InfoPath and there is nothing that copies the data from the one to the other. 

I guess you could do this manually but it seems a big effort if you have lots of fields.

Any alternative suggestions are welcome.

Dave

You have to map the fields if you are executing seperate methods.  For example, I have Foo.Load which returns:


Foo.Load.Return Properties:
Foo.Load.Field1
Foo.Load.Field2
Foo.Load.Field3

Now let's say you have those fields on your form (i.e. the fields on your form are bound to the Load's return properties).  If those fields are updatable, you'll need a rule that maps all of the Foo.Load's return properties to the Foo.Update method's input properties.  You are correct, that if there are many fields, this can be time consuming.  Especially since the InfoPath UI's tree view doesn't remember your last positions when creating rules.  I chalk this up as a trade-off for those users who aren't interested or can't write code in an ASP.NET page.


Reply