From the Newsgroups: FRx XBRL

January 27, 2010

I am starting a weekly section called From the Newsgroups intended to bring some of the most intriguing questions and informative responses from the online technical community. To keep things relatively anonymous, no names will be given out… just the questions and the responses.

The series open with a question posted on the Partner Online Technical Community forum regarding FRx XBRL capabilities:

I have a client who is working on converting FRx statements to the XBRL format. With service pack 11, we are able to use the 2009 taxonomies, which is great. She needs to submit her statements in XBRL format. There are a few questions that I cannot answer for her and am hoping someone can point me in the right direction.

1. XBRL format will not include calculated columns; XML format will. Is this a limitation of XBRL or FRx?

2. If FRx, can we use XML and then convert to XBRL? Can we export to Excel and convert to XBRL from there?

3. Any suggestions on the best way to view what the result will be from an XML/XBRL format before she actually sends the statements off.

The following is the answer given by a Microsoft support engineer:

FRx Reporter can print basic XBRL reports and instance documents. Since the time XBRL support was added to FRx, the XBRL specifications have evolved and all required features are not available in FRx Reporter. The following list describes potential incompatibilities:

• FRx only supports monetary items. You cannot generate decimal, pure (ratio/percentage), or string/text data.

• FRx does not support footnotes.

• FRx does not provide a way to enter the entity scheme and identifier that are a required part of the contexts in an instance document. Generic information is generated, and these items will have to be manually changed afterward.

• FRx generates an instance document for each unit of the reporting tree. This may not be what you want. Frequently, all reports should be combined into a single document.

FRx does not support CALC columns when you use the XBRL output. Only GL and Forecaster column types will export data. I wasn’t able to find a way to convert an Excel file to XBRL. Since FRx cannot export CALC columns to XBRL format, you’d have to generate the report to another format, like Excel. It may be possible to convert that to XBRL, but that would be something outside of FRx support.

For more information on XBRL take a look at the following resources:

XBRL.org – Click here
XBRL Compliance Goes Worldwide: Get a Head Start with Microsoft Dynamics GP Analytical Accounting and Microsoft FRx – Click here (registration required)

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

Advertisements

Changing the Hyperspace property for a lookup button added with Modifier

January 26, 2010

It sounds like some word out of Captain Kirk’s vocabulary, but for Dexterity developers Hyperspace is a well known property that allows a Dexterity-based application to run the change script for a push button, i.e., a lookup button, without moving the focus from the currently-selected field. For example, you won’t want the ‘Customer Number’ field on the Customer Maintenance window to execute it’s change script before you have selected a customer from the Customer Lookup window as the lookup button is clicked… that’s what Hyperspace does, it prevents such situations by keeping the focus on the ‘Customer Number’ field until a customer ID is returned from the lookup window into the field.

The problem is, this property is locked down for push button controls added with Modifier, and while you cannot edit the push button change script with Modifier, you may still want to trigger off such controls with Dexterity code. This is pretty common for customizations where you don’t want to create an alternate versions of a GP form, but require a control placed directly on the GP form in order to call your own Dexterity code (see my article Developing Microsoft Dynamics GP hybrid integrating applications).

So, here is the workaround for changing the Hyperspace property of a push button control added with Modifier:

1. Add the push button control to your Modified window. In my example I will be using the sopCustomerItemMnt form. The following illustrates the changes made:

2. Save your modified window and return to Microsoft Dynamics GP. Open the Customization Maintenance window and locate the sopCustomerItemMnt. Click the Export button to export the modified window to a package file. The following is the content of exported package file:

= Form	"sopCustomerItemMnt"
{
	Datatypes
	{
		Datatype	"Lookup"
		{
			Control	"PushButton"
			DefaultDown	"00000"
			DefaultMouseOver	"00000"
			DefaultUp	"00000"
			Prompt	""
			PromptDown	""
			PromptMouseOver	""
			StaticType	"Mixed"
			~ItemImages
			{
				PictItem	"00001"
				{
					Item	"Field_Lookup_PB_Up"
				}
			}
		}
		Datatype	"UPC_Code"
		{
			AllowOddLength	"false"
			Control	"String"
			Format	""
			KeyableLength	"31"
			StorageLength	"32"
		}
	}
	Fields
	{
		Field	"Lookup"
		{
			ArraySize	"0"
			Datatype	"(L) Lookup"
			LookupForm	""
			PhysicalName	""
		}
		Field	"UPC_Code"
		{
			ArraySize	"0"
			Datatype	"(L) UPC_Code"
			LookupForm	""
			PhysicalName	""
		}
	}
	Windows
	{
		= Window	"sopCustomerItemMnt"
		{
			Fields
			{
				WindowControl	"(L) Lookup"
				{
					Alignment	"center"
					Appearance	"2D Border"
					BackColor	"System - Button Face"
					Border	"true"
					ButtonStyle	"GraphicOnly"
					Cancel	"false"
					ControlType	"PushButton"
					Default	"false"
					Editable	"true"
					EndTransaction	"false"
					Field	"(L) Lookup"
					Font	"System (generic)"
					FontBold	"false"
					FontColor	"System - Button Text"
					FontItalic	"false"
					FontUnderline	"false"
					HyperSpace	"false"
					LinkedLookup	"10002"
					LinkedPrompt	"0"
					Pattern	"(none)"
					PatternColor	"White"
					PositionLeft	"567"
					PositionTop	"186"
					ResizeHoriz	"StayLeft"
					ResizeVert	"StayTop"
					SizeHeight	"20"
					SizeWidth	"18"
					TabStop	"true"
					Tag	"10003"
					Tooltip	""
					UseUniqueHelp	"true"
					Visible	"true"
					ZOrder	"81"
					Zoom	"false"
				}
				WindowControl	"(L) UPC_Code"
				{
					Alignment	"left"
					Appearance	"2D Border"
					AutoComplete	"false"
					AutoCopy	"false"
					BackColor	"System - Window Background"
					Border	"true"
					ControlType	"String"
					DisableLookup	"false"
					Editable	"true"
					Field	"(L) UPC_Code"
					Font	"System (generic)"
					FontBold	"false"
					FontColor	"System - Window Text"
					FontItalic	"false"
					FontUnderline	"false"
					LinkedFormat	"0"
					LinkedLookup	"0"
					LinkedPrompt	"10001"
					Password	"false"
					Pattern	"(none)"
					PatternColor	"White"
					PositionLeft	"408"
					PositionTop	"186"
					ReadingOrder	"LeftToRight"
					Required	"false"
					ResizeHoriz	"StayLeft"
					ResizeVert	"StayTop"
					SavedOnRestart	"false"
					SetChangeFlag	"true"
					SizeHeight	"20"
					SizeWidth	"160"
					TabStop	"true"
					Tag	"10002"
					Tooltip	""
					UseUniqueHelp	"true"
					Visible	"true"
					ZOrder	"80"
					Zoom	"false"
				}
				WindowPrompt	"10001"
				{
					Alignment	"left"
					Appearance	"3D Highlight"
					BackColor	"System - Button Face"
					Border	"true"
					Font	"System (generic)"
					FontBold	"false"
					FontColor	"System - Button Text"
					FontItalic	"false"
					FontUnderline	"false"
					Pattern	"(none)"
					PatternColor	"White"
					PositionLeft	"328"
					PositionTop	"186"
					ReadingOrder	"LeftToRight"
					ResizeHoriz	"StayLeft"
					ResizeVert	"StayTop"
					SizeHeight	"20"
					SizeWidth	"80"
					Text	"UPC Code"
					Visible	"true"
					ZOrder	"79"
					Zoom	"false"
				}
			}
			LastTag	"10003"
		}
	}
}

3.Perform a search for “Hyperspace”. Replace the property value from false to true. Save the package file. In the above sample package file content, I have highlighted the Hyperspace property in red.

4. Use the Customization Maintenance window to reimport the package file. This should be all! Now your lookup button’s hyperspace property is set to true.

Warning: this method of changing the Hyperspace property of a push button is not supported by Microsoft and must be performed by a developer who understands the implications.

Until next post!

MG.-
Mariano Gomez, MIS, MCP, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


What’s new in Microsoft Dexterity 11.0

January 26, 2010

The excitement around Microsoft Dynamics GP 2010 could not be any higher. Traffic on my site has doubled since I began releasing information about the upcoming version, which is currently being beta tested by a number of partners and have even seen a customer gone live as reported by Inside Microsoft Dynamics GP. For past articles, click on the following links:

Microsoft Dynamics GP 2010 – Navigation Enhancements
Microsoft Dynamics GP 2010 – Security Enhancements

However, none of these application enhancements could have been possible without the hard work of the Microsoft Dexterity team, which brought the following enhancements of their own to version 11.0 of Dexterity:

IDE Enhancements

  • Enhancements to Report Writer – While a number of you still dredge the fact that there is still Report Writer, the bottom line is I believe there will be Report Writer for a while. There’s simply too much code tied to Report Writer and way too many reports in the system to simply replace them all. So to compensate, my friends in the Dex team have significantly improved the rendering of report outputs in HTML format and have provided a way to create an XML representation of the report layout.
  • Context Menus – While this is nothing new in the Windows world and holds true for many other applications, it was a long overdue feature in Dexterity. Dexterity now supports right-click enabled context menus for windows, window fields, scrolling window lines and scrolling window fields. When a context menu is displayed, a script is run that allows commands to be added to the context menu. Here is a sample script:
  • local integer result;
    local integer command_tag;
    local integer view_menu_command_list;
    local integer context_menu_command_list;
    
    {Build the View submenu}
    view_menu_command_list = Command_GetTag(command View of form RESM_Explorer);
    
    {Only need to build this once. Unlike the context menu, it is not cleared automatically when the context menu action is complete.}
    if CommandList_NumCommands(view_menu_command_list) = 0 then
      {Large Icon}
      command_tag = Command_GetTag(command Large_Icon of form RESM_Explorer);
      result = CommandList_Add(view_menu_command_list, command_tag);
    
      {Small Icon}
      command_tag = Command_GetTag(command Small_Icon of form RESM_Explorer);
      result = CommandList_Add(view_menu_command_list, command_tag);
    
      {List}
      command_tag = Command_GetTag(command List of form RESM_Explorer);
      result = CommandList_Add(view_menu_command_list, command_tag);
    
      {Report}
      command_tag = Command_GetTag(command Report of form RESM_Explorer);
      result = CommandList_Add(view_menu_command_list, command_tag);
    
    end if;
    
    {Build the context menu}
    context_menu_command_list = Command_GetTag(command cmdListContextMenu);
    
    {Add the View sub-menu}
    result = CommandList_Add(context_menu_command_list, view_menu_command_list);
    
    {Separator}
    command_tag = Command_GetTag(command cmdSeparator);
    result = CommandList_Add(context_menu_command_list, command_tag);
    
    {Print}
    command_tag = Command_GetTag(command Print of form RESM_Explorer);
    result = CommandList_Add(context_menu_command_list, command_tag);

    As you can tell, context menus are based on command lists… same principle used for standard menu items.

  • Dexterity now sports a new Watch window, wich can be selected from the Debug menu in test mode.
  • The Script Debugger has a context menu in test mode. The truth is, I could not get this feature to work in my current build of Dexterity – 11.00.0206.000
  •  

