Tuesday, April 9, 2013

2013 Top 100 Most Influential People in Microsoft Dynamics



Dynamics World has once again prepared a list of candidates for The Top 100 Most Influential People in Microsoft Dynamics.


The candidate list is quite long, and includes people focused on all of the different Dynamics products.  And someone apparently graciously nominated me again this year.

I don’t know all of the Dynamics GP candidates, but while scrolling through the list I saw a few that were well known in the GP community.

The names are listed in pseudo alphabetical order by first name, and are split across different pages, so it takes some searching, but I've included links to the pages for each of the names below.

Please take a few moments to vote!


Christina Phillips – Dynamics GP genius and blogger on Dynamics GP Land  (my co-blogger!)

David Musgrave – Developer of the Support Debugging Tool and the final word on all technical GP topics

Frank Hamelly – Dynamics GP MVP and blogger on GP2themax

Leslie Vail – Dynamics GP MVP, blogger, and author of Developing GP Applications

Mariano Gomez – Dynamics GP MVP, blogger, and globe-trotting conference presenter and trainer

Mark Polino – Dynamics GP MVP, Dynamics GP book author, prolific blogger, and conference presenter

Patrick Roth – Support Escalation Engineer at Microsoft who handles the really tough support cases

Steve Endow – Blogger on Dynamics GP Land and Dynamics GP Wizard on Experts Exchange



Steve Endow is a Dynamics GP Certified Trainer and Dynamics GP Certified IT Professional in Los Angeles.  He is also the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.

http://www.precipioservices.com

Wednesday, March 20, 2013

What if...I went to Dale Carnegie training?

So, yesterday I took advantage of the Leadership track at Convergence 2013 here in BEAUTIFUL SUNNY New Orleans, and I attended a Dale Carnegie session on building trust. The presenter was awesome, very dynamic and raised some interesting points.  My coworker and I left with lots of great ideas about how to make our team better, and cultivate greater trust with our clients.

Number one item, we decided to hold each other to a No Complaints, Criticism, or Condemnation clause.  Feedback is fine, but not in the typical "gripe" way.  My task this weekend is to find a jar for us to start a quarter jar for anytime one of us falls back in to the old complain, criticize, and condemn way of talking.

I wanted to share the following video with you all, which was part of the session.  Really made me think about how we all contribute to our team and project dynamics.  Watch it and let me know what you think!

http://www.youtube.com/watch?v=ue3hCVHtZZY

Christina Phillips is a Microsoft Certified Trainer and Dynamics GP Certified Professional. She is a supervising consultant with BKD Technologies, providing training, support, and project management services to new and existing Microsoft Dynamics customers. This blog represents her views only, not those of her employer.

Monday, March 18, 2013

Predicting Payments Based on Average Days to Pay

Had a great time today, and finished the day at the geography-based roundtables for GPUG.  I was sitting at the IA, KS, MO table, and we had a full group.  A lot of different topics of discussion- the upcoming regional chapter meeting on April 17th, everyone's background and experience in GP, the future of manufacturing and project accounting in GP, and reporting dilemmas.  One user at the table asked for ideas on forecasting cash flow....so the conversation shifted to the Cash Flow module and then on to forecasting cash flow for AR based on average days to pay. We were wondering aloud about views or reports that might be available for that, and I thought a view would not be hard at all.  So here it is, a view to determine the estimated pay date (EST_PAYDATE) based on average days to pay. 

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[PredictPayDate]
AS
SELECT dbo.RM00103.CUSTNMBR, dbo.RM00103.AVDTPLIF, dbo.RM20101.DOCNUMBR, dbo.RM20101.RMDTYPAL, dbo.RM20101.DOCDATE,
dbo.RM20101.DOCDATE + dbo.RM00103.AVDTPLIF AS EST_PAYDATE, dbo.RM20101.DUEDATE, dbo.RM20101.CURTRXAM, dbo.RM20101.VOIDSTTS
FROM dbo.RM00103 INNER JOIN
dbo.RM20101 ON dbo.RM00103.CUSTNMBR = dbo.RM20101.CUSTNMBR
WHERE (dbo.RM20101.VOIDSTTS = 0) AND (dbo.RM20101.CURTRXAM > 0) AND (dbo.RM20101.RMDTYPAL < 7)
GO

