Monday, August 24, 2009

“Go to main table” on a RunBase dialog control

In one of my blog posts, I have been posed with the following question:

“how to achieve go to main table on dialog field.
for example a dialog is having a field of lookup custAccount, now what i need to have a go to main table functionality on the same.”

So, the short answer is: It is not possible to override jumpRef method directly on the dialog control. This is due to the fact that in order to show the “Go to Main table” link in the context menu of a control, you need to actually override that method on the form, which is later used to draw the context menu.

There are 3 possible ways that you can achieve the same functionality though, that I would like to briefly discuss here:

  1. Recommended Don’t bother with the dialog. Simply create a form, and override the jumpRef method on the needed control on the form. To demonstrate this behavior, you can use the Tutorial_RunBaseForm class and form. Override the jumpRef method, put the code to call the main form there. And you are done. Simple, and does not require a lot of coding. There is a lot of confusion, where junior AX developers think it will require a lot of code changes to replace a dialog with a form. This is not entirely that hard, as RunBase classes can use a regular AOT form instead of the regular dialog.
  2. Use controlMethodOverload approach, and create the controlName_context() method, which is executed when you try to open the context menu on the specified control. Inside this method, build the context menu from scratch. This way, only the items you want to be shown will be present in the context menu. Note: this means, that standard context menu items, like Setup, will not be shown in the menu (unless you add and handle them).
  3. Use controlMethodOverload approach, as in the previous example, but instead of overriding context() method, override the showContextMenu method. This will allow you to add your custom context menu items to the standard context menu. This does not seem to work on Axapta 3.0 though, and I did not try to figure out why. Note you need to uncomment some code in order to enable this approach (I left a TODO comment for that).

I have made the necessary changes, demonstrating the latter 2 approaches, using the class located under Classes\Tutorial_RunBaseBatch. You can download the xpo here (it contains only the USR layer changes).

The class used for drawing the context menu in the example is called PopupMenu. A good example of how this class can be used in the application is available in AOT under Forms\Tutorial_PopupMenu. Some information, along with another example, is available on MSDN.

A while ago, I have suggested some minor changes to the Dialog framework classes, which allow to simplify the process of overriding control event methods on the dialog. The original post can be found through this link: http://microsoftok.blogspot.com/2007/06/3-dialog-extensions.html

Let me know if any of this requires more clarification.

Inside Dynamics AX 2009 – Russian Translation

As you all know, Microsoft has recently released another book on development in Dynamics AX, called Inside Dynamics AX 2009.

For the past 2.5 months, I have been working on the Russian translation of this book, and now I am glad to say that the translation is over and will soon hit the shelves of online-stores. I guess it will also be available directly from Microsoft Russia, similar to the 4.0 version.

The book has gained a lot in weight :) and content. With more than 200 new pages, as well as many changes and updates of the existing chapters, the book is definitely a good investment. New “hot” features of Dynamics AX, like SSRS reports, Workflow, Role centers, etc., are described in the book from a developer point-of-view.

I really hope that my effort will not go in vain, and the book will be helpful to people working with Microsoft Dynamics AX 2009.

Thanks

Sunday, August 23, 2009

Microsoft Annual Review 2009

Just a quick post: some of you enjoy posting information relevant to your review, both looking at numbers and a critical view of the message given to you. It has started to happen a bit in the last post so I'm just going to capitulate and put this small post up for the 2009 Annual Review share and compare.

Oh, and obviously grab yourself a few grains of salt. Folks seem to like this format:

  • L# (promo'd?)
  • (Exceeded|Achieved|Underperformed) / (20|70|10)
  • Bonus $K
  • Stock $K
  • (Promo $K)
  • Optional comments about Division / Group, discipline, impression of review

The promotion budget is significantly less this year meaning that if you got promoted you're really at the top of the heap. If you didn't, well, you're going into a long line.

