Thursday, June 25, 2009

THIS BLOG HAS MOVED

The Hilltops IT blog has moved here: http://www.hilltopsit.co.uk/blog/

Please see the new site to receive up-to-date postings.

Friday, June 19, 2009

ACT: improved your calendar load speed

Microsoft have a hotfix for Windows systems that will improve nearly any application that uses dates. Tests by Sage have found loading 16,000 Activities in ACT! by Sage contact manager reduced from 4 minutes to 9 seconds!!!

You can download and read more about the update here: http://support.microsoft.com/kb/960417/en-us

Please post here to share experiences and verify improvements to your ACT! by Sage system (or other applications) speed.

Thanks.

Thursday, June 18, 2009

CONNECTIT: Windows 7 compatibility

Please find below some feedback we received regarding ConnectIT running on Windows 7 from one of our valued partner resellers - Matthew Rose from Quintadena

We’ve got two customers running Windows 7, company wide.

One of them are [ABC Widgets ltd], they’re also running ConnectIT.

Just for your awareness, we/Aspire can’t find a resolution for a PDF generator issue with Win7 builds before the Release Candidate.

Anything greater than build 7100 can use QW as normal - with a minor configuration setting change.

[ABC Widgets ltd] have never experienced any issues with running C-IT before/after Release Candidate.



If you have experience (positive or otherwise) of running ConnectIT on the Windows 7 operating system, then please post and/or email support@connectit-online.co.uk - your input will be truly valued.

QUOTEWERKS: Windows 7 compatibility

Please find below some feedback we received regarding QuoteWerks & ConnectIT on Windows 7 from one of our valued partner resellers - Matthew Rose from Quintadena:

We’ve got two customers running Windows 7, company wide.

One of them are [ABC Widgets ltd], they’re also running ConnectIT.

Just for your awareness, we/Aspire can’t find a resolution for a PDF generator issue with Win7 builds before the Release Candidate.

Anything greater than build 7100 can use QW as normal - with a minor configuration setting change.

[ABC Widgets ltd] have never experienced any issues with running C-IT before/after Release Candidate.



If you have experience (positive or otherwise) of running QuoteWerks or ConnectIT on the Windows 7 operating system, then please post and/or email support@quotewerks.com or support@connectit-online.co.uk - your input will be truly valued.

Monday, June 15, 2009

MSCRM: upgrade 32-bit MSCRM 3.0 to 64-bit MSCRM 4.0

Below are our notes from recently upgrading a clients 32-bit Small Business Server 2003 (SBS2003) with SQL Server 2000 to 64-bit Windows Server 2008 with SQL Server 2008. We hope that you find them useful.




As you may probably be aware - in the above situation, it is not possible to upgrade directly. MSCRM 3.0 is not supported on 64-bit Windows Server 2008 and MSCRM 4.0 is not supported on SQL Server 2000. So a transitional interim server is required. We set up a Virtual Machine with Windows Server 2003 and SQL Server 2005 to act as the transitional server. Both MSCRM 3.0 and 4.0 are supported in a Windows Server 2003 and SQL Server 2005 environment.




Before starting, you'll need to make sure that all prerequisites have been installed on the interim Windows Server 2003 and the new Windows Server 2008 machines. For details of the prerequisites, refer to the Microsoft CRM 3.0 Implementation Guide and Microsoft CRM 4.0 IG Planning document.


Also, please note that if the interim server has had MSCRM 4.0 installed on it previously (perhaps it was used for testing purposes?) then we recommend that you manually remove the Microsoft Dynamic CRM 4.0 server before starting. Just using Add/Remove programs does not remove all files and/or registry entries which can cause anomalous errors when upgrading.



In summary, these are the steps which we went through:


* Install the Microsoft CRM 3.0 Redeployment Wizard on the transitional server

* Redeploy the Microsoft CRM 3.0 installation from the SBSSVR 2003 box to the Windows Server 2003 - see Microsoft CRM 3.0 Redeployment guide

>> See this article if get the error "you cannot mix small business edition and professional edition license keys"

>> See this article if you get a warning "the specified database has a later version"


* Thoroughly test the new MSCRM 3.0 installation!


* Install MSCRM 4.0 as according to the Microsoft Dynamics CRM IG Installing document section 2-16

>> For more details on warnings and errors that you might get during the installation wizards final checks, then review the installation log here: C:\Documents and Settings\(user)\Application Data\Microsoft\Mscrm\Logs\Crm40svrsetup.log

>> See the article here is you get warning messages about "word breaker for language 9999 is not installed"

>> See the article here if you get an error that "The full-text indexes on the Microsoft Dynamics CRM database are not consistent with Microsoft Dynamics CRM 3.0 full-text indexes"

>> See the here article if you have been using the unsupported currentUserHasRole to control field access.




* Thoroughly test the interim MSCRM 4.0 installation!

>> See the article here if "custom ISV Config menu options do not show".

* Redeploy MSCRM 4.0 to the 64-bit Windows Server 2008 / SQL Server 2008 environment as according to the Microsoft "How to move the Microsoft Dynamics CRM 4.0 deployment" Knowledgebase article.

>> See the article here if, when installing MSCRM 4.0, you get the error "the instance name must be the same as the computer name" from the Microsoft SQL Server System Requirements check.
>> Note that the final step to change the Organization in the Deployment Manager does take a while to execute at the stage where you can "Auto-map users" (or at least it did for us!). To speed up the process, then assuming that the old and new servers are on the same domain, then you can just "Keep existing" which is significantly quicker.


* Thoroughly test the final MSCRM 4.0 installation!

>> See the article here if "custom ISV Config menu options do not show".



We hope that this article has helped! Please comment to add any further tips and links that might be useful to people upgrading to MSCRM 4.0.



For more Microsoft Dynamics CRM resources and more including applications such as QuoteWerks, ACT! by Sage, plus software and website development tips, then please see the Hilltops IT website.

Saturday, June 13, 2009

MSCRM: CRM 4.0 install starts then crashes, Managed Setup exited with code -532459699

When running the ServerSetup.exe a screen appears initially, but then the installation crashes fata error.

In the C:\Documents and Settings\(user)\Application Data\Microsoft\Mscrm\Logs\Crm40svrsetup.log installation log file is the message:
"Managed Setup exited with code -532459699"

In the C:\Documents and Settings\(user)\Application Data\Microsoft\Mscrm\Logs\crm40setup.log installation log file is the message:
"Microsoft Dynamics CRM is already installed."


Complete log file entries look like this:

crm40svrsetup.log

