Showing posts with label news. Show all posts
Showing posts with label news. Show all posts

Friday, September 16, 2011

Last post

This is the last post here. From now on you can reach us at www.biz-forward.com . Thanks for understanding.

Saturday, February 05, 2011

BIZ-FORWARD.COM

IMPORTANT ANNOUNCEMENT: we moved to www.Biz-Forward.com . Meet us there.

Friday, January 28, 2011

Authors

Our crew just got bigger. Let's welcome our newest authors. Here's a brief description about each author.

Mirel APOSTOL - Tech Mastermind
- he got his title for a good reason, he's the most skilled developer/architect I met so far. There's no technology he can't master or teach others. But his skills go beyong programming, Mirel being a good manager/leader. He proved himself in each and every project he was a part of. He has a good sense of humour, enthusiasm and he is the man you need on your side, if you want to get your business forward :) Let's all welcome Mirel.

Octavian CUCUTA - Software Developer
- and a very good friend of mine. Tavi is the developer that thinks in general terms and the code he writes can serve more than just the problem it was written for. Design is also one of his skills. Tavi puts passion in every single line of code he writes, he documents his job very well and, to be honest, am glad I can collaborate with him. Let's welcome Tavi.

Walter HAUPTMANN - Business Consultant
- my friend, my neighbour, my colleague, my managing partner @ CWS. Walter started as a developer and now he's a very skilled business analyst, consultant and project manager. He often has innovative ideas and likes to express himself via design, painting being one of his hobbies. Also, he's the funniest man I've met. In my opinion, he should consider a stand-up comedian career :) Let's welcome Walter.

Alina ANDREESCU - Software Developer
- a lovely and funny presence, very smart and skilled .NET developer. She's the type of person that treats all the tasks seriously, making the final products work smooth. Alina is a bit shy, so let's encourage her writing skill :) Let's welcome Alina.

Radu CHIRAN - Business Consultant
- he's the party-animal type. I can't imagine a good party, without him there. He's more of a dancer than human (to quote the famous song). Radu also has the vision of a product manager. He can easily track business goals & needs and analyse them, so coders can make it happen. Also, his sense of humour is one thing you'll surely notice if you get the honor to meet him in person. All my respect for him, let's welcome Radu.

Daniel PINSLER - Software Developer
- and also a very good product support professional who likes to get the job done well. If you got a question with no answer, don't worry, he has all the answers (yes boys & girls, when you have a dilemma, contact Dani). He also loves house music and house events and. Let's welcome Daniel.

Nikolay EFTIMOV - Solutions Architect
- I met Nikolay in a Microsoft vs. Oracle PoC competition. He made a real good impression. He easily masters more than just Microsoft Dynamics CRM platform. The final product he worked on for that competition was more than I personally expected. He's a skilled coder & architect and I'm sure there's no task he can't complete. Let's welcome Nikolay.