Obviously can be expanded to include more information, or used in a SQL report to summarize predicted cash income by month.

Christina Phillips is a Microsoft Certified Trainer and Dynamics GP Certified Professional. She is a supervising consultant with BKD Technologies, providing training, support, and project management services to new and existing Microsoft Dynamics customers. This blog represents her views only, not those of her employer.

Convergence 2013!

Convergence 2013 here in New Orleans marks the first conference in quite a while where I am actually going to enjoy the conference.  I am not working in a both, staffing the labs, or presenting.  Just going to see old friends, hopefully make some new ones, soak up the great energy and information, and eat a few fabulous meals here in New Orleans.  Yesterday, I spent some time at the GP Partner Connections PreGame event.  I have said it before, and will say it again, I just love opportunities for partners to get together in a collaborative environment!  Saw lots of old friends, famous-GP-world faces, and got to learn more about GP 2013 demo tools and RapidStart.  Very good day.

Today is late start day, but I am going to challenge myself to blog each day this week with something I have learned.  I don't promise anything too profound, but today will be the first day of this challenge! Let's see what I have to share this evening :)

Christina Phillips is a Microsoft Certified Trainer and Dynamics GP Certified Professional. She is a supervising consultant with BKD Technologies, providing training, support, and project management services to new and existing Microsoft Dynamics customers. This blog represents her views only, not those of her employer.

Updating Records with Excel

Recently, I have had to update 1099 information for a set of vendors that was inadvertently cleared out.  In that case, I retreated back to one of the simplest ways that I approach updating groups of records using Excel.  In this case, I had a backup of the information, so I first ran the following script to pull the information I needed to restore:

--select vendor 1099 information
select VENDORID, TEN99BOXNUMBER, TEN99TYPE, TXIDNMBR from PM00200   Now, of course, you could put a where clause on this if you like, to further restrict the information.  Then when I have my results, I copy/paste them in to Excel like this...    


  Next, I add a column to the right and create a CONCATENATE formula to build my SQL script.  Yes, yes, yes, I know this is borderline silly...but it is quick, easy, and allows you to store (with accuracy) what you changed and how you determined it.  Here is my concatenate formula that combines static text like UPDATE PM00200 with the different fields in the spreadsheet:   =CONCATENATE("UPDATE PM00200 SET TEN99BOXNUMBER=",B2,","," TEN99TYPE=",C2,",","TXIDNMBR='",D2,"' WHERE VENDORID='",A2,"'")   The result is a column of SQL statements to perform my update:  



Note the complete SQL script that is a result of the CONCATENATE formula I created.  I then cut/paste the column of scripts in to SQL Server Management Studio to run my update.  And then I save the spreadsheet as a record of what I updated and the source data I used.  Hope this is a helpful little trick for others of you who need to update data and want to do so in a controlled way.

Christina Phillips is a Microsoft Certified Trainer and Dynamics GP Certified Professional. She is a supervising consultant with BKD Technologies, providing training, support, and project management services to new and existing Microsoft Dynamics customers. This blog represents her views only, not those of her employer.

Wednesday, February 20, 2013

Finding Duplicate GL Entries

I faced an interesting dilemma this past week, in trying to locate duplicate GL entries integrated from another system.  Obviously, GP doesn't know they are duplicates and assigned each one a unique journal entry number.  So we had to find a way to locate the duplicates, and then only remove the duplicates (not the originating entries that needed to remain).

So what to do...

--First, I started with identifying the GL20000 that would be needed to identify the duplicates
SELECT OPENYEAR, JRNENTRY, SOURCDOC, REFRENCE, DSCRIPTN, TRXDATE,ACTINDX, ORGNTSRC, CRDTAMNT,DEBITAMT, DEX_ROW_ID as DEXROW1,