18:02:39 Info === Setup bootstrap logging started 13/06/2009 18:02:39 ===
18:02:39 Info Bootstrap version: 4.0.7333.3.
18:02:39 Info User: administrator.
18:02:39 Info === Setup bootstrap logging ended 13/06/2009 18:02:39 ===
18:02:40 Info === Setup bootstrap logging started 13/06/2009 18:02:40 ===
18:02:40 Info Bootstrap version: 4.0.7333.3.
18:02:40 Info User: administrator.
18:02:41 Info .NET version found is 3.0.30618.0
18:02:41 Info IsDotNetInstalled=1
18:02:41 Info IsDrWatsonInstalled=1
18:02:41 Info MSXML found is 6.20.1099
18:02:41 Info IsMsXmlInstalled=1
18:02:41 Info Installer path for Microsoft Visual C++ Runtime set to D:\Redist\amd64\VcRedist\vcredist_x64.exe
18:02:41 Info IsReportViewerControlInstalled=1
18:02:41 Info Sql Native Client version found is 9.0.3042
18:02:41 Info IsSqlNativeClientInstalled=1
18:02:41 Info Installing Microsoft Visual C++ Runtime
18:02:43 Info Installation of Microsoft Visual C++ Runtime has completed. Exit code: 0. Result: Version installed: 8.0
18:02:43 Info === Setup bootstrap logging ended 13/06/2009 18:02:43 ===
18:02:46 Info === Setup bootstrap logging started 13/06/2009 18:02:46 ===
18:02:46 Info Bootstrap version: 4.0.7333.3.
18:02:46 Info User: administrator.
18:02:46 Info Managed Setup exited with code -532459699.
18:02:46 Info === Setup bootstrap logging ended 13/06/2009 18:02:46 ===




crm40setup.log

18:02:38 Info === Setup bootstrap logging started 13/06/2009 18:02:38 ===
18:02:38 Info Bootstrap version: 4.0.7333.3.
18:02:38 Info User: administrator.
18:02:38 Info Invoked with command line: setupserver /InstallAlways
18:02:39 Info Running D:\Server\amd64\SetupServer.exe
18:02:39 Info Loading bootstrap library D:\Server\amd64\ServerSetup.dll
18:02:39 Info Microsoft Dynamics CRM is already installed.
18:02:39 Info Closing bootstrap library D:\Server\amd64\ServerSetup.dll
18:02:39 Info Copying installer files to local directory:
18:02:39 Info Package: D:\Server\amd64\Server.msi, Options: REINSTALL="Installer" REINSTALLMODE=vo INSTALLDIR="C:\Users\ADMINI~1.DYN\AppData\Local\Temp\2\MSCRM_{03A7A017-659A-4914-8400-3EC097D33A22}" TARGETDIR="C:\Users\ADMINI~1.DYN\AppData\Local\Temp\2\MSCRM_{03A7A017-659A-4914-8400-3EC097D33A22}" ALLOWRUN=1
18:02:40 Info Loading bootstrap library C:\Users\ADMINI~1.DYN\AppData\Local\Temp\2\MSCRM_{03A7A017-659A-4914-8400-3EC097D33A22}\ServerSetup.dll
18:02:46 Info Closing bootstrap library C:\Users\ADMINI~1.DYN\AppData\Local\Temp\2\MSCRM_{03A7A017-659A-4914-8400-3EC097D33A22}\ServerSetup.dll
18:02:46 Info === Setup bootstrap logging ended 13/06/2009 18:02:46 ===




Even though Microsoft Dynamics CRM 4.0 may not appear on the Add/Remove Programs list, some files or registry entries may have been completely removed. We recommend that you go the setps in the How to anually remove the Microsoft Dynamic CRM 4.0 Microsoft Knowledgebase article to ensure that a previous installation has been completely removed.

MSCRM: Installing - the instance name must be the same as the computer name

When installing Microsoft Dynamics CRM MSCRM 4.0 you get the error "the instance name must be the same as the computer name" from the installation wizard Microsoft SQL Server System Requirements check.




This may be because 1) the server name has been changed since SQL Server was installed, or 2) you are running a 64-bit or Windows Server 2008 environment.

Note that in the Microsoft Dynamics CRM 4.0 "Help", it may state that only SQL Server 2005 is supported. This is not the case; for more information please see the Microsoft Knowledgebase article "Support for running Microsoft Dynamics CRM 4.0 together with Microsoft SQL Server 2008".

To check if the server name has been changed since SQL Server was installed, open Microsoft SQL Server Management Studio and run the following query:
SELECT * FROM sys.servers

If the current server name is not listed, then use the following procedures to correct the issue:
Execute sp_dropserver <OldServerName>
Execute sp_addserver <NewServerName>, local