Ciprian MOCANU - Web Developer
- he's the best friend one can have. He's a very skilled web developer, leading MBE to success daily (he's "the duck behind the operation"). Let's all welcome Ciprian.

Cornel CROITORIU - Senior Software Developer & Founder
- My mission is simple. Here's why I did this: "Because I strongly believe that a good business solution is a must for every business, no matter the stage. This blog will help both developers & consultants achieve their goals, making the final product exactly what the customer wanted."

And a song I hope from all my heart that this blog will be one day, thanks to all of you - the community. Welcome to the new Biz-Forward.com!




Cornel

Areas of interest

These are the areas we will cover in our posts:

Microsoft Dynamics CRM
Microsoft Dynamics NAV
Microsoft Dynamics AX
Microsoft SharePoint
Microsoft Office
Microsoft SQL Server
C#
WPF
WCF
Silverlight
ASP
HTML
JavaScript
.NET Framework
Windows 7
Windows Mobile
Windows Phone 7
Visual Studio 2010
Microsoft Surface
Project Management
Product Management
PR
Marketing

Rebranding

Our blog will "suffer" some minor adjustments. It won't be just a CRM blog from now on, but a Microsoft Business Solutions blog, with topics about Dynamics CRM, NAV, AX, SharePoint, Office, .NET (C#, WPF, WCF, Silverlight, asp), HTML & JavaScript and much more. Stay tuned, we are gonna move your business process forward, for our new name/brand is Biz Forward.

Thursday, January 27, 2011

Change attachment file limit

More details about this issue can be found here: http://rahulsalunkhe.wordpress.com/2010/08/26/increasing-the-crm-4-0-attachment-size-limit . This should work under CRM 2011 as well.

Wednesday, January 26, 2011

Creating records in CRM 2011 using JavaScript

Using the CRM Web Service, you can create new entity records, just using JavaScript. The following code demonstrates this:

// Make Struct
function MakeStruct(names) {
var names = names.split(' ');
var count = names.length;
function constructor() {
for (var i = 0; i < count; i++) {
this[names[i]] = arguments[i];
}
}
return constructor;
}


// CRM Field Struct
var CRMField = MakeStruct("SchemaName Value");

// Call Crm Service
function CallCrmService(soapBody, method)
{
try {
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", '/mscrmservices/2007/CrmService.asmx', false);
xmlHttpRequest.setRequestHeader("SOAPAction", 'http://schemas.microsoft.com/crm/2007/WebServices/' + method);
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"
<soap:Envelope xmlns:soap=\'http://schemas.xmlsoap.org/soap/envelope/\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\'>" +
GenerateAuthenticationHeader() + "<soap:Body>" + soapBody + "</soap:Body></soap:Envelope>";
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml);

var resultXml = xmlHttpRequest.responseXML;
var errorCount = resultXml.selectNodes('//error').length;

if (errorCount != 0) {
var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
alert(msg);

return null;
}

return resultXml;
}
catch(err) {
}

return null;
}

// Create Record
function CreateRecord(entityName, fields)
{
try {
var resultArray = new Array();
var attributesList = '';

for(var i = 0; i < fields.length; i++)
attributesList += "<" +
fields[i].SchemaName + ">" + fields[i].Value + "</"+fields[i].SchemaName+">";
}

var xml = "
<Create xmlns='http://schemas.microsoft.com/crm/2007/WebServices'><entity xsi:type='"+entityName+"'>" + attributesList + "</entity></Create>";
var resultXml = CallCrmService(xml, 'Create');

if (resultXml) {
var newid = resultXml.selectSingleNode('//CreateResult').nodeTypedValue;
return newid;
}
}
catch(err) {
}

return null;

}

