I have simple workflow where employee can request for product. This product submission was designed in Infopath. Manager then gets to Approve or Reject this Decision. I added tasks to Manager using "Collect Data from User" action in SPD, where I added Reject or Approve Checkboxes. But, I also want to design a form where he can also see who is the requester of Product, Product information which are stored in the List (lets say ListA) that this Workflow runs on.
For this, I click on the ManagerApproval.xsn in Forms box in SPD. Then I added new data connections to ListA, and selected option to get required information. Then, I added requesterName, productName etc in the form using queryFields. There are queryFields and dataFields, what is the difference between them ?
I then publish the form, but it doesn't display any value only empty text boxes, when Manager is approving the Request. Don't know whats wrong ? Thanks
EDIT : Using datafields, I can see the data. But, I see id of the product not the value (eg I see 1,2 not ProdA, ProdB). And, also I see the whole list of products in ListA, I only intend to see values for the current item. There is something like repeating section in Infopath form, when I drag fields into Form. How can I filter it to show values (infact only 1 value - 1 product name, 1 requstername not the whole list from previous requests and already completed) for the current item ?
OR Alternatively, is there any way to design Custom Form for Manager Approval using Infopath, so that this form can be called inside Workflow ?
query fields - are field names, which are defined in XML schema,
data fields are actual data
Use data fields instead of query fields.
When you create a connection you get data from SharePoint XML something like the sample below.
In this - contains the query fields: ows_LinkTitle
Node contains the data.
- <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
- <s:Schema id="RowsetSchema">
- <s:ElementType name="row" content="eltOnly" rs:CommandTimeout="30">
- <s:AttributeType name="ows_LinkTitle" rs:name="Title" rs:number="1">
<s:datatype dt:type="string" dt:maxLength="512" />
</s:AttributeType>
</s:ElementType>
</s:Schema>
- <rs:data>
<z:row ows_LinkTitle="Central Programme Office" />
<z:row ows_LinkTitle="Communications" />
<z:row ows_LinkTitle="Educational Resources" />
<z:row ows_LinkTitle="Finance" />
<z:row ows_LinkTitle="General Practice" />
<z:row ows_LinkTitle="IT" />
<z:row ows_LinkTitle="Web and Branding" />
</rs:data>
</xml>
Related
for BO there is such list:
<context type="Order" component="cs-listview">
<list:list-view xmlns:list="http://www.hybris.com/cockpitng/component/listView">
<list:column qualifier="code"/>
<list:column qualifier="user"/>
<list:column qualifier="date"/>
<list:column qualifier="deliveryMode" />
<list:column qualifier="status" />
</list:list-view>
</context>
After the cancellation order, Hybris creates duplicate order with the same status as it was before the cancellation. So we have 2 orders with 2 statuses.
I'd like to have only 1 entry in result. How it's possible?
enter image description here
This can be done in 2 ways.
Search Restriction on customersupportagentgroup or related group.
INSERT_UPDATE SearchRestriction;code[unique=true];principal(uid)[unique=true];query;restrictedType(code)[unique=true];active;generate
;backendOrderVisibility;customersupportagentgroup;{versionID} IS NULL;Order;true;true
create new Controller to send extra filter which will give result of orders which having version id null, this is part of backoffice customization.
--->Create custom controller and extend this AbstractInitAdvancedSearchAdapter and override addSearchDataConditions.
---->Create definition.xml
-----> ovverride widget connection as well.
I am trying to create a new create-wizard for a custom item type and provide some "non model" fields in the wizard. These fields do not directly correspond to model attributes we are trying to create.
I would like to be able to process these values later (possibly from a prepare interceptor) where I can use these to do some lookup logic/processing and then set other attributes on the item.
I know I can technically add these "non model" properties to the actual item model itself, but I would like to avoid having unnecessary attributes that are only really needed for the wizard.
Is there any way to create a wizard as such, and be able to access these property values later (maybe in prepare interceptor for example) and process them as needed later? Without having to add these properties to the model itself?
<wz:step id="step1" label="create.custom.essential.label" sublabel="create.custom.essential.sublabel">
<wz:info id="step1.intro" position="top" label="create.custom.essential.intro" />
<wz:content id="step1.content">
<wz:property-list root="newItem">
<!-- actual model attributes -->
<wz:property qualifier="code" />
<wz:property qualifier="catalogVersion"/>
<!-- I'd like to have other fields here, that are NON model properties -->
<wz:property qualifier"nonModelAttribute1">
<wz:property qualifier"nonModelAttribute2">
...
</wz:property-list>
</wz:content>
</wz:step>
You can try to use SPEL
{#bean.method(#this) != null ? #bean.method(#this).getCode() : ''}
jsf adf....
My code in adf jsf.
this code creates a choice list form the model....and I want that if user selects the perticular customer id from the select list the related address will be displayed in the next line. any idea and solution how to add or bind data control(for address attribute) for such that when the select item vales from the select list generated from the binded model(id attribute only) is selected then the related adrress will get displayed.
<af:selectOneChoice label="#{bindings.InvView1.label}" id="soc1"
binding="#{backingBeanScope.backing_inv.soc1}"
value="#{bindings.InvView1.inputValue}"
required="#{bindings.InvView1.hints.mandatory}">
<f:selectItems value="#{bindings.InvView1.items}" id="si2"
binding="#{backingBeanScope.backing_inv.si2}" />
</af:selectOneChoice>
</af:selectOneChoice>
You can use a bean with a setter (customer ID) that gets activated upton customer selection.
You can use a navigation list.
Like this:
https://blogs.oracle.com/shay/entry/the_navigation_list_select_som
I want to pick multiple customers from a view using the NamePicker in Extension Library.
<xe:namePicker id="namePicker1" for="customers">
<xe:this.dataProvider>
<xe:dominoViewNamePicker
labelColumn="IdName" viewName="viewCustomers">
</xe:dominoViewNamePicker>
</xe:this.dataProvider>
</xe:namePicker>
The view has two columns:
1. CustId - customer id
2. IdName - customer id + “-“ + customer name
The NamePicker shows the IdName in the left box and the CustId for the selected customers in the right box.
Is it possible to change what the NamePicker shows in the right box?
I want to display the customer’s name in addition to CustId for the selected customers.
Is it possible to customise the Search function? It seems to me that now you can only search for something that match the beginning of the first column in the view.
Absolutely. The great thing about the extension library (Extlib) is that it is open source. However, if you were looking for the quick solution of "Yeah, just set this property and you're done" ... well ... I'm afraid its not that easy. You can however, write your own component extending the component from the Extlib, and then add/override the functionality that you want to customize.
So to sum up, yes, its possible, but its not just as easy as changing some properties on the control.
On my home page, I want a simple webpart that allow users to quickly fill an entry in a list.
The list have, let's say, three fields : title (text), body (rich text), category (lookup).
I don't want to use the standard DataFormWebPart because I have a bit of code-behind that also fill some technical hidden fields of my list (actually, I don't exclude the DataFormWebPart, but I didn't find how to use it with code behind).
So I started to implement a custom webpart. Because I don't want to have to handle manually each field input, I started to use the FormField control, which automatically choose the rendering control, and provide a Value property with the correct format :
<SharePoint:FormField runat="server" id="fldTitle" FieldName="Title" />
This code is not sufficient, I have to specified the listid :
<SharePoint:FormField runat="server" id="fldTitle" FieldName="Title" ListId="{title list guid}" />
This is working quite correctly. I can in code access the fldTitle.Value to retrieve the user input.
BUT I have to include the webpart in a properly packaged and deployed feature, that can be activated. The webpart will always target the same list, but as the list is also instanciated in the feature (ListInstance element), I can't know the Guid in advance.
I've tried using several technics to set the list ID on the fly, but without success.
I've also "reflectored" the SP dlls to notice FormComponent class are using a "Context" that is set by ListFormWebPart.
Finally, my questions are :
is it the correct way to create a custom input webpart on the home page (not a list custom form) ?
how can I keep the behavior of the FormField (choose the right control and handle the input and its conversion to the storage format) ?
Will I have to create a custom ListFormWebPart ?
May I play with ControlTemplates ?
thanks in advance for the help... I'm struggling with this simple case for days now...
I think that customizing form templates is the easiest way to customize list forms. Since custom form templates are implemented as user controls you can add whatever code you want.
See the following article:
http://www.codeproject.com/KB/sharepoint/SharePointListForms.aspx