If you are running a 64-bit or Windows Server 2008 environment, then check that Named Pipes have been enabled in the SQL Server Network Configuration (Start menu All Programs Microsoft SQL Server Configuration Tools SQL Server Configuration Manager expand SQL Server Network Configuration highlight Protocols for <SQLInstanceName> Enable Named Pipes.

MSCRM: the specified database has a later version

Upgrading or redeploying your Microsoft Dynamics CRM (MSCRM) 3.0 installation, you get the error: "the specified database has a later version" in the final checks of the installation wizard.

This is a warning only, so the wizard will allow you to continue. To remove the error though, you can update the Build Number field in the MSCRM Build Version table:

UPDATE BuildVersion SET Revision = 0 WHERE BuildNumber = 5300

MSCRM: you cannot mix small business edition and professional edition license keys

Upgrading or redeploying your Microsoft Dynamics CRM (MSCRM) 3.0 installation, you get the error: "you cannot mix small business edition and professional edition license keys" in the final checks of the installation wizard.

Try deleting all the rows from the MSCRM License table:

DELETE FROM MY_Organisation_MSCRM.dbo.License

Friday, June 12, 2009

GOGLOBAL: update that adds support for Windows Update KB968537

Hilltops IT is pleased to announce the availability of the Compatibility Update that adds support to GO-Global for:
  • Windows 3.1.1 for Windows Update KB968537 on Windows Server 2003 (SP1 and SP2),
  • Windows XP (SP2 and SP3), and
  • Windows 2000-SP4.

The update can be downloaded from GraphOn at the following location:

ftp://ftp.graphon.com
username: ggw-updates
password: 1Kc3waJtw

or alternately,

ftp://ggw-updates:1Kc3waJtw@ftp.graphon.com

File name is: CompatibilityUpdate3.1.1_Jun11_2009.exe

GO-Global for Windows 3.1.1.3544 is a prerequisite for the 3.1.1 Compatibility Update.

Please go to this link to get the list of supported Windows updates:

http://www.graphon.com/support/Windows_Updates_Summary.htm

Thursday, June 11, 2009

MSCRM: testing a User's Role (CRM 4.0 only)

Code required to test whether the logged in user to Microsoft CRM has a particular role:

function currentUserHasRole(roleName)
{
//get Current User Roles
var oXml = GetCurrentUserRoles();

if(oXml != null)
{
//get list of role names
var roles = oXml.selectNodes("//BusinessEntity/q1:name");

if(roles != null)
{
for( i = 0; i < roles.length; i++)
{
if(roles[i].text == roleName)
{
//return true if user has this role
return true;
}
}
}

}
//not found, return false
return false;

}

function GetCurrentUserRoles()
{
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>" +
" <RetrieveMultiple xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
" <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\">" +
" <q1:EntityName>role</q1:EntityName>" +
" <q1:ColumnSet xsi:type=\"q1:ColumnSet\">" +
" <q1:Attributes>" +
" <q1:Attribute>name</q1:Attribute>" +
" </q1:Attributes>" +
" </q1:ColumnSet>" +
" <q1:Distinct>false</q1:Distinct>" +
" <q1:LinkEntities>" +
" <q1:LinkEntity>" +
" <q1:LinkFromAttributeName>roleid</q1:LinkFromAttributeName>" +
" <q1:LinkFromEntityName>role</q1:LinkFromEntityName>" +
" <q1:LinkToEntityName>systemuserroles</q1:LinkToEntityName>" +
" <q1:LinkToAttributeName>roleid</q1:LinkToAttributeName>" +
" <q1:JoinOperator>Inner</q1:JoinOperator>" +
" <q1:LinkEntities>" +
" <q1:LinkEntity>" +
" <q1:LinkFromAttributeName>systemuserid</q1:LinkFromAttributeName>" +
" <q1:LinkFromEntityName>systemuserroles</q1:LinkFromEntityName>" +
" <q1:LinkToEntityName>systemuser</q1:LinkToEntityName>" +
" <q1:LinkToAttributeName>systemuserid</q1:LinkToAttributeName>" +
" <q1:JoinOperator>Inner</q1:JoinOperator>" +
" <q1:LinkCriteria>" +
" <q1:FilterOperator>And</q1:FilterOperator>" +
" <q1:Conditions>" +
" <q1:Condition>" +
" <q1:AttributeName>systemuserid</q1:AttributeName>" +
" <q1:Operator>EqualUserId</q1:Operator>" +
" </q1:Condition>" +
" </q1:Conditions>" +
" </q1:LinkCriteria>" +
" </q1:LinkEntity>" +
" </q1:LinkEntities>" +
" </q1:LinkEntity>" +
" </q1:LinkEntities>" +
" </query>" +
" </RetrieveMultiple>" +
" </soap:Body>" +
"</soap:Envelope>";

var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction"," http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml);

var resultXml = xmlHttpRequest.responseXML;
return(resultXml);

}




The code need to be placed at the top of any Form Event where you want to use the function. the function can then simply be called as follows:

if(currentUserHasRole(‘Salesperson')){
//do this stuff
}else{
//do other stuff
}




We hope this helps anyone getting to grips with java script coding in MSCRM 4.0!

Please post any thoughts or improvements that you have to this.

Thanks, Hilltops IT

MSCRM: testing a User's Role (CRM 3.0 only)

This is quite an old tip now, on several blogs and forums, but we'd thought we'd repeat it here to keep it with the updated code for MSCRM 4.0 (see next post). The code below needs to be put in either the global.js file (by default located here C:\Program Files\Microsoft CRM\CRMWeb\_common\scripts\) of in the top of each Form event where you need to call the function. It's then just a case of calling the following in the Form Event:

if(currentUserHasRole(‘System Administrator’)){
//do this stuff
}else{
//do other stuff
}


Note that putting the code in the global.js is a risky strategy as if a patch or update is installed, then the changes may be lost. It does save copy/pasting into each and every Event; the choice is yours!

Java script code to test whether a User has a particular Role:

function getUserId()
{
try
{
var command = new RemoteCommand("SystemUser", "WhoAmI", "/MSCRMServices/");
var oResult = command.Execute();

if (oResult.Success)
{
return oResult.ReturnValue.UserId;
}
}
catch(e)
{
alert("Error while retrieving userid.");
}
return null;
}

function getUserRoles(userId)
{
try
{
var command = new RemoteCommand("UserManager", "GetUserRoles");
command.SetParameter("userIds", "<guid>" + userId + "</guid>");

var oResult = command.Execute();

if (oResult.Success)
{
return oResult.ReturnValue;
}
}
catch(e)
{
alert("Error while retrieving roles.");
}
return null;
}

function userHasRole(userId, roleName)
{
result = getUserRoles(userId);
if (result != null)
{
var oXml = new ActiveXObject("Microsoft.XMLDOM");
oXml.resolveExternals = false;
oXml.async = false;
oXml.loadXML(result);

roleNode = oXml.selectSingleNode("/roles/role[name='" + roleName + "']");
if (roleNode != null)
{
if (roleNode.selectSingleNode("roleid[@checked='true']") != null)
return true;
}
}
return false;
}

function currentUserHasRole(roleName)
{
userId = getUserId();
return userHasRole(userId, roleName);
}

Wednesday, June 10, 2009

QUOTEWERKS: QuoteWerks v4.0 build 47 released

QuoteWerks v4.0 build 47 released; details of new features and fixes below.

Free evaluation available for download here.


New Features

1. Added support for SugarCRM (versions 5.1 and 5.2) open source web based contact management software ( www.sugarcrm.com ). The integration includes: a) SugarCRM can be searched to find Contacts or Accounts to pull into the quote. b) QuoteWerks will create/update a linked document (as a SugarCRM note attachment). c) QuoteWerks will create/update a follow up call (as a SugarCRM Call). d) QuoteWerks will create/update a Sales Opportunity (as a SugarCRM Opportunity). e) The QuoteWerks DataLink feature can be used with SugarCRM enabling you to retrieve information like Terms and shipping method from the SugarCRM Contact or Account into the quote. f) When printing, QuoteWerks can retrieve Contact or Account data from SugarCRM and include it in the printed output. g) SugarCRM Contact and Account data can be retrieved using the F2 Lookup macro of ~SugarCRM_Macro().