// USE
// Create new Contact
function CreateContact()
{
var fields = [new CRMField('firstname', 'Cornel'), new CRMField('lastname, 'Croitoriu')];
return CreateRecord('contact', fields); // return new contact id
}

// Create new Annotation
function CreateAnnotation(parentEntityName, parentEntityId, title, text)
{
var fields = [new CRMField('objecttypecode', parentEntityName), new CRMField('objectid', parentEntityId), new CRMField('subject', title), new CRMField('notetext', text), new CRMField('isdocument', false), new CRMField("mimetype", "text/html")];
return CreateRecord('annotation', fields); // return new note id
}

// Example
CreateAnnotation('opportunity', 'FD140AAF-4DF4-11DD-BD17-0019B9312238', 'dynamic generated note', 'text goes here...');

Microsoft Dynamics CRM 2011 Online Global Availability

Microsoft Dynamics CRM 2011 goes international: 40 countries, 41 languages. Click here for more details.

Tuesday, January 25, 2011

CRM Stuff - 4 years together

CRM Stuff has reached its 4th anniversary. I'd like to thank the community for all the support, comments, ideas, suggestions and thoughts.

Best of luck,
Cornel
CRM Stuff

CRM 2011 Custom Form Button



Using some of the basic DOM vs JavaScript capabilities, you can use the following code to dynamically generate a custom button for your CRM Form in Microsoft Dynamics CRM 2011 (scroll to the end of this post to see an example of how to use it). The button will look just like the ones in the toolbar.
All you need is a random CRM field (the type doesn't matter) to host the button (the original field content will be hidden). Also, you'll need a custom function to pass for the onclick event.
Note: the image you use for the button must be placed inside the %programfiles%\Microsoft Dynamics CRM\CRMWeb\_imgs\ico folder.

The final output looks like this:




And... here's the code masterpiece :)...

// CODE

// Create Dynamic Button for CRM 5
function CreateButtonCRM5(fieldName, buttonText, buttonWidth, iconName, clickEvent)
{
functiontocall=clickEvent;
crmForm.all.item(fieldName + "_c").style.display = "none";

var li = document.createElement("LI");
li.setAttribute('id', fieldName + 'LI');
li.setAttribute('className', 'ms-crm-Menu');
li.setAttribute('title', buttonText);
li.setAttribute('onclick', functiontocall);
li.setAttribute('onmousedown', push_custom_button);
li.setAttribute('onmouseup', release_custom_button);
li.style.width=buttonWidth;
li.style.cursor="hand";
li.style.textAlign="center";
li.style.overflow="hidden";

var span = document.createElement("span");
span.setAttribute('className', 'ms-crm-Menu-Label');
span.setAttribute('id', fieldName + 'Span');
span.style.cursor = "hand";
li.appendChild(span);
li.onmouseover = function() { span.setAttribute('className', 'ms-crm-Menu-Label-Hovered'); }
li.onmouseout = function() { span.setAttribute('className', 'ms-crm-Menu-Label'); }

var a = document.createElement("a");
a.setAttribute('id', fieldName + 'A');
a.setAttribute('className', 'ms-crm-Menu-Label');
a.onclick = function() { return false; }
a.setAttribute('target', '_self');
a.setAttribute('href', 'javascript:onclick();');
a.style.cursor = "hand";
span.appendChild(a);

var img = document.createElement("img");
img.setAttribute('id', fieldName + 'Img');
img.setAttribute('className', 'ms-crm-Menu-ButtonFirst');
img.setAttribute('src', '/_imgs/ico/' + iconName);
img.style.cursor = "hand";

var span2 = document.createElement("span");
span2.setAttribute('id', fieldName + 'Span2');
span2.setAttribute('className', 'ms-crm-MenuItem-TextRTL');
span2.innerText = buttonText;
span2.style.cursor = "hand";
a.appendChild(img);
a.appendChild(span2);

removeChildNodes(crmForm.all.item(fieldName + "_d"));
crmForm.all.item(fieldName + "_d").appendChild(li);
}

function push_custom_button()
{
window.event.srcElement.style.marginLeft="1px";
window.event.srcElement.style.marginTop="1px";
}

function release_custom_button()
{
window.event.srcElement.style.marginLeft="0px";
window.event.srcElement.style.marginTop="0px";
}

// USE
function CustomClickFunction()
{
alert("your code goes here...");
}

// Create the button, using the new_custombutton field as a container
CreateButtonCRM5('new_custombutton', 'Custom Button','100 px', '16_cancel.png', CustomClickFunction);


BONUS:
For the developers out there who are still using CRM 4.0, you can use the following function to generate a custom button, CRM styled, based on the same principles as previous article/function.

// Create Dynamic Button for CRM 4
function CreateButtonCRM4(fieldName, buttonText, buttonWidth, clickEvent)
{
functiontocall=clickEvent;
crmForm.all.item(fieldName + "_c").style.display = "none";

crmForm.all.item(fieldName).DataValue = buttonText;
crmForm.all.item(fieldName).style.borderRight="#3366cc 1px solid";
crmForm.all.item(fieldName).style.paddingRight="5px";
crmForm.all.item(fieldName).style.borderTop="#3366cc 1px solid";
crmForm.all.item(fieldName).style.paddingLeft="5px";
crmForm.all.item(fieldName).style.fontSize="11px";
crmForm.all.item(fieldName).style.backgroundImage="url(/_imgs/btn_rest.gif)";
crmForm.all.item(fieldName).style.borderLeft="#3366cc 1px solid";
crmForm.all.item(fieldName).style.width=buttonWidth;
crmForm.all.item(fieldName).style.cursor="hand";
crmForm.all.item(fieldName).style.lineHeight="18px";
crmForm.all.item(fieldName).style.borderBottom="#3366cc 1px solid";
crmForm.all.item(fieldName).style.backgroundRepeat="repeat-x";
crmForm.all.item(fieldName).style.fontFamily="Tahoma";
crmForm.all.item(fieldName).style.height="20px";
crmForm.all.item(fieldName).style.backgroundColor="#cee7ff";
crmForm.all.item(fieldName).style.textAlign="center";
crmForm.all.item(fieldName).style.overflow="hidden";
crmForm.all.item(fieldName).attachEvent("onmousedown",push_custom_button);
crmForm.all.item(fieldName).attachEvent("onmouseup",release_custom_button);
crmForm.all.item(fieldName).attachEvent("onclick",functiontocall);
crmForm.all.item(fieldName).contentEditable= false;
}


and the output:




Wednesday, September 15, 2010

Another way of loading certain CRM Views into an IFRAME on the main form

Since every CRM View has its own GUID and can be launched using the Advanced Find out-of-the-box functionality, you can follow several easy steps to load what view you want (with whatever additional filters you want) in a certain IFRAME available on the crmForm.
Here's the scenario: you wanna display your active contacts (My Active Contacts view) in a separate TAB on your account entity form.
- find out the id and objecttypecode of your view;
- create a new TAB and IFRAME on the form of the account entity;
- dynamically set the IFRAME URL as following:
http://[crm_server_name]/[ORGANIZATION_NAME]/AdvancedFind/AdvFind.aspx?EntityCode=[CRM_VIEW_ENTITY_CODE]&QueryId=[CRM_VIEW_ID]&ViewType=1039&AutoRun=True (for our scenario, it would be something like http://CRMSERVER/MyOrganization/AdvancedFind/AdvFind.aspx?EntityCode=2&QueryId={FC3A5B78-1AA4-10C4-1234-12C45B78F01A}&AutoRun=True )
Warning: you must type "AutoRun=True" using this casing. lower/upper case won't trigger the Advanced Find to auto run (and that because the parsing of that parameter is as it is).

There you go - your custom filtered view available anywhere you want on any form :)

Monday, September 08, 2008

Welcome Tavi

Let's give a big welcome to our newest author - Mr. Octavian Cucuta on CRM Stuff blog. He promises a lot :P

Monday, February 18, 2008

Welcome Alex

Welcome Mr. Alexandru Radu on CRM Stuff blog. Alex is a CRM Project Manager, Consultant, Trainer and also a MCP, with lots and lots of CRM experience.

Thursday, February 14, 2008

Welcome Adi

Let's give a warm welcome to our newest author - Mr. Adrian Toderut on CRM Stuff blog. He's a very good consultant with a lot of experience in Microsoft Dynamics CRM.

Tuesday, February 05, 2008

Back...

Well, like I said, I'm back in business and I promise that asap I'll post a few useful ideas. I'd like to think that 2008 will be the year of CRM in Romania and not only, as MS Dynamics CRM Titan will replace, step by step, CRM 3.0. Stay tuned...

P.S. Thanks Microsoft for the MCP in Business Solutions, looks nice :)

Friday, February 01, 2008

Nofollow - free

Blogger by default, and other blogging software such as WordPress, automatically adds the "nofollow" microformat extension to all links from user generated content. User generated content is defined as comments or external sources such as linkbacks and trackbacks.


I support the people of the blogging community who have chosen to remove NoFollow for blog comments and linkbacks/trackbacks and I highly recommend others to do so.


Removing the "nofollow" attribute will help people who are giving you comments to increase their website/blog PR (Page Rank). I currently set the lower limit to 1 for my blog, so feel free to comment, 1 comment/user will help you raise your PR :)


