New developer. Be gentle, please.

Constraints: I am using SharePoint Designer and SharePoint 2010 behind a firewall so I can't upload pretty much anything without going to my helpdesk and getting a tech person to do it for me.

Situation: We track "Activities". There are many points of origin for an Activity request. Different clients give us different information and are going to need custom forms (custom new item forms created through SPD). However, all these forms will create new items for the same custom list, "Activity Management", and I have workflows already in place to create a new Activity Number each time one is created based on a batch of other stuff that is probably not super relevant. All these workflows were designed for only 1 custom form, though.

I need to create a second form and have it not trigger some of my workflows at this time. My idea is to have my new custom New form auto-fill/pre-populate on load/etc a field that identifies which form it is. Then I just have to make a condition at the top of my workflow to not activate for that form. Then we can do it later by changing that field to a value of my choice, now triggering the desired workflow.

I just can't figure out how to simply set the value of a field within the html of the form - not hiding anything, not making the field a cascading anything, nothing fancy. I have a default inside the SharePoint List Settings that is "No Form" for when I do things manually. Once I figure this out for this form, I'll imitate it for each custom Change or Activity request. And we can have as many entry points as my bosses need...

Potential Paths to a Solution: Can I do this within table row itself?

                    <td width="190px" valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Form Used</nobr>
                    <td width="400px" valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff95{$Pos}" ControlMode="New" FieldName="Form_x0020_Used"  __designer:bind="{ddwrt:DataBind('i',concat('ff95',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Form_x0020_Used')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff95description{$Pos}" FieldName="Form_x0020_Used" ControlMode="New"/>

Or, maybe there is a really nifty javascript thing that could be used...

<script type="text/javascript" language="javascript">
    function setff95() {
  • You can add one Yes/No type field to each form, something like "You want to run the workflow?" and set its default value to No. If user wants to run the workflow then user need to select Yes. and in your workflow add IF condition to check the value of this field. If it is Yes then run the workflow else terminate/End the workflow. – Ganesh Sanap Oct 23 '19 at 6:54
  • Thank you, Ganesh! This is an interesting idea, but ideally, I want to take this out of the hands of the client. The client won't know what a workflow is. They will just be reporting a bug in their system. Can the search form page itself be made do this, without user intervention? – Adrienne de Souza Oct 23 '19 at 13:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.