2. Online Ordering module can place online orders with D & H (USA and Canada) from within QuoteWerks (requires Real-time and Online Ordering modules). Order items from a single order, or combine items from multiple QuoteWerks orders into a single D & H order. This will save you the time and hassle of calling your D & H sales rep and reading each part number, quantity, and price to him/her. Another benefit is that the order date and D & H sales order number will automatically be stored with your QuoteWerks order for reference. When placing D & H online orders electronically through QuoteWerks, there is an option that will let you place the order on hold. This will afford you an opportunity to review the order with your distributor rep and negotiate pricing without the time consuming process of reading to your sales rep all the part numbers, quantities, ship to location, etc. No more calling your distributor sales rep only to reach voice mail (understandable - sales reps can't be on the phone with more than one customer at a time) and then have to remember try again later in the day to place the order - or wait for a call back! This is truly the best of both worlds - automation with sales rep service!

3. Added Real-time Pricing & Availability support for D&H Canada.

4. Real-time Pricing and Availability is now available for IT distributor BlueStar ( www.bluestarinc.com ).

5. GoldMine 8.5 (Premium Edition) is now supported!

6. Peachtree 2010 is now supported!

7. Added support for linking to Microsoft Access 2007 databases as a Product Data Source.

8. Added Misc Access right CannotModifyLiterature, this is useful in preventing users from modifying these files from the Literature tab on the Print window.

9. Added Misc Access right CannotModifySpecSheets, this is useful in preventing users from modifying these files from the Spec Sheets tab on the Print window, and also on the Advanced tab of the Edit Product window.

10. Added Misc Access right CannotModifyFieldValue:DH_DocStatus.

11. Formula based line items can now references prices in group header line items.

12. Added Edit Append Paste menu.

13. Added support for setting the Document default values for CustomText13 - 20 through the SITE.INI file. Under the [Defaults] section of the SITE.INI file, you can set ini keys (for example) of CustomText13=my default.

14. On the Lookup Contact window the [Select for Sold To], [Select for Ship To], and [Select for Bill To] buttons now display their customized labels instead of their hard coded names (if they have been customized).

15. On the Defaults tab of the QuickBooks Setup window, increased the size of the account dropdowns enabling you to fully see larger account names, and also added tooltip support for extremely long account names.

16. For QuickBooks users, on the Create QuickBooks Item the size of the account dropdowns has been increased, enabling you to fully see larger account names, and also added tooltip support for extremely long account names.

17. Updated the View Log file window to add support for shortcut keys CTRL-F for find and F3 for find next. Also the text to find will default to the text that is currently selected.

18. If an error occurs while submitting an online order a .log file containing the error details will be created with the same base file name as the online order xml response file.

19. With the improved implementation of the &SYS_InstallPath macro you do not have to setup Path Translations between the Master and Remote installations as long as the external files being synchronized are located under the \QuoteWerks installation folder of both the Master installation and the Remote Installation and both have the same relative path under the \QuoteWerks folder.

20. In SITE.INI file under the [Contact Managers] section added support for the following INI keys (With their default values specified) "SalesLogixOppStatusOpenValue=Open", "SalesLogixOppStatusClosedLostValue=Closed - Lost", "SalesLogixOppStatusClosedWonValue=Closed - Won". This is particularly useful for German or Non-English versions of SalesLogix.

21. For API users, added new DocFunctions.DocumentSaveAsNextRevision(byval bDeletePreviousRevision As Boolean) method.

22. For API users, when an unknown field is requested through the the DocFunctions.GetDocumentHeaderValue method, a message box will no longer be displayed (which would stop the API application). Instead an error code "$$$Error:002" will be returned.

23. On the File Insert Document window, the last selected operator is now memorized (per user), so the next time you open this window, it will be remembered.

24. On the QuoteWerks Contact Lookup window, the last selected operator is now memorized (per user), so the next time you open this window, it will be remembered.

25. For API users, added support for the macros "&ReadOnlyMode", "&ViewOnlyMode", "&NeverBeenSaved" available through the DocFunctions.GetDocumentHeaderValue method.

26. On the System tab of the HelpAbout menu, there is a new value of "Terminal Services Detected".

27. On the System tab of the HelpAbout menu, there is a new value of "UAC Enabled".



Misc Features

1. When the logged in user opens a document that the user has "View" rights to, but not "Modify" rights, "(View only)" will appear in the title bar, and all the fields on the tabs will be locked from manual input. Like before, any changes made to this open quote cannot be saved.

2. In preparation for Windows 7 support, Windows 7 is now detected. Windows 7 UTC (versus GMT) terminology is now supported.

3. Updated the Version Checker with the updated Codejock.ReportControl.v13.0.0.ocx file.

4. The D&H Real-time URL was updated.



Fixes

1. When synchronizing external data sources, the path macro &SYS_InstallPath was not being resolved.

2. The AfterContactSelection API event was firing if the user clicked on the [Select] button even if no contact was actually selected.

3. On the Tech Data and Ingram Micro subtab of the Real-time tab under the ToolsOptions menu, the Online Ordering [Setup] button would be enabled even if the Online Ordering Module was not present.

4. For Outlook BCM users, the last character of the OS logged in user name (used in the Outlook BCM opportunity) would sometimes be truncated.

5. For Outlook BCM users, when creating Outlook BCM opportunity, the Expiration date and Delivery date would sometimes default to "01/01/4501".

6. For Outlook BCM users, Follow up calls (Appointment entries) and Linked documents (Journal entries) would not display under the Communication History for the Business Contact or Account they were associated with.

7. If an external file was selected for synchronization, if no path translation was setup for between the master install and the remote install, an attempt would be made to copy the file on top of itself which would fail and also result in renaming the original file to a .bxx extension.

8. On the Product Lookup window when searching a native product database, and selecting the {NONE} item in the Folder drop down no results would be returned. Now, if you select the option, all products that have not been associated with a folder will be displayed in the results. Additionally, the blank entry has been replaced with the entry which is used to search for a product no matter which folder it is associated with.

9. For Corporate Edition installations rehosted to SQL, When importing a an xml file (formatted to QuoteWerks specifications) from the FileImport Document menu and the data for a field was longer than the length supported by QuoteWerks, an error would be displayed, and that record (the DocumentHeader record, or a DocumentItems record) would not be imported.

10. For API users, in the QuoteWerksBackend object, the Database.Recordset.GetValue method was returning empty values for date fields.

11. When trying to select/add an item using the Configurator by double-clicking the item and a picture was linked to that item and the picture was not found, the item would not be selected. The message box that displayed the file not found error would interfere with the double-click, so now this message can be viewed by hovering over the "Image not Found" image.

12. For Peachtree users using the Peachtree Customer list as the contact manager, after searching for a contact using the ContactsLookup menu, double-clicking on a contact would not select it.

13. Created a workaround for a bug in Peachtree. When updating the price of an existing Peachtree item in the Peachtree Items list, all 3 GL Accounts are reset to the Peachtree default GL Account values. The QuoteWerks workaround fix is to retrieve the existing GL Account values for the Peachtree item and then update these same GL Accounts in the Peachtree item whenever updating the Price of the Peachtree item.

14. For Outlook users, the introduction of the "Advanced Outlook Integration" feature set was accompanied by a requirement that the current contact being pulled into the quote must be located inside the same folder (or subfolder) as defined on the General Tab of the Outlook Integration Setup window. Users would receive an error message even though the "Advanced Integration" was not enabled.

15. If a document (for example AAAQ1001) was saved as a next revision (AAAQ1001-01), then the revision AAAQ1001-01 was deleted, and then the document AAAQ1001 was opened, and a save as next revision was performed on it, the document number for the new revision would be "AAAQ1001-" instead of "AAAQ1001-01".

16. When the API method FindAndCopyProductIntoSLIBuffer was called for an external product data source like QuickBooks or Peachtree, and they were not running, a message box would be displayed to that effect. This would interrupt the program execution of the external API application. Now, no message boxes are displayed if there is a problem with QuickBooks or Peachtree not running; essentially normal usage. However, if there is a configuration or setup issue, message boxes may still be displayed.

17. For ACT! 4.0, 2000/5.0, 6.0 users, when exporting to QuickBooks or Peachtree, the DocStatus field was being updated to reflect that the document was exported, but the DTF file associated with the document was not getting updated.

18. In the Paste Special Wizard, when selecting the "Start session using the settings of a template" option, and changing a column mapping, the data would be pasted into both the originally mapped field AND the currently mapped field. If this change was saved to the Paste Special Template, you will need to open the template and re-save it to fix this issue.

19. When selecting a Paste Special Template file in the Paste Special Wizard and the file was corrupt, the error would close QuoteWerks.

Monday, June 8, 2009

DEVELOPMENT: good software development practices

Here's a list of 5 Good Programming Habits we picked up from Amy Bennett in her article at IT World:
  • The best trick I have is to type the sequences/use cases like a story before I write any code. The outline I create is read over and over, tweaking as I go." (Dan Douglas)
  • Solve small, individual problems (The rule of 'encapsulation'). If I try to make one part of my code do too much, then I've invited trouble. (Sean Devlin)
  • I like to write a routine first as pseudocode in comments, then translate the comments into source code. I find that this is a much faster method for me than writing the source code first. Any mistakes I make in the pseudocode are more easily fixed there than if I wrote the code first. As a bonus, I have accurate and useful comments when the routine is completed. (Jeffrey Henning)
  • Make improvements often -- even if they are small -- so you are always making some progress. (James Stauffer)
  • I make sure that I get a reasonable amount of sleep and that I come back to each piece of code/design/etc. after 'sleeping on it' so that I see/think about it from different angles and states of mind. This helps with everything. (John Mitchell)

Our "top tip" is to code defensively - always be thinking "what if?". We find this particularly useful and helpful because the code module or class we're writing for application "A" may well be used in application "B" at some point in the future. If the module or class hasn't been coded defensively to produce solid bug-free code, then this could mean a lot of re-writes for the developer on application "B".

Please share your thoughts and tips on how to produce great software development products.

CONNECTIT: now available for purchase through BT TradeSpace

The ConnectIT range of products are now available for purchase through BT TradeSpace.

For more information on the ConnectIT suite and how they can help your business save hours of repetitive manual work, please see the ConnectIT websites here:

Or contact your ConnectIT / QuoteWerks reseller.

Sunday, June 7, 2009

MSCRM: custom ISV Config menu options do not show

Custom ISV Config menu options do not appear in Microsoft Dynamics CRM MSCRM 4.0.

This may be following a new installation or following an upgrade from Microsoft Dynamics CRM MSCRM 3.0.

First check that the ISVIntegration key has been added to the <appsettings> group in the web.config file. the web.config file can be found in the Microsoft CRM www root folder. The details should read as follows:

<!--
ISV Integration
========================================================================================
Using /_resources/isv.config.xml, it is possible to customize certain Menus and Tool Bars
throughout the application. This setting is provided as a performance optimization, when
there are no customizations to be rendered this setting should be "Off".
Recommended Setting: "None" (Unless you have customized the isv.config.xml file)
Values:
"All" - ISV Integration is turned on for both Outlook and web client
"Outlook" - ISV Integration is turned on for just Outlook client
"OutlookLaptopClient" - Turned on just for the Outlook laptop client
"OutlookWorkstationClient" - Turned on just for the Outlook work station client
"Web" - ISV Integration is turned on for just the web client
"None" - Not turned on.
Multiple values can be used as long as they are separated by a comma and do not contain spaces. e.g: "Web,OutlookLight"
-->

<add value="Web" key="ISVIntegration">


Next make sure that the ISV Extensions option is selected for the appropriate User roles: see MSCRM 4.0 Settings Administration Security Roles open the appropriate Role Customization tab Miscellaneous Privileges group ISV Extensions option should be coloured green.

Finally make sure that the appropriate Clients have been selected in the System Settings Custom menus and toolbars option: see MSCRM 4.0 Settings Administration System Settings Customization tab Custom menus and toolbars option.


For more information on our Microsoft Dynamics CRM and software development services, please contact us on +44(0) 1782 564252 or email development@hilltopsit.co.uk

Saturday, June 6, 2009

MSCRM: full-text indexes on the Microsoft Dynamics CRM database are not consistent

Problem upgrading from Microsoft Dynamics CRM 3.0 to 4.0: when Microsoft Dynamics the setup wizard System Requirements runs the checks, the error "The full-text indexes on the Microsoft Dynamics CRM database are not consistent with Microsoft Dynamics CRM 3.0 full-text indexes" appears. This is a fatal error which does not allow you to continue with the installation.

Checking in the setup log file here provided the following additional information.

C:\Documents and Settings\(user)\Application Data\Microsoft\Mscrm\Logs\Crm40svrsetup.log

06:12:42 Info The following full-text indexes are not consistent with Microsoft Dynamics CRM 3.0 full-text indexes:
06:12:42 Info tableowner: dbo
06:12:42 Info tablename: productbase
06:12:42 Info fulltextkeyindexname: cndx_primarykey_product
06:12:42 Error remark: modified full-text index
06:12:42 Error
06:12:42 Error The full-text indexes on the Microsoft Dynamics CRM database are not consistent with Microsoft Dynamics CRM 3.0 full-text indexes.
06:12:42 Error Check SqlFullTextIndexValidator : Failure: The full-text indexes on the Microsoft Dynamics CRM database are not consistent with Microsoft Dynamics CRM 3.0 full-text indexes.




WARNING
Several blog and forum postings will take you to this article: http://support.microsoft.com/kb/927226

Do not be tempted to remove the index!!! The error is stating that the full-text index has been modified, not added. Removing the index would not only remove the index and relationships from the Product table, but also makes changes to several other tables. Trying to run the installation check generates even more errors!!!


The cause of the error was found to be because a full-text catalog had been added to the ProductBase table. Removing the full-text catalog resolved the problem and re-running the setup wizard System Requirements checks run ok allowing you to continue with the upgrade.

For more information on our Microsoft Dynamics CRM and software development services, please contact us on +44(0) 1782 564252 or email development@hilltopsit.co.uk

Friday, June 5, 2009

QUOTEWERKS: Security Settings on Product Databases

From Aspire's QuoteWerks Tip of The Day series on the QuoteWerks 411 blog: Security Settings on Product Databases

How to place user restrictions on product databases. Many companies have a variety of products from a wide selection of vendors and would like to limit which sales reps have access to each vendor or product database. Read more.


For more information on QuoteWerks and our QuoteWerks consultancy, training and support services, please contact us on +44(0)1782 564252 or email info@hilltopsit.co.uk



Thursday, June 4, 2009

BLOG: Bing - a new search engine from Microsoft

Microsoft launched a new search engine yesterday.

According to Microsoft:
Bing offers richer, more organised results and an improved search experience, creating more satisfied users who use it more often. The benefit to you? Even more qualified leads to further grow your business online with the market’s highest-converting search engine.

We'll see how Bing fairs against Google's dominance of the search engine market.


For more information on our website design and development and search engine optimisation services, please give us a ring on +44(0) 1782 564252 or email info@hilltopsit.co.uk

Saturday, May 30, 2009

BLOG: Hilltops IT now on Twitter

We've all seen the growth of interest in social networking websites such as Twitter for individuals and increasingly business' too. If you believe the hype, then Twitter is (or will be?) the next "killer app" to revolutionise our use of the internet and communication methods...

So, as a technology company that puts itself to the forefront of software and website development practices. we thought it about time we jumped on the bus!

You can view our tweets and follow the company twitterings here: http://twitter.com/HilltopsIT

The plan is to post strictly business updates on new products, services and development projects which Hilltops IT are involved in. We hope that existing and prospective customers alike will find it a useful way to keep up to date on how Hilltops IT can help their business.

Steve (Mr. Hilltops IT!) has also added his own personal Twitter account to share his thoughts and provide an insight into Hilltops IT's day-to-day activities. You can view the tweets and follow his twitterings here: http://twitter.com/StephenSiggs

Both accounts are something of an experient at this stage to see how we can apply Twitter for business purposes. We'll no doubt be blogging (and tweeting!) on the trial in due course!

Friday, May 29, 2009

QUOTEWERKS: Synnex Online Ordering Module setup

Aspire Technologies (authors of QuoteWerks sales quotation software) have released complete instructions for setting up the Synnex Online Ordering Module integration.

http://quotewerks411.wordpress.com/2009/05/28/quotewerksonlineorderingmodulesetupsynnex/

Tuesday, May 26, 2009

QUOTEWERKS: beta testers for SugarCRM integration required

Aspire Technologies are currently looking for beta testers for the new QuoteWerks integration with SugarCRM: http://quotewerks411.wordpress.com/2009/05/26/quotewerksacceptingbetatestersforsugarcrmintegration/

QuoteWerks has just released an interim build and is accpeting beta testers for the new SugarCRM integration. This new integration will function similar to the other contact manager integrations. Users will be able to test out the following features:

  • Search SugarCRM for contacts or accounts contact information and pull into quote
  • Create/Update linked document
  • Create/Update follow up call
  • Create/Update sales opportunity

Users can also utilize the QuoteWerks DataLink feature to pull additional information into the quote.

Those interested in beta testing this new integration should contact tech support at support@quotewerks.com or call +1 (407) 248-1481 ext. 3.

Saturday, May 23, 2009

QUOTEWERKS: Aspire re-issue info on free QuoteWerks add-on utilities

Aspire Technologies (authors of QuoteWerks sales quotation software) have released a summary of information on the free QuoteWerks add-on utilities which are available from the QuoteWerks.com website.

Details can be found at the following URLs:
http://quotewerks411.wordpress.com/2009/05/22/quotewerks-dell-import-utility/
http://quotewerks411.wordpress.com/2009/05/21/quotewerks-rounding-utility/
http://quotewerks411.wordpress.com/2009/05/20/quotewerksexcelutility/
http://quotewerks411.wordpress.com/2009/05/19/grouppartnumberbuilderquotewerks/


Each of these utilities is available completely free of charge from the QuoteWerks.com website along with installation instructions.

If these utilities perhaps aren't quite your looking for in terms of enhancing QuoteWerks functionality, then please get in touch with us regarding our QuoteWerks development services. We have a large number of internally developed QuoteWerks add-on utilities, so we can cost-effectively provide solutions which fit your business' requirements. Email us - development@hilltopsit.co.uk - or give us a call on +44(0) 1782 465252. We look forward to hearing from you!

Wednesday, May 20, 2009

DEVELOPMENT: Microsoft Visual Studio Team Studio 2010 beta released

Microsoft Visual Studio Team System 2010 Team Suite is the next generation of Microsoft development tools. It provides the ideal set of tools for every team disciple who is working on your project: architects, designers, developers, database experts, and testers. When a team is building skills and getting guidance at every step of the project life cycle, they will collaborate better than ever.

Overview
Visual Studio 2010 and the .NET Framework 4 mark the next generation of developer tools from Microsoft. Designed to satisfy the latest requirements of developers, Visual Studio delivers key innovations in the following areas:

Democratizing Application Lifecycle Management
Application Lifecycle Management (ALM) crosses many roles in a development organization. Traditionally, not every role has had an equal part in the process. Visual Studio Team System 2010 continues to empower an organization to build a platform for functional equality and shared commitment across its ALM process.

Enabling emerging trends
Every year the industry develops new technologies and new trends. With Visual Studio 2010, Microsoft delivers tooling and framework support for the latest innovations in application architecture, development, and deployment.

Inspiring developer delight
Ever since the first release of Visual Studio, Microsoft has set the bar for developer productivity and flexibility. Visual Studio 2010 continues the tradition by significantly improving the experience for all software development roles.

Riding the next generation platform wave
Microsoft continues to invest in the market-leading operating system, productivity applications, and server platforms to deliver increasing customer value. With Visual Studio 2010, customers will have the tooling support that is required to create amazing solutions around these technologies.

For more information about Visual Studio 2010 and the .NET Framework 4, visit the Microsoft Visual Studio 2010 Web site.



Web installer download available here: http://www.microsoft.com/downloads/details.aspx?FamilyID=85520793-68fc-4361-a8b6-dc2cff49c8d2&displaylang=en

ISO download available here: http://www.microsoft.com/downloads/details.aspx?FamilyID=255fc5f1-15af-4fe7-be4d-263a2621144b&displaylang=en

.net framework 4.0 training kit download available here: http://www.microsoft.com/downloads/details.aspx?FamilyID=752cb725-969b-4732-a383-ed5740f02e93&displayLang=en

ReadMe here: http://download.microsoft.com/download/7/A/0/7A023209-096F-4F7D-B2BC-831ECC68FF5B/VS2010Beta1Readme.htm

Support and feedback forum here: http://social.msdn.microsoft.com/Forums/en-US/category/VSPreRelease,netdevelopmentprerelease,visualstudioprerelease,vstsprerelease



Is there anything that we have missed!? Please let us know if there are any other useful downloads or information that you've found. Please also share your thoughts and experiences in Visual Studio 2010 - the latest software development environment from Microsoft.

Monday, May 18, 2009

CONNECTIT: ConnectIT-WebCart beta released

We are very please to announce the release of the ConnectIT-WebCart beta. This utility links an online web shop to QuoteWerks, Sage 50, Sage MAS and Microsoft Dynamics RMS (retail management solution).


Over the years, we have created several bespoke software development utilities which link a businesses web shop to their back office system. Utilities for QuoteWerks, Sage and Microsoft Dynamics CRM. When we were approached to create a link for Microsoft Dynamics RMS as well it was a natural extension of these utilities. Plus, in a market place where high street shops are increasingly moving their business' online for the cost-saving and globalisation opportunities, strategically it was a good project to take on.



With our culture of constantly innovating and looking forward for new opportunities, rather than tackle the project as just another bespoke utility, we took the decision to wrap up all the previous work into one ConnectIT product. Followers of the blog will remember that we had a prototype version of ConnectIT-WebCart back in the early part of the year. With focus drifting onto other projects, this got put to one side, but we felt that with this project it was time to pick it back up again.

This first beta release focuses on the Microsoft Dynamics RMS link in order to satisfy the requirements of this particular project. However, given that this is built on the same data structures and code base as the other bespoke projects, then links for QuoteWerks, Sage 50, Sage Instant and Sage MAS won't be too far behind!

For more information on the ConnectIT-WebCart product, please direct your query through your QuoteWerks or ConnectIT partner. If they are unable to help, then please don't hesitate to contact the ConnectIT development team direct: development@connectit-online.co.uk

Thursday, May 14, 2009

SAGE50: Sage 50 Accounts 2009 Update 1

Sage 50 Accounts 2009 Update 1 service release was pushed out today. This wraps up several minor enhancements and issue resolutions.

For further details, please contact your Sage reseller or Sage Customer Services directly on 0845 111 5555.

CONNECTIT: ConnectIT-Sage v1.10.1 released

This new release of ConnectIT-Sage QuoteWerks to Sage 50 Accounts link includes the following updates and bug fixes:

UPDATE: replaced the files for the SDO (Sage Data Objects) which allow ConnectIT to integrate with Sage 50 Accounts 2009 for the revised ones released by Sage 12/5/2009. This revision allows up to 6 simultaneous SDO connections without the need to purchase additional Sage licenses.

FIXED: discrepencies seen in the Tax on Sage Purchase Order line items - ConnectIT was using the selling price tax value, not the cost price tax value when writing Purchase Order information to Sage.
FIXED: a tax amount for Carriage may show on a Purchase Order even though the ConnectIT Configuration had the Purchase Document Carriage Tax Code set as "T0" - ConnectIT was ignoring this setting when creating Purchase Order documents, the QuoteWerks document tax rate was always applied to Purchase Order carriage.
FIXED: Conversion from string "" to type 'Boolean' is not valid error when running ConnectIT - this could occur if the user had not opened ConnectIT Configuration to check the new settings added in version 1.10.0 and pressed "Save".


After more than 2 years of having no bugs in a production release, the ConnectIT development team were mortified to find out that a bug had been found in the software. As is stereotypically the case, the ConnectIT software development team have a love for fast food (second only to their love for programming!). By way of self-inflicted punishment for the bug (which was ultimately a school boy error in the code) they are banning themselves from fast food for 1 month!!! (I just hope they survive! - Ed.)

For more information on ConnectIT-Sage and the other products in the ConnectIT suite of time and labour saving products, please see the ConnectIT website here, contact your QuoteWerks / ConnectIT reseller or email info@connectit-online.co.uk

DEVELOPMENT: meeting users expectations and easing frustration

A few tips from Justin James at TechRepublic on ways that developers can meet users expectations and ease frustration.

Introduction
It’s no surprise that users have expectations that, if not met, make those users angry and frustrated. User-friendly applications are much more likely to generate revenue, from sales of the software, sales enabled by the software, or some other revenue model. Yet for whatever reason, a significant portion of applications don't meet user expectations in a number of areas. Here are 10 common user expectations and what you can do to meet them so that you'll have a happy group of users.

See the full article here:
http://i.techrepublic.com.com/downloads/dl_10_user_expectations.pdf

Wednesday, May 13, 2009

BLOG: Vistage Regional Group meeting

Today (13th May 2009), I (Steve Siggs) had the privilege of attending the Vistage Regional Group meeting at the Forest of Arden Country Club along with approximately 140 other Vistage group members. It was a very well organised and thoroughly enjoyable event. The focus for the day was "Outside In - New Thinking for Extraordinary Times". Primarily ways and benefits of taking a look at your company from your customers' point of view, plus looking at yourself from both your customers' and your employees' point of view.

With keynote presentations from some of the countries leading business experts - Peter Fisk, Dale Williams, Roger Martin-Fagg, Jeff Grout and Marcus Child - plus group discussion and networking opportunities. As is always the case with Vistage: it was an exhausting, but thoroughly invigorating day. And again - as always - I left with another list of things to think about and implement to help build Hilltops IT's success!

Onwards and upwards! :-)