If you want to learn more about this feature, try the following links:

Click here for blogspot/blogger

Click here for WordPress

Thursday, January 10, 2008

Exams...

Considering the fact that the examining session at the college has begun for me, I'll suspend the posting around here for a while (until february 2008). I promise to be back with new useful features asap. Good luck!

Tuesday, January 01, 2008

Small Business Loan

If you are seeking money in the form of an unsecured small business or personal loan, you have located a useful source to assist with your financing needs. America One is what you're looking for. In the past year alone, they’ve helped their clients receive millions in approvals.By using this great service - Small Business Loans, you benefit from extensive knowledge of today's most active lending sources. Their specialty product is a signature loan that can be used for any purpose, with no collateral required. Approval is based upon your current credit standing.

Why use America One?

First and foremost when you borrow money, you want to be sure you are applying with a company you can trust. At America One Funding, they have been providing consumers and small business owners’ fair and equal access to unsecured financing nationwide since 1999. It seems these days that almost every financial website claims to be the biggest and best, but in their case it is a fact. They are the largest unsecured loan consulting and placement firm in the nation for seven consecutive years, assisting over 500,000 applicants per year.

While they are proud of their growth, they also work hard to maintain the entrepreneurial grassroots approach to financing that has led to their success. When you work with America One, you will receive superior and accessible service from a highly trained unsecured financing expert. You will find them compassionate to your unique situation, but also willing to speak to you in realistic terms about your loan options. They will never tell you what you want to hear, just to get your business. In addition, unlike many other banks and finance companies, they are exclusively dedicated to unsecured financing, which leads to higher approval rates and better overall customer satisfaction.

