Error: The form has been closed. This form cannot be opened. It is not workflow enabled. The specified form cannot be found when using InfoPath form in SharePoint Workflow.


These errors occur if the InfoPath form haven’t been published properly.

Always make sure that you have followed the below steps mentioned in the document while publishing the InfoPath form within SharePoint workflow

 https://nishantrana.me/wp-content/uploads/2009/02/errorininfopathform.doc

Bye…

 

The form template is trying to access files and settings on your computer. InfoPath cannot grant access to these files and settings because the form template is not fully trusted. For a form to run with full trust, it must be installed or digitally signed with a certificate.


It may be because the security level would be set as Full Trust, which requires the form to be digitally signed. Change the security level to Domain.

Go To Tools àForm Option àSecurity and Trust to change the security level.

Bye..

Read only field in SharePoint EditForm.aspx


Using JavaScript

First find out the tag corresponding to the input field which would like to set as read only

For this open up the editform.aspx page right click it and select view source

Say this is the tag of the input field

<input name=”TextField” type=”text” value=”Approved” maxlength=”255″ id=”4_ctl00_ctl00_TextField” title=”Status of Idea” class=”ms-long” />

Now open your editform.aspx page in SharePoint designer and add the following script to it

<script type=”text/javascript”>

function SetReadOnly()

{

// find all the elements with tag Name as INPUT

var elements=document.body.getElementsByTagName(“INPUT”);

// loop through all the elements till we find an element with type text and title as name of our field

for (index=0; index < elements.length;++index)

{

if(elements[index].type==“text”)

{

if(elements[index].title==“Status of Idea”)

{

elements[index].readOnly=true;

}

}

}

}

_spBodyOnLoadFunctionNames.push(“SetReadOnly()”);

</script>

Or

<script type=”text/javascript”>

function SetReadOnly()

{

var elements=document.getElementById(‘4_ctl00_ctl00_TextField’);

elements.readOnly=true;

}

_spBodyOnLoadFunctionNames.push(“SetReadOnly()”);

</script>

Or using event handler as mentioned over here

http://blogs.msdn.com/sowmyancs/archive/2008/03/25/creating-a-read-only-field-with-default-value-in-a-sharepoint-list.aspx

Or

Using CAML

http://forums.asp.net/t/1166224.aspx

And to hide button say OK button than

function SetHidden()
{
alert(‘Hi’);
var x=document.getElementsByTagName(“input”);
for (var i=0;i<x.length;i++)
{
if (x.item(i).type==”button”&&x.item(i).value==”OK”)
{
x.item(i).style.display = “none”
};
}
}
_spBodyOnLoadFunctionNames.push(“SetHidden()”);


Bye…

Collect Data from a User and Set Workflow Variable action in SharePoint Designer


The step by step instruction can be found at the below link

https://nishantrana.me/wp-content/uploads/2009/01/sharepoint.doc

Bye…

Building a simple workflow with Visual Studio 2005 in SharePoint


Create a new SharePoint Sequential Workflow project.

Drag and drop SendEmail activity just after onWorkflowActivated1 activity .

Set CorrelationToken property of SendEmail to workflowToken which is the workflow correlation token used by onWorkflowActivated1.

For MethodInvoking set the value sendEmail1_MethodInvoking and click which would generate the handler.

private void sendEmail1_MethodInvoking(object sender, EventArgs e)

{

sendEmail1.To = “myId@g.com”;

sendEmail1.From = ” myId@g.com “;

sendEmail1.CC = ” otherId@g.com “;

sendEmail1.Subject = “MySubject”;

sendEmail1.Body = ” This is test mail”;

}

}

Strong sign the assembly and install it in GAC.

Set your feature.xml as following

<Feature Id=23CB845A-7204-4d41-9873-FE50BEB78BCD

Title=Default Title

Description=This feature is a workflow that …

Version=12.0.0.0

Scope=Site

xmlns=http://schemas.microsoft.com/sharepoint/>

<ElementManifests>

<ElementManifest Location=workflow.xml />

</ElementManifests>

</Feature>

Id– Provide a new guid for uniquely identifying the feature

Title – to be displayed in the list of features deployed to the site

Description – Any description that appears beneath the Title.

Location – Leave it to default as the directory is same.

Set your workflow.xml as following

<Elements xmlns=http://schemas.microsoft.com/sharepoint/>

<Workflow

Name=My Workflow

Description=This workflow …

Id=049971BB-5BAA-4bf1-98A2-747675A18DCB

CodeBesideClass=SharePointWorkflowLibrary3.Workflow1

CodeBesideAssembly=SharePointWorkflowLibrary3, Version=1.0.0.0, Culture=neutral, PublicKeyToken=58efe34bdb2df93e

>

<Categories/>

<MetaData>

<StatusPageUrl>_layouts/WrkStat.aspx</StatusPageUrl>

</MetaData>

</Workflow>

</Elements>

Name – Name of the workflow.

Description – Any description about the workflow

Id – A new guid for the workflow

CodeBesideClass – Namespace.ClassName

CodeBesideAssembly – name of assembly, version , culture and publicKeyToken which we can get by right clicking the assembly in gac and selecting properties.

Remove all other entries as we are not using any forms for this workflow.

Now modify the install.bat file as mentioned in the instruction for the same.

Run install.bat

Next go to the site where the new workflow has been deployed.

Select any document library – than settings- document library settings – workflow settings – add a workflow.

We’ll see our workflow within the workflow template.

Correlation Token – A correlation token is essentially a means of uniquely identityfing each instance of a workflow, modification or task.

Bye…

SetState for CustomEntity in CRM


For every new custom entity created in CRM corresponding SetStateCustomEntityNameRequest and SetStateCustomEntityNameResponse class gets created which we can use to set their status.

 

In the below example we have set the status inactive for our custom country entity records.

 

 

 SetStateNew_CountryRequest myCountryRequest = new SetStateNew_CountryRequest();

                // guid of the record to be deactivated

                myCountryRequest.EntityId = new Guid(“3AE10D22-60E4-DD11-9D85-00164145E126”);

                // statecode – 1 , statecodename- Inactive, statuscode – 2, statuscodename – Inactive

                // statecode – 0 , statecodename- Inactive, statuscode – 1, statuscodename – Inactive

                myCountryRequest.New_CountryState = New_CountryState.Inactive;

                myCountryRequest.New_CountryStatus = 2;

                SetStateNew_CountryResponse myCountryResponse = (SetStateNew_CountryResponse)crmService.Execute(myCountryRequest);

 

Bye ..

Nishant Rana's Weblog

Everything related to Microsoft .NET Technology

Skip to content ↓