If you'd like any more information on Vistage, how it works and the benefits I feel that I have attained from membership, please don't hesitate to get in touch: steve@hilltopsit.co.uk

Tuesday, May 12, 2009

CONNECTIT: now offering increased user support

We've just been notified by Developer Services that now more ConnectIT-Sage users can link to Sage accounts without having to upgrade or purchase additional Sage licenses.

From Sage Developer Services:

With exception to Sage 50 Accounts Professional, all connections to the Sage 50 Accounts database via the software development kit (Sage Data Objects (SDO)), are currently limited to the number of licensed Sage 50 Accounts users.

Given that Sage 50 Accounts and Sage 50 Accounts Plus are only available with single user or 2 user licences, the opportunity to accommodate multiple third-party add-ons and integrated multi-user applications, can prove restrictive. For example - with a 2 user licence, only 1 x Sage 50 Accounts user login and 1 x SDO connection may be established. With a single user licence, an SDO connection will not be permitted if a Sage 50 Accounts user is already logged in, and vice versa.

Now you can manage up to 6 simultaneous SDO connections

In response to feedback from our customers, Business Partners and of course our Developer community, SDO has been enhanced to manage up to 6 simultaneous connections to the Sage 50 Accounts 2009 database. For example - if 1 x Sage 50 Accounts user is logged on, a maximum of 5 x SDO user connections will be permitted.