At America One, the business philosophy can be summed up by one simple question; why risk your valuable assets to borrow money if you don’t have to? When you allow them to help you, your unsecured loan request will have best possible chance of being approved for the amount of money you need, and at rate and term you can afford. It only takes a few minutes to pre-qualify and you can have money in hand as fast as a few days.

The professional staff is available for a free consultation. Start by clicking the service most suitable for you, right after you visit Small Business Loan website.

Friday, December 14, 2007

Microsoft CRM Google Maps integration tool

I'm proud to present a very useful tool - MSCRM Google Maps - developed by Wolter Kreun, a friend of mine, a tool that managed to bring together two strenghts: Microsoft Dynamics CRM and Google Maps.
You can get a free sample from www.crmmaps.com and also see the latest news about it.
The beta version of the MSCRM Google Maps is available in 5 different languages: Russian (thanks to Evgeniy Yurevich), Spanish (thanks to Geraldo Luiz Yoshizawa), French (thanks to Samy Barmada), German (thanks to Jaksch Michael) and Romanian (thanks to Cornel Croitoriu).

Here are some sample movies:

1. Showing an map from the account entity
2. Showing one or more custom entities
3. Showing alle contacts in one map

We hope you'll find this tool useful and use the full version in your projects.

Sunday, December 02, 2007

Generating tooltips on certain events

A tooltip is a small box of explanatory text (usually on yellow background) that appears when the mouse pointer is held over a button or other interface element.
In Microsoft Dynamics CRM we can define constraints (masks) on certain fields. It is desired that the user is well informed about the text’s format, in real time, when triggering the onmousemove event on a certain field.
In this tutorial, we show you a function that generates tooltips on CRM’s forms, triggered by mouse events, such as: onclick, ondblclick, onmouseover, onmousedown and especially, onmousemove.

The links for this tutorial are:
English version --> click here
Romanian version --> click here

Here are some prints (examples) of different types and styles of tooltips made with the function presented in this tutorial:

Example 1:
Account Entity - Account Name - onmousemove event

Example 1
Example 2:
Account Entity - Primary Contact - onmousemove event

Example 2
Example 3:
Account Entity - Body - ondblclick event

Example 3
Example 4:
Account Entity - Account Number - onmousemove event (default Windows style)

Example 4

We hope you found this solution useful :) If you find, by any chance, any mistakes in the tutorial, please let us know. Thank you.