And as we know: no merit raises this year (though you will get a raise if you're promoted). But bonus and stock awards are the same, ensuring we have the flexibility to reward our top performers.

I would expect that the Underperformed Microsofties have already been managed out. If you are an Achieved/10% then I'd expect you're given a very short term idea of what success looks like and can expect to be closely managed. Great time to update that resume and see what else is going on.

I found a bunch of old reviews of mine recently. Flipping through the review forms started with refreshing simplicity from over a decade ago, rapidly turning into confusing churn (company value ratings and all that crap), to now a fragmented collection of task-driven thoughts. While it's nice that the review form has pretty much stuck to the current form now and we don't have new components coming and going (yeah schema?) it really doesn't compare to the first couple of reviews I did at Microsoft.

Of course, I had great managers who knew how to give concise feedback, both daily and as part of my review. Where you don't have demonstrated collective excellence, you have process.


-- Comments

Tuesday, July 21, 2009

Microsoft FY09Q4 Results

This is it. The wrap up of FY09, coming fresh to us Thursday July 23rd. I'll put this up a bit early in case there are any initial questions, thoughts, or insights regarding how FY09 is closing.

Some of my favorite places to track insights and opinions on MSFT quarterly results:

Topics I'm interested in:

  • Description of efficiency so far and an enumeration of which groups are going to get Sinofsky'd.
  • Assessment of further financial risk at the hands of the EU Commission.
  • Oh, any more layoffs? If not, it would be wise for the SLT - for the sake of employee morale - to close the door on this now.

Given how negative Ballmer has been about the economic reset, I can't imagine any rosy picture painting just yet, even if Intel looks like it has bottomed out and Apple is frantically trying to create as many iPhones as it possibly can.


Sunday, July 12, 2009

Microsoft Has Turned The Corner

I've got to say: in my opinion, Microsoft has turned The Corner.

You know The Corner.

The one that gets us off of pothole ridden Vista Avenue (one street over from Lincoln in Blue Velvet). The Corner that requires Microsoft to shed some of the fat it has layered on recently just to make the turn without flipping. The one that requires a bit of humility for past failings (the aforementioned Vista, Xbox losses & red-ring, Zune's market performance so far, WinMo asleep at the wheel, no coherent brand strategy, search lagging behind for so long, the abandonment of IE after IE6, a confused developer story, a bungled Yahoo! acquisition attempt, etc etc etc).

The Corner that perhaps doesn't get us out of the bad neighborhood, but is at least pointing us in the right direction. What has helped make the turn?

  • Windows 7
  • Bing
  • Silverlight
  • IE EU chutzpah
  • ...and award worthy, coherent ads that aren't a demonstration of how best to destroy millions of dollars quickly.

Redemption takes a while. Time is needed to allow perception to change and to re-earn trust and respect. Once Microsoft was the scrappy underdog playing catch-up against many competitors. Later Microsoft was the dominating OS and application suite, so drunk and arrogant on its own power (pre-monopoly designation) that it made some truly dumb, strong-armed moves (and even worse, did sloppy "nuh-uh!" cover-up maneuvers). After that, Microsoft went from getting beat-up by the US government to the dot-com bust to the development of Vista, reset after the huge effort of XP SP2. The Evil Empire became The Bungler, hatred turning to scorn and frowning distaste. And the EU hurried over to slip in a few kicks to the wallet.

While all of that could have been avoided with competent senior leadership, it at least served as a hard enough whack to the side of the head that even our mediocre leadership took action to aright the ship.

Now we have the potential to start shaking this off and achieving solid, if not stellar, results.

This is happening, too, while the shine on Google is dulling. Rather than pulling an Apple on us anymore, Google has picked up the nasty habit of pre-announcing technology. Guys, you stole the wrong playbook. And, uh, we don't want it back. Plus the government's gaze has moved from the fallen-working-on-redemption of Microsoft to the obvious domination of Google in search and information strong-arming. A dose of the medicine Google's now getting:

Anyway. Let us enjoy this success of Microsoft turning The Corner, all while being a wee bit smaller and more efficient. 5,000 jobs eliminated so far and a declaration from Ballmer that efficiency is his key focus right now. Wall Street likes how that blood in the water tastes so far.

I'm going to start my whole "and we can cut a whole lot more positions" screed in a second. But first a moment to reflect on the flesh and blood people caught up in the layoff mess we've gone through so far. There is certainly a sobering perspective on this within the abundant comment stream of the last post.

It's not their fault they were part of the layoff. It's not their fault that their position was considered part of the inefficient part of the company that was eliminated. I certainly don't blame anyone for wanting to work for Microsoft. Large parts of Microsoft are magical, exhilarating places to be. In its bones, Microsoft is a great company with amazing potential. It's just turning The Corner and directing itself to where it can focus on efficient, lean-mean, profit making products that engage and delight Microsoft customers.

At Microsoft a lot more positions still need to go to achieve efficiency and focus. 15,000 more is my magic number. It's not personal. But to achieve efficiency and resolution of what to focus on with determination, we need a whole lot less people and to publicly admit there are opportunities we will focus on and others we are okay walking away from. ("That's right, Adobe: you can charge as much as you flipping want for your Photoshop line of software.")

For efficient product development: Yahoo!'s Carol Bartz has a good point when she swears like a sailor over having way too many program managers vs. actual developers (overloaded with one program manager for every three developers). <<edit edit edit - this went quickly into the weeds - let me sum up some quick thoughts>> Looking across groups, I still see exceptionally inefficient use of broad, front-loaded thinking and design locked into a 1970s waterfall model that leads to reality and focus coming way too late and a bunch of frantic, mediocre consensus driven crap floating like chunks into an end product. Kaizen. Kaizen. Kaizen. Efficiency is not going to happen as long as we continue rewarding people for this status quo. Shedding a respectable chunk of the company would bring an exceptional amount of upfront focus to our teams and result in high-quality features end-to-end, vs. what we see in misshapen compromise that we can fit in.

Microsoft has turned The Corner. But our car's suspension is still wobbling from the load we're carrying, and while some fine spots of leadership has gotten us around this bend, it doesn't take much for the remaining mediocre leadership to assume that the pressure is off and to get their grubby hands on the wheel and start turning us back towards Vista Avenue. The job isn't done. It's just beginning. We iterate again.

(Oh, and hey, here's a question for you: if you could create a new Microsoft leader based on the best attributes of our current leaders, what would you create? For instance, I'd start by combining the efficient layer-busting profit focused philosophy of new President Steven Sinofsky with the campus design skills of President Robbie Bach. Ideas?)


Administrivia: to subscribe to all comments here, use the following: http://microsoftok.blogspot.com/feeds/comments/default . While I enjoy providing the freedom of unmoderated comments over in The Cutting Room Floor, I had to turn off anonymous comments for the time being. You can still post unmoderated comments, you'll just need to provide a Blogger ID / OpenID.

CRF: unmoderated comment thread: Microsoft Has Turned The Corner (plus a snippet of what I deleted from this post).


-- Comments

Wednesday, May 20, 2009

Moving RSS from FeedBurner

Hi, subscribers. This is a small notification message.

Just wanted to let you know that I will be moving the RSS feed away from FeedBurner over the weekend, as it does not seem to work correctly with one of the MSDN pages, where my blog is being displayed.

So, instead of the following feed:
http://feeds.feedburner.com/KashperukIvan
you should use the one exposed on the blog:
http://microsoftok.blogspot.com/feeds/posts/default?alt=rss

If the problems with the MSDN page are solved, I will switch back to FeedBurner, but this won't effect you all, if you are using the latter feed link (as it is redirected automatically)

Thanks

Tuesday, May 5, 2009

Microsoft Layoffs - Cinco de Fire-O

Well, if ever you wanted to console yourself with some tequila, today might be your day. Phase Two of the big Microsoft 2009 layoff engages today.

Is this it? Will there be more? From Mr. Ballmer's email:

With this announcement, we are mostly but not all done with the planned 5,000 job eliminations by June 2010.

Strangely, Ms. Brummel have asked folks to avoid emailing each other today because the last layoff's email volume was so distracting. Gee, sorry to be a bother while people are trying to figure out what the hell is going on. Let's see... how to avoid that... I know, tell people what the hell is going on and which people / groups are affected. Oy.

Please, if affected by today's events, note which group you're in and any messaging about things going forward (as appropriate and proper).

(And please, Ms. Brummel, if you talk to the troops about this, don't share how people affected by the layoff are thanking you - that just seems creepy.)


Dropping moderation for today, but as usual: be responsible. I will delete comments later that are off-topic, along with any other comments that react to the deleted comments. If in doubt, go visit the CRF parallel thread: http://minimsftcrf.blogspot.com/2009/05/comment-stream-microsoft-layoffs-cinco.html