So what does this mean for ConnectIT users?

Once this SDO update has been installed, Sage will allow you to have more users accessing the accounts files through ConnectIT. So there's no need to buy additional licenses for Sage and no need to log out of Sage in order to transfer documents.

For existing users: contact Sage support, they will be able to supply you with the updated SDO installation files with instruction on how to install them.

For new users: we will be releasing a new version of the ConnectIT software later this week which will have the updated SDO files included as part of the installation.

And what about partners?

This means new opportunities for ConnectIT-Sage sales! For any companies that you may have spoken to in the past that rejected ConnectIT due to the expense of an upgrade to Sage, now here's the answer!

More information

For more information on the updates, please contact your ConnectIT or Sage reseller or email us: support@connectit-online.co.uk

For more information on the increasing range of ConnectIT products and how they can help deliver efficiencies to your business, please see the ConnectIT website here.

Sunday, May 10, 2009

QUOTEWERKS: free example report

A recent post on the QuoteWerks Support Forum reminded me of an example report we have which illustrates the difference between counting line items and documents. If anyone would like a free copy, then please email support@hilltopsit.co.uk

We use the report as part of our QuoteWerks Reporting training course which we have successfully delivered to QuoteWerks users both in person and worldwide over the internet using gotomeeting screen sharing software. If you are a new user to QuoteWerks or would like some advanced training to unleash the power of QuoteWerks business intelligence reporting, then please get in touch now on +44(0) 1782 564252, +44(0) 844 357 7360 or email info@hilltopsit.co.uk