SanScript Enhancements

  • run report statement now has the option to define a new XML export type. The constant defined for this operation is XMLFILE. The statement syntax is still the same:
  • run report report_name {with restriction boolexp}{sort by field{nocase}{descend}}  {by key_name  by number expr}{legends [string_expr_list  array_index_list]  {destination screen_boolean, printer_boolean  {, export_type, export_name}}{  printer printer_settings}
  • Similar enhancements have been implemented for the run report with name statement. You can also specify an XML export type.
  • run report with name report_name {with restriction boolexp}{sort by field{nocase}{descend}}  {by key_name  by number expr}{legends [string_expr_list  array_index_list]  {destination screen_boolean, printer_boolean  {, export_type, export_name}}{  printer printer_settings}{in dictionary product_ID}
  • The savefile() function has also been given the ability to save documents to XML format by using the XMLFILE constant.
  • local string path;local integer file_type;
    
    if savefile("Export file", file_type, path, "XML file (*.xml)*.xml) then    call Export_XML_File(file_type, path);end if;

     

New Functions

File
File_GetSize()
File_GetTempDirectory()

File list
FileList_Add()
FileList_Count()
FileList_Create()
FileList_Destroy()
FileList_Get()
FileList_Remove()
FileList_ShowDialog()

File type
FileType_CanAppend()
FileType_FillList()
FileType_GetExtension()
FileType_IsValid()

MAPI
MAPI_DisplayReplyToDialog()
MAPI_GetAddress()
MAPI_IsLoggedOn()
MAPI_IsMailEnabled()
MAPI_LogOff()
MAPI_LogOn()
MAPI_ProfileGetAddress()
MAPI_PropertyListCount()
MAPI_PropertyListCreate()
MAPI_PropertyListDestroy()
MAPI_PropertyListGetValue()
MAPI_PropertyListGetValueByIndex()
MAPI_PropertyListSetValue()
MAPI_ResolveAddress()
*MAPI_Send()
*MAPI_SendDialog()

* Enhanced to support attachments, reply to lists, and properties not exposed through the MAPI function.

Path
Path_ParsePathFromPath()

Registry
Registry_DeleteKey()
Registry_DeleteValue()
Registry_GetProtectedString()
Registry_GetValue()
Registry_SetKeyValue()
Registry_SetProtectedKeyString()

Trigger
*Trigger_RegisterFocus()
*Trigger_RegisterFocusByName()

* Enhanced to support focus triggers on context menu events.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


Microsoft Dynamics GP 2010 – Navigation Enhancements

January 22, 2010

After the Microsoft Dynamics GP 2010 Security Enhancements mentioned in my previous article, I wanted touch base on some of the enhancements to the overall navigation experience.

One of the first things that jump out right at you when you get to the desktop is the new Microsoft Dynamics Online Connect feature. Think of this feature as your window to the Dynamics Community. That’s correct! Behind that window there are hundreds of thousands of other Dynamics GP users just like you. The problem? The Connect link seems to be down since sometimes yesterday, as of the date and time of publishing of this article. By the way, you can find the Connect site link (also known as the GP Role Center site) in the HomePage.xml file stored in your temp folder (%temp%).

You also have the ability to now view reminders as visual cues and multiple metrics on the page. I have to play more around with this feature as I was not quite sure I was able to get all metrics to be displayed at once.

The Navigation Pane will now only show the series buttons and associate lists for modules that are marked in the Registration window. Phew! This will certainly clean up the amount of options you have to sift through when working with your navigation lists.

You can now define and save a default lookup view for your master records by selecting the Set as Default View option from the View menu or using the right-click menu in the lookup window. The default view you select will be the view displayed when you open the lookup window the next time. You can set a default view for the following lookup windows:

  • Items lookup window

  • Accounts lookup window
  • Employees lookup window
  • Customers and Prospects lookup window
  • Salespeople lookup window
  • Vendors lookup window

The default view is saved on a per user, per company basis. The truth is, this functionality is not working as intended at this time. After I changed the sorting options and attempted to set these changes as the default value for my lookup window, the option appeared grayed out. I discussed this with MVP Mohammad R. Daoud who confirmed it in his new article titled Inside Microsoft Dynamics GP 2010 – Issues found so far.

All and all, in the above images you saw the right-click context menu, which leads me into the next navigation enhancement.

You can right-click in a text or numeric field to see a shortcut menu. The shortcut menu contains options from the Edit menu” — this, per the What’s New help file, but I believe Microsoft felt short in the definition as, right-click enables more of a context sensitive menu, rather than just shortcuts and operates in a number of places. For example, in SOP, you are able to display not only the standard copy/paste options, but also the scrolling window insert and delete options.

There are a few more enhancements in this area that I would like to discuss, but they will be part of a future article as I will need Microsoft SQL Server Reporting Services to demonstrate a few of them.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


Microsoft Dynamics GP 2010 – Security Enhancements

January 20, 2010

This article opens the series on the new features and enhancements available in Microsoft Dynamics GP 2010. I will start out with something dear to the heart of systems administrators and that’s security. So let’s take a look at the first set of enhancements that have been introduced to the new release.

Automatic Login

Now you have the option to log on to Microsoft Dynamics GP and a default — favorite if you will — company automatically. In order for the login to take place automatically, the system administrator must mark the Enable Remember User field in the System Preferences window.

You will notice a new checkmark on the Welcome to Microsoft Dynamics GP window to Remember user and password.

And you will also notice a checkmark on the Company Login window to Remember this company.

As mentioned before, having the ability to access these new enhancements is a system wide administrative option set via the System Preferences window – MSDGP > Tools > Setup > System > System Preferences.


Copy User Security Settings

System administrators lost a lot of the cool features available in version’s 8.0 and 9.0’s Advanced Security module after upgrading to Microsoft Dynamics GP 10.0 role base security model. One feature in particular that put dents in a lot of desks was the fact that security could not be copied across user accounts.

For Microsoft Dynamics GP 2010, you can now use the Copy User Security window and the User Setup window to copy security settings (roles, tasks, and company access) you want to copy from one user to another.


For example, if you hire a new purchasing agent, you can copy the security settings from an existing purchasing agent instead of manually specifying the security settings. If the new purchasing agent is transferring from another position in your company, copying replaces any existing security settings for the user you are copying to.

Security Roles and Tasks Filters

You can now filter out only the security tasks and items to which access has been granted in the Security Task Setup window, the Security Role Setup window, and the User Security Setup window instead of viewing all security tasks, roles, and items. This makes understanding security settings assigned to tasks, roles, and items a breeze.




These enhancements will certainly facilitate security administration for the system administrator, while allowing users the ability to speed up login into the company of their preference. Please let me know what you think about these enhancements.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


Microsoft Dynamics GP 2010 Beta Buzz

January 19, 2010

Folks, if you haven’t been keeping up lately with the news, there’s lot of buzz going on in the Community about the upcoming release of Microsoft Dynamics GP 2010 (Get used to it! GP “11” was just the codename). The Microsoft Dynamics GP Product Management and Marketing team kicked it off big with an exclusive Parner webcast which I attended, demonstrating some of the key features and messaging to be delivered to existing and prospective customers. Can you believe they were more than 500 partners signed on at once?

As I mentioned couple days ago, I got a hold of the Beta version minutes after the link was available and could not wait to install it to start playing around with the new features, but before I start blogging about these, here are a few sources you will want to start checking for Microsoft Dynamics GP 2010 information:

Start Getting Up to Speed on Microsoft Dynamics GP 2010 @ Inside Microsoft Dynamics GP
It is a GREAT Day! @ Inside Microsoft Dynamics GP
Microsoft Announces Beta Release of Dynamics GP 2010 @ MSDynamicsWorld

If you haven’t cast your vote on the new features you like, then you need to do so. Remember, if you don’t vote, you don’t get to cheer (or complain depending on your feelings about voting).

New Facebook Poll: What 1 new feature of Dynamics GP 2010 are you most excited about? @ DynamicAccounting.net

MVP Mark Polino cannot contain his excitement and almost lost his voice in his new podcast about Microsoft Dynamics GP 2010:

New Podcast looking at GP 2010 is up now @ DynamicAccounting.net

MVP Mohammad R. Daoud started playing with 2010 Beta earlier than me (and that’s a lot to say right there!) and has already released two teasers about the new functionality available in 2010:

Inside Dynamics GP 2010: Lookups @ Mohammad R. Daoud
Inside Microsoft Dynamics 2010: Cue Reminders @ Mohammad R. Daoud

For Partners and Consultants: if you (or your company) are not participating in the Beta program, keep in tune with your humble blogger here to find out about the new features. Starting today, I will begin to look at each of these to provide you get you up to speed. If you are in the US, make sure you enroll and be an active participant in some of the upcoming webinars and roadshows. Visit the Microsoft Partner Learning Center for more information.

For Customers: if you are a customer (or prospective customer) looking to learn about Microsoft Dynamics GP 2010 then Convergence Atlanta is the place to be this year. In the mean time, contact your Microsoft Partner and start asking about upgrading options and upcoming promotions. Let’s face it: now that the economy is rebounding, you don’t want to be caught running old technology and looking to ramp up when business picks up again. If you don’t have a partner, simply shoot me an email and I can begin discussing your options.

Stay tuned for a first look at Microsoft Dynamics GP 2010.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/


Microsoft Dynamics GP 2010 – Coming Soon to a Partner near you!

January 17, 2010

Well, I really don’t want to make you envious of my fortune (but at the same time I do!) as I just got a hold of the Beta release of Microsoft Dynamics GP 2010, thanks to the folks at Microsoft and some of the perks that come along with being a Microsoft MVP.

For now, I cannot disclose anything about the Beta release due to NDA restrictions, but I am already exploring the new features and enhancements to existing modules. I don’t know when the NDA period will be over, but sure can’t wait to start blogging about these new features.

If you are a customer reading this and you are still running older releases of GP (9.0 or prior), well let me say that NOW is the time to begin planning your upgrade. Why? Well, you pay for a maintenance plan, don’t you? In addition, this is the biggest release EVER! The economy is slowly turning around and you want to have all the tools at your disposal for when things are at peak: better inquiries, better BI capabilities from within GP, better analysis capabilities, better everything. Your business and employees will thank you for the effort. Get in touch with your partner and if you do not have one, well… contact me! I will sure be more than glad to help you clear the ground to welcome Microsoft Dynamics GP 2010.

Related Articles

It is a GREAT Day! – Inside Microsoft Dynamics GP

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/