--Then I used, for the first time, ROW_NUMBER and PARTITION BY to essentially assign an index number to each duplicate.  So the first record would be 1, the first duplicate would be 2, the second duplicate would be 3 for each set of identical records.  This would help me isolate all of the "1"s as the records that should remain (the original entries) and anything greater than 1 as a duplicate to remove.  The PARTITION BY function let me reset the numbering for each set of duplicate records.
ROW_NUMBER() OVER (PARTITION BY SOURCDOC, REFRENCE, DSCRIPTN, TRXDATE,ACTINDX, ORGNTSRC, CRDTAMNT,DEBITAMT ORDER BY JRNENTRY)

--Fortunately, the integration passed information in to the originating source field that we could use to isolate entries from the integration only.

FROM GL20000 GL1 WHERE ORGNTSRC LIKE 'TheIntegrationHadAUniqueValueHere%'

--Next, I joined back to the GL20000 and grouped it to find only those record with actual duplicates (COUNT(*)>1). So anything that wasn't duplicated, wasn't returned.
AND ((GL1.REFRENCE IN (SELECT GL1.REFRENCE FROM GL20000 AS TMP GROUP BY REFRENCE, DSCRIPTN,TRXDATE,ACTINDX,ORGNTSRC,CRDTAMNT,DEBITAMT HAVING COUNT (*)>1 AND REFRENCE=GL1.REFRENCE AND DSCRIPTN=GL1.DSCRIPTN AND TRXDATE=GL1.TRXDATE AND ACTINDX=GL1.ACTINDX AND ORGNTSRC=GL1.ORGNTSRC AND CRDTAMNT=GL1.CRDTAMNT AND DEBITAMT=GL1.DEBITAMT)))
So I ended up my result set of duplicated records, I was then able to eliminate the records with a row number of 1 as the original entries.  The only thing I missed, and had to identify manually was a situation where there were duplicate debits or credits within a single journal entry.  So, for example, two debits in one journal entry both for $110.  I had a handful of those, and they caused my identified duplicate entries to not balance.  Once I identified those (using a calculation in Excel to net debits and credits for each line after sorting the duplicates together), then my identified duplicates balanced debits to credits.

I know that there may be a more elegant way to accomplish this, but this worked and reconciled to the expected duplicates so I thought I would share in case someone else comes up against this.

Monday, February 18, 2013

Skype very slow on Windows 7

I've been using Skype regularly for 3-4 years now to have almost daily calls with a colleague in Australia.  While it has generally worked well, one problem I've had in the last year is that the Skype application has seemed extremely slow and unresponsive.

For instance, when I place a call on Skype, it may take 10 seconds for it to start to ring.  And then once the person picks up the call, Skype continues to ring for 10 more seconds, even though I'm talking to someone already.  Ending a call is similar--I click to hang up the call, but it takes 10 seconds to actually hang up.  And overall, the Skype application was often extremely unresponsive, taking several seconds to show any buttons or to move its windows.

I finally started Googling this issue over the weekend, and found this YouTube video offering a potential fix

The video recommends deleting all of the Skype files in the %AppData% directory.

  1. Click on Start -> Run
  2. Type %appdata% and press Enter
  3. When Windows Explorer opens, locate the Skype directory
  4. Delete the entire Skype directory

I followed the instructions, relaunched Skype, logged in, and based on the one call I've made so far, it seems to be working much better.  No lags, no odd behaviors, and starting and stopping the call was smooth and snappy.

I was very much dreading the recent announcement that MS was transitioning MS Live Messenger to Skype, but if this quick fix worked, I won't mind using Skype any more.

UPDATE:  I used Skype several times today and it worked perfectly--incredibly responsive.  Such an improvement!


Steve Endow is a Dynamics GP Certified Trainer and Dynamics GP Certified IT Professional in Los Angeles.  He is also the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.

http://www.precipioservices.com