We look forward to hearing from you!

Friday, May 8, 2009

BLOG: New vacancies live of Graduate Advantage

Marketing Assistant (part time summer placement): http://www.graduateadvantage.co.uk/placement/396

Software Developer (part time summer placement): http://www.graduateadvantage.co.uk/placement/397

Business Development Manager (full time 12 month placement):
http://www.graduateadvantage.co.uk/placement/398


Graduate Advantage (funded by Advantage West Midlands) help students and graduates find and apply for paid full-time and part-time work placements, summer internships, graduate placements, and free employability training. They offer placements in all sectors of industry and business across the West Midlands.

Hilltops IT is working with Graduate Advantage in order to find suitable candidates to fill the above positions. "The Graduate Advantage scheme works for us on so many levels." says Hilltops IT CEO, Stephen Siggs "Not only is it an opportunity to work with local colleges to give the students there the chance to work with a commercial enterprise, but also from a business perspective we can get temporary contract staff to work on a couple of projects we simply haven't had time to complete ourselves. What Graduate Advantage in terms of their screening and grant funding also make this a very cost-effective solution which will contribute to the local community."

Our existing graduate employees say that they would have loved to work for a commercial business during their summer breaks. Unfortunately (according to Graduate Advantage) it is not uncommon for students educated in the West Midland to move outside the area in order to get work. There is a focused effort from government and local projects to retain these skilled individuals in the West Midlands. You never know - maybe Hilltops IT will be giving the next Bill Gates, Sir Alan Sugar or Max Clifford their first opportunity in business!

