Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have SharePoint Standard which does not come with InfoPath Forms Services.

I want to be able to create a simple expenses workflow which gathers info using a form.

I've heard though I have a standalone copy of infopath 2010 but because I dont have InfoPath Forms Services every user will require a copy of Infopath. Is this true ?

I have a copy of VS2010 and I can create a custom form either as aspx or webpart, and advise appreciated.

Thanks

share|improve this question
add comment

2 Answers

Your best bet would be to customize a new form using SPD and do your calculations using JQUERY or JAVASCRIPT you can also make calculated columns that could perform the calculations that you request. This is what I did.

  1. Open SPD
  2. Open the list your are referring to.
  3. On the forms tab click new form
  4. open the form and then click the advance tab.
  5. you can modify the PlaceHolderMain contentHolder
  6. Below is an example of one of my custom forms using jquery tabs.

        <xsl:template name="dvt_1.rowedit">
    <xsl:param name="Pos" select="position()"/>
    <tr>
        <td>
        <div id="hometab">
        <h3><a href="#"><span>Required Information</span></a></h3>
            <div id="RequiredInformation">
        <table>
        <tr>
        <td style="text-align:justify;">
        <img src="../../StyleLibrary/MuellerBranding/MLI_FORM_Logo.bmp" width="120px" height="120px" alt="#"/>
        </td>
        <td>
        <div style="margin:5px; text-align:justify; font-size:x-small;">
        <p>Mueller Industries, Inc.</p>
        <p>8285 Tournament Drive</p>
        <p>Suite 150</p>
        <p>Memphis, TN 38125</p>
        <p>Help Desk: 800.549.1678</p>
        <p><a style="color:blue;" href="mailto:z.IS User Support@muellerindustries.com">Email Support</a></p>
        </div>
        </td>
        </tr>
                                                            <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>User Name<span class="ms-formvalidation"> *</span>
                            </nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff3{$Pos}" ControlMode="New" FieldName="User_x0020_Name" __designer:bind="{ddwrt:DataBind('i',concat('ff3',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@User_x0020_Name')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff3description{$Pos}" FieldName="User_x0020_Name" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Job Title<span class="ms-formvalidation"> *</span>
                            </nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff4{$Pos}" ControlMode="New" FieldName="Job_x0020_Title" __designer:bind="{ddwrt:DataBind('i',concat('ff4',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Job_x0020_Title')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff4description{$Pos}" FieldName="Job_x0020_Title" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Location<span class="ms-formvalidation"> *</span>
                            </nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff5{$Pos}" ControlMode="New" FieldName="Location" __designer:bind="{ddwrt:DataBind('i',concat('ff5',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Location')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff5description{$Pos}" FieldName="Location" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Division<span class="ms-formvalidation"> *</span>
                            </nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff6{$Pos}" ControlMode="New" FieldName="Division" __designer:bind="{ddwrt:DataBind('i',concat('ff6',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Division')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff6description{$Pos}" FieldName="Division" ControlMode="New"/>
                    </td>
                </tr>
    
        </table>
        </div>
        <h3><a href="#"><span>Manager's Approval</span></a></h3>
        <div id="ManagersApproval">
        <table>
        <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Approved By Manager</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff7{$Pos}" ControlMode="New" FieldName="Approved_x0020_By_x0020_Manager" __designer:bind="{ddwrt:DataBind('i',concat('ff7',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Approved_x0020_By_x0020_Manager')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff7description{$Pos}" FieldName="Approved_x0020_By_x0020_Manager" ControlMode="New"/>
                    </td>
                </tr>
    
        </table>
    
        </div>
    
        <h3><a href="#"><span>IS Approval</span></a></h3>
        <div id="ISApproval">
        <table>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Approved By IS</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff9{$Pos}" ControlMode="New" FieldName="Approved_x0020_By_x0020_IS" __designer:bind="{ddwrt:DataBind('i',concat('ff9',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Approved_x0020_By_x0020_IS')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff9description{$Pos}" FieldName="Approved_x0020_By_x0020_IS" ControlMode="New"/>
                    </td>
                </tr>
        </table>
        </div>
    
        <h3><a href="#"><span>Reason For Request</span></a></h3>
        <div id="ReasonForRequest">
            <table>
        <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Reason For Request<span class="ms-formvalidation"> *</span>
                            </nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff11{$Pos}" ControlMode="New" FieldName="Reason_x0020_For_x0020_Request" __designer:bind="{ddwrt:DataBind('i',concat('ff11',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Reason_x0020_For_x0020_Request')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff11description{$Pos}" FieldName="Reason_x0020_For_x0020_Request" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Existing User's Serial Number<span class="ms-formvalidation"> *</span>
                            </nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff12{$Pos}" ControlMode="New" FieldName="Existing_x0020_User_x0027_s_x002" __designer:bind="{ddwrt:DataBind('i',concat('ff12',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Existing_x0020_User_x0027_s_x002')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff12description{$Pos}" FieldName="Existing_x0020_User_x0027_s_x002" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>MLI Asset Tag #<span class="ms-formvalidation"> *</span>
                            </nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff13{$Pos}" ControlMode="New" FieldName="MLI_x0020_Asset_x0020_Tag_x0020_" __designer:bind="{ddwrt:DataBind('i',concat('ff13',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@MLI_x0020_Asset_x0020_Tag_x0020_')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff13description{$Pos}" FieldName="MLI_x0020_Asset_x0020_Tag_x0020_" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Current User's Name</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff14{$Pos}" ControlMode="New" FieldName="Current_x0020_User_x0027_s_x0020" __designer:bind="{ddwrt:DataBind('i',concat('ff14',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Current_x0020_User_x0027_s_x0020')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff14description{$Pos}" FieldName="Current_x0020_User_x0027_s_x0020" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Will Existing unit be re-deployed?</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff15{$Pos}" ControlMode="New" FieldName="Will_x0020_Existing_x0020_unit_x" __designer:bind="{ddwrt:DataBind('i',concat('ff15',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Will_x0020_Existing_x0020_unit_x')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff15description{$Pos}" FieldName="Will_x0020_Existing_x0020_unit_x" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>If Yes Re-Deploy to</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff16{$Pos}" ControlMode="New" FieldName="If_x0020_Yes_x0020_Re_x002d_Depl" __designer:bind="{ddwrt:DataBind('i',concat('ff16',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@If_x0020_Yes_x0020_Re_x002d_Depl')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff16description{$Pos}" FieldName="If_x0020_Yes_x0020_Re_x002d_Depl" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>New User's Name</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff17{$Pos}" ControlMode="New" FieldName="New_x0020_User_x0027_s_x0020_Nam" __designer:bind="{ddwrt:DataBind('i',concat('ff17',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@New_x0020_User_x0027_s_x0020_Nam')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff17description{$Pos}" FieldName="New_x0020_User_x0027_s_x0020_Nam" ControlMode="New"/>
                    </td>
                </tr>
        </table>
    
        </div>
    
        <h3><a href="#"><span>Hardware Request</span></a></h3>
        <div id="HardwareRequest">
            <table>
        <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Hardware Request<span class="ms-formvalidation"> *</span>
                            </nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff18{$Pos}" ControlMode="New" FieldName="Hardware_x0020_Request" __designer:bind="{ddwrt:DataBind('i',concat('ff18',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Hardware_x0020_Request')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff18description{$Pos}" FieldName="Hardware_x0020_Request" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Printer Type</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff19{$Pos}" ControlMode="New" FieldName="Printer_x0020_Type" __designer:bind="{ddwrt:DataBind('i',concat('ff19',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Printer_x0020_Type')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff19description{$Pos}" FieldName="Printer_x0020_Type" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Keyboard Type</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff20{$Pos}" ControlMode="New" FieldName="Keyboard_x0020_Type" __designer:bind="{ddwrt:DataBind('i',concat('ff20',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Keyboard_x0020_Type')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff20description{$Pos}" FieldName="Keyboard_x0020_Type" ControlMode="New"/>
                    </td>
                </tr>
        </table>
    
        </div>
    
        <h3><a href="#"><span>Software Request</span></a></h3>
        <div id="SoftwareRequest">
            <table>
        <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Software Request<span class="ms-formvalidation"> *</span>
                            </nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff21{$Pos}" ControlMode="New" FieldName="Software_x0020_Request" __designer:bind="{ddwrt:DataBind('i',concat('ff21',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Software_x0020_Request')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff21description{$Pos}" FieldName="Software_x0020_Request" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>If Other Selected Please Explain</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff22{$Pos}" ControlMode="New" FieldName="If_x0020_Other_x0020_Selected_x0" __designer:bind="{ddwrt:DataBind('i',concat('ff22',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@If_x0020_Other_x0020_Selected_x0')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff22description{$Pos}" FieldName="If_x0020_Other_x0020_Selected_x0" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Tiny Term Site 1</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff23{$Pos}" ControlMode="New" FieldName="Tiny_x0020_Term_x0020_Site_x0020" __designer:bind="{ddwrt:DataBind('i',concat('ff23',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Tiny_x0020_Term_x0020_Site_x0020')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff23description{$Pos}" FieldName="Tiny_x0020_Term_x0020_Site_x0020" ControlMode="New"/>
                    </td>
                </tr>
                <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Tiny Term Site 2</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff24{$Pos}" ControlMode="New" FieldName="Tiny_x0020_Term_x0020_Site_x00200" __designer:bind="{ddwrt:DataBind('i',concat('ff24',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Tiny_x0020_Term_x0020_Site_x00200')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff24description{$Pos}" FieldName="Tiny_x0020_Term_x0020_Site_x00200" ControlMode="New"/>
                    </td>
                </tr>
        </table>
    
        </div>
    
        <h3><a href="#"><span>Explanation</span></a></h3>
        <div id="Explanation">
            <table >
        <tr>
                    <td  valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader">
                            <nobr>Explanation</nobr>
                        </H3>
                    </td>
                    <td  valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff25{$Pos}" ControlMode="New" FieldName="Explanation" __designer:bind="{ddwrt:DataBind('i',concat('ff25',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Explanation')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff25description{$Pos}" FieldName="Explanation" ControlMode="New"/>
                    </td>
                </tr>
                <tr id="idAttachmentsRow">
                    <td nowrap="true" valign="top" class="ms-formlabel" width="20%">
                        <SharePoint:FieldLabel ControlMode="New" FieldName="Attachments" runat="server"/>
                    </td>
                    <td valign="top" class="ms-formbody" width="80%">
                        <SharePoint:FormField runat="server" id="AttachmentsField" ControlMode="New" FieldName="Attachments" __designer:bind="{ddwrt:DataBind('i','AttachmentsField','Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Attachments')}"/>
                        <script>
      var elm = document.getElementById(&quot;idAttachmentsTable&quot;);
      if (elm == null || elm.rows.length == 0)
      document.getElementById(&quot;idAttachmentsRow&quot;).style.display=&apos;none&apos;;
    </script>
                    </td>
                </tr>
                <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
                    <tr>
                        <td colspan="99" class="ms-vb">
                            <span ddwrt:amkeyfield="ID" ddwrt:amkeyvalue="ddwrt:EscapeDelims(string(@ID))" ddwrt:ammode="view"></span>
                        </td>
                    </tr>
                </xsl:if>
        </table>
    
        </div>
        </div>
            </td>
    </tr>
    

share|improve this answer
add comment

If you create the forms using InfoPath without having Forms Services, then every user needs InfoPath.

The msdn article: Walkthrough: Creating a Workflow with Association and Initiation Forms walks though how to create a simple expense report workflow using aspx forms

share|improve this answer
    
Thanks for your help here. I have previously created custom forms in VS and its a lot of work. In the absence of Infopath is there any tool to make like easier, afterall its only an expense form, ideally the form needs a add /subtract item for expense items ? Any views on Nintex ? –  Raj Chahal Jul 31 '12 at 13:58
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.