BLOG: Trainer Certification from Glasgow CC

For our Business Computing and Website / E-Commerce training services provided to businesses throughout the UK and to recognise the work which we have done with business in Glasgow specifically through their Business Training Grants Programme, Glasgow City Council has awarded Hilltops IT a Trainer Certificate. Well done to Vivienne Watts, Stephen Siggs and Steven Porter for their work in delivering exemplary training courses for our clients.



For more information on our ACT! and QuoteWerks training, plus website services please phone now on +44(0) 1782 564252 or +44(0)844 357 7360 or email info@hilltopsit.co.uk

For businesses in Glasgow and any other region, we can also help with practical advice on getting training grants for your business, plus we have all the paperwork to hand in order to move smoothly through the grant application procedures.

We look forward to hearing from you!

DEVELOPMENT: Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI" for linked server

Running a query from SQL Server 2008 over a linked server connection to a SQL Server 2000 server causes the following error:

OLE DB provider "SQLNCLI10" for linked server "mylinkedserver" returned message "Unspecified error".
OLE DB provider "SQLNCLI10" for linked server "mylinkedserver" returned message "The stored procedure required to complete this operation could notbe found on the server. Please contact your system administrator.".
Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider interface, but returns a failure code when it is used.

Or

The stored procedure required to complete this operation could not be found on the server. Please contact your system administrator.
Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI" for linked server "". The provider supports the interface, but returns a failure code when it is used.


Firstly, SQL Server 2000 SP4 (service pack 4) must be installed.

Then the system stored procedures must be manually upgraded.

Note that when manually upgrading the system stored procedures, we used SQL Server Authentication mode which requires the syntax:
osql -U [adminlogin]-P [adminpassword]-S [linkedservername]-i [location]\instcat.sql

We first entered the line as:
osql -U sa -P myPassword -S myServer -i C:\Program Files\Microsoft SQL Server\MSSQL\Install\instcat.sql

But this just bought up the osql help /? list of parameters. To avoid this, make sure that the -i path is in speech marks!
osql -U sa -P myPassword -S myServer -i "C:\Program Files\Microsoft SQL Server\MSSQL\Install\instcat.sql"

Note that the manual upgrade takes a couple of minutes to run and there are a whole bunch of message and numbers displayed in the command window as it executes. If the process is successful, then the last but one line will read "instcat.sql completed successfully".

In our experience, the SQL Service did not need to be restarted, the fix worked immediately and we were able to query the SQL Server 2000 server from SQL Server 2008 over the link immediately:
SELECT COUNT(*)
FROM myLinkedServer.myDatabase.dbo.myTable

We hope that this tip helps others new to SQL Server 2008 development!

Please see our website for more information on our software development services and software development resources.