Showing posts with label Microsoft Dynamics AX. Show all posts
Showing posts with label Microsoft Dynamics AX. Show all posts

Tuesday, June 28, 2011

10 Yếu tố đảm bảo triển khai ERP thành công (lý thuyết)

Những câu chuyện về các dự án ERP thất bại luôn là nỗi ám ảnh cho các CEO hay CIO khi quyết định triển khai hệ thống ERP cho doanh nghiệp mình. Vì vậy, câu hỏi thường trực luôn đặt ra trong đầu họ là phải làm gì để tránh các vết xe đổ đi trước và đảm bảo rằng dự án luôn thành công?

Dưới đây là 10 yếu tố mà theo tác giả đánh giá là quan trọng nhất đảm bảo triển khai thành công một dự án ERP.

1. Lựa chọn đúng giải pháp

Điều này có vẻ hiển nhiên, nhưng trên thực tế không phải luôn luôn xảy ra. Các nhà cung cấp giải pháp ERP, để đạt được mục đích bán hàng, thường có xu hướng hoàn hảo hóa khả năng của giải pháp. Tức là với bất kỳ bài toán nghiệp vụ nào doanh nghiệp đặt ra, giải pháp đều đáp ứng hoàn toàn. Tất nhiên thực tế không hẳn như vậy. Trong trường hợp này, doanh nghiệp cần đặt câu hỏi ngược lại với nhà cung cấp: Họ sẽ giải quyết bài toán như thế nào? Họ đã từng gặp bài toán này ở đâu chưa?…Đó là thực tiễn thành công của giải pháp. Ngoài ra, doanh nghiệp cần phải có quá trình lựa chọn khắt khe và có cấu trúc để tìm ra giải pháp phù hợp nhất cho mình.
Bạn đọc có thể tìm hiểu thêm về quá trình lựa chọn ERP tại đây.

2. Lựa chọn đúng đơn vị triển khai

Đây cũng là điều tối quan trọng tương tự như việc lựa chọn đúng giải pháp. Đơn vị triển khai phải là đối tác có đủ năng lực chuyên môn và kinh nghiệm nhằm đảm bảo doanh nghiệp sẽ nhận được tối đa những tính năng, lợi ích của giải pháp đã đầu tư. Việc lựa chọn này, doanh nghiệp có thể tự thực hiện hoặc cũng có thể thuê đơn vị tư vấn độc lập. Đây là xu hướng đã phổ biến trên thế giới, tuy nhiên tại Việt Nam mới chỉ có một số ít doanh nghiệp áp dụng, điển hình là Tân Hiệp Phát và Prime Group.

3. Lập kế hoạch dự án một cách cẩn thận

Lập kế hoạch triển khai một cách thực tế và chi tiết nhất, đảm bảo rằng doanh nghiệp luôn kiểm soát được những gì sẽ phải làm và từng cá nhân trong đội dự án sẽ chịu trách nhiệm phần công việc nào. Đây là những điều rất cơ bản trong việc thực hiện bất kỳ dự án nào không chỉ là dự án ERP.

Có một thực tế đang diễn ra phổ biến tại các dự án ERP tại Việt Nam: thời gian triển khai gần như luôn kéo dài hơn so với kế hoạch ban đầu. Có thể do nhiều nguyên nhân: thay đổi nhân sự, mức độ phức tạp của nghiệp vụ đòi hỏi customize, thay đổi quy mô triển khai…tuy nhiên, còn có một nguyên nhân chung, đó là khi lập kế hoạch, doanh nghiệp cũng như đơn vị triển khai thường đặt ra các mốc thời gian một cách khá “lạc quan”, trong nhiều trường hợp là “phi thực tế”. Có thể do đơn vị triển khai không ước lượng được khối lượng công việc phải làm. Cũng có thể do doanh nghiệp muốn hoàn thành dự án sớm nhất có thể.

Điều này rất nên tránh, bởi việc trễ thời gian không chỉ dẫn đến việc phát sinh công việc, phát sinh chi phí mà còn ảnh hưởng tới tinh thần của các thành viên dự án.

4. Xác định phạm vi dự án rõ ràng và luôn tập trung vào đó

Thay đổi phạm vi giữa chừng luôn tiềm ẩn nguy cơ lớn đối với hầu hết các dự án. Khi bổ sung một điểm triển khai, hoặc một phân hệ đồng nghĩa với việc phải đầu tư thêm nguồn lực và thay đổi cấu trúc, kế hoạch dự án. Nếu không quản lý khéo, có thể dẫn đến tình trạng chồng chéo, ảnh hưởng tới các công việc khác hoặc nghiêm trọng hơn có thể làm trì hoãn cả dự án.

5. Tập trung vào những lợi ích đã xác định

Làm thế nào để xác định một dự án ERP triển khai thành công? Thành công của một dự án ERP không chỉ đo đạc bằng các tiêu chuẩn thông thường như hoàn thành đúng thời gian hay đúng ngân sách. Thành công thực sự thể hiện trong việc giải quyết hoàn toàn các bài toán nghiệp vụ cũng như quản lý của doanh nghiệp, mức độ hài lòng của đội ngũ nhân viên với hệ thống mới. Từ đó doanh nghiệp đạt được những lợi ích đã kỳ vọng khi quyết định đầu tư ERP như tăng năng suất, giảm được chi phí, minh bạch hóa tài chính…

6. Lựa chọn đội dự án với các thành viên phù hợp

Trong nhiều trường hợp, doanh nghiệp thường mặc định rằng việc triển khai ERP là trách nhiệm của đơn vị triển khai. Họ nghĩ đơn giản chỉ cần bỏ tiền mua giải pháp, thuê triển khai và một vài tháng sẽ có hệ thống mới để sử dụng.

Đánh giá thấp các yêu cầu và vai trò của đội dự án nội bộ là một trong những nguyên nhân dễ dẫn đến thất bại. Những kỹ năng, kinh nghiệm và nỗ lực của đội dự án nội bộ là tối quan trọng đối với việc triển khai. Bởi họ chính là những người phối hợp với đơn vị triển khai để xây dựng hệ thống và cũng chính họ sau này sẽ là những người tiếp nhận, vận hành hệ thống. Hãy lựa chọn những nhân viên am hiểu nghiệp vụ cũng như nắm rõ các vấn đề mà doanh nghiệp đang gặp phải để tham gia vào đội dự án. Cũng cần đảm bảo rằng đây là những người sẽ gắn bó lâu dài với doanh nghiệp.

Trong thời gian triển khai dự án, tốt nhất hãy để họ tập trung duy nhất vào công việc triển khai, các công việc thường ngày nên chuyển giao cho những người khác.

7. Đảm bảo có sự cam kết từ cấp lãnh đạo

Dự án ERP cần phải được định hướng từ trên xuống dưới, cần có người từ đội ngũ lãnh đạo tham gia chỉ đạo, hỗ trợ hàng ngày. Mâu thuẫn, hay đơn giản là sự không thống nhất có thể nảy sinh bất cứ lúc nào giữa thành viên hai đội dự án, đó là lúc cần sự dung hòa cũng như quyết đoán của lãnh đạo .

8. Đảm bảo người dùng cuối được đào tạo đầy đủ

Việc triển khai chưa dừng lại sau khi đã thiết kế, cấu hình và cài đặt được hệ thống bởi hệ thống không thể tự nó mà vận hành được, những người dùng cuối bao gồm đội ngũ quản trị hệ thống và đội ngũ nhân viên tác nghiệp cần phải được đào tạo để sử dụng hệ thống đúng cách và hiệu quả nhất. Việc đào tạo cần được thực hiện một các nghiêm túc, hướng dẫn lý thuyết phải gắn liền với thực hành ngay trên máy. Nếu có điều kiện doanh nghiệp nên đào tạo cho tất cả người dùng tuy nhiên, trong một số trường hợp người dùng quá đông hay doanh nghiệp có nhiều quá nhiều chi nhánh tại nhiều địa điểm khác nhau, có thể lựa chọn đào tạo những người chủ chốt, sau đó chính những người này sẽ tiếp tục đào tạo lại cho người khác.

9. Đừng quên hệ thống các báo cáo

Hãy suy nghĩ về các hệ thống hiện tại và danh sách các báo cáo mà doanh nghiệp đang sử dụng trước khi triển khai ERP. Liệu rằng đơn vị triển khai có thể cung cấp được tất cả các báo cáo này trên hệ thống ERP mới? Nếu được, sẽ mất bao nhiêu thời gian để phát triển tất cả các báo cáo này?
Doanh nghiệp thường có tâm lý tận dụng tối đa đơn vị triển khai để xây dựng và phát triển hệ thống báo cáo nhiều nhất có thể, trong số đó có thể có những báo cáo thực sự không cần thiết. Điều này sẽ dẫn đến việc lãng phí nguồn lực của cả hai bên.

10. Quản lý thay đổi hiệu quả

Một điều chắc chắn là sự ra đời của hệ thống mới sẽ ảnh hưởng đến nhiều khía cạnh trong doanh nghiệp: các quy trình kinh doanh, thủ tục thay đổi dẫn đến vai trò của một số nhân sự sẽ khác… Do mỗi người đều có phản ứng khác nhau trước những thay đổi, nên đây sẽ là lúc doanh nghiệp cần có một chiến lược khéo léo để từng bước đưa ERP vào một cách “xuôi chèo, mát mái”.

(ITGVN – theo eac.vn)

Wednesday, June 22, 2011

OLAP PivotTable Extensions

OLAP PivotTable Extensions is an Excel 2007 and Excel 2010 add-in which extends the functionality of PivotTables on Analysis Services cubes. The Excel API has certain PivotTable functionality which is not exposed in the UI. OLAP PivotTable Extensions provides an interface for some of this functionality. It also adds some new features like searching cubes, configuring default settings, and filtering to a list in your clipboard. The add-in can be launched from the following menu option in the right-click menu for PivotTables:

menu.png

Private Calculated Members

Any calculated members which are part of the Analysis Service cube on the server can be added to PivotTables. But there is no built-in UI to define your own MDX calculations. Adding extra Excel calculations in the cells surrounding the PivotTable has some limitations as they are not part of the PivotTable and can be wiped out if the dimensions of the PivotTable change, and plain Excel calculations must only operate on data visible in the PivotTable.

OLAP PivotTable Extensions let you define your own calculated measures which are private to that particular PivotTable:
AvgTaxFormula.png

Those calculations appear in the PivotTable just like any other calculations:
AvgTaxPivotTable.png

They appear in the Field List pane at the very top under the Values grouping:
AvgTaxFieldList.png

For help with advanced calculation properties for these private PivotTable calculations, or for help with MDX expressions, refer to our Calculations Helppage.

Best Practice: In order to ensure a single version of the truth, it is a best practice to define important calculations as part of the cube source code. But some calculations like simple ratios or differences may clutter the cube and may be more appropriate if defined in the PivotTable itself. In addition, certain ad hoc research or prototyping may be more appropriate to be done as calculations private to a PivotTable until they are finalized and are ready to be added to the cube source code.

Limitation: If you run "OLAP Tools... Convert to Formulas" on a PivotTable with private calculated members in Excel 2007, the private calculated members will show N/A. There is no known workaround at this point other than upgrading to Excel 2010 or having your OLAP administrator define these calculated members in the cube itself.

Calculations Library

Since all calculations you define are private to that one PivotTable, OLAP PivotTable Extensions automatically creates a Calculations Library for you which contains all the calculations you create. This allows you to pick any previous calculation you've used from a dropdown and add it to the current PivotTable:

LibraryDropDown.png

You can also perform Calculation Library maintenance by importing, exporting, and deleting calculations:

Export.png

View PivotTable MDX

If a PivotTable is performing poorly or returning incorrect numbers, it may be necessary for the Analysis Services administrator to troubleshoot the MDX query which the PivotTable is using. The MDX tab of the OLAP PivotTable Extensions dialog shows you this MDX.

AvgTaxMDX.png

The MDX is exactly what is sent to the server with one exception. Any private calculations you've created for your PivotTable are defined as session calculated members. The MDX query exposed on the MDX tab displays the formulas for these calculations as query calculated members in the WITH clause of the MDX query. This allows an administrator to copy and paste the MDX query and troubleshoot it more easily in Management Studio or MDX Studio.

Filtering PivotTable to a List

A common scenario is having a list of items you wish to research in a PivotTable. Instead of manually checking each item in the filter dropdown, you can use the Filter List feature from OLAP PivotTable Extensions:

FilterListDialog.png

Changing PivotTable Defaults

Certain settings must be manually changed after creating a new PivotTable. For instance, if your dimensions have calculated members you wish to see in your PivotTable, you must manually right click on the PivotTable, choose PivotTable Options, flip to the Display tab, then check "Show calculated members from OLAP server". The Defaults tab of OLAP PivotTable Extensions lets you default this setting to be on in any new PivotTables you create in the future. If checked, it also automatically sets "Refresh data when opening the file" on the connection properties:

Defaults.png

Searching

Finding what you’re looking for in a cube can sometimes be challenging, but the Search feature of OLAP PivotTable Extensions can help. It lets you text search the items in the Field List and their descriptions. It also lets you text search the dimension members in your cube.

SearchTab.png

For more detailed information about the Search feature, see the dedicated Search page.

Distributing PivotTables

OLAP PivotTable Extensions need only be installed on computers which need to create new private PivotTable calculations. After those calculations have been defined, the PivotTable can be distributed to others without problem. If you distribute the Excel 2007 workbook to other Excel 2007 users, they will be able to continue designing and manipulating that PivotTable without problem. If published to Excel Services, the private calculations you define will still be active in the PivotTable.

ExcelServices.png

The Calculation Library does not need to be distributed unless other users wish to start brand new PivotTables and reuse certain calculations you have created using OLAP PivotTable Extensions.

Using Excel 2007/2010 and OLAP PivotTable Extensions to edit an Excel 2003 format .xls workbook with a PivotTable and add a private calculated member will work. This PivotTable can be saved and distributed to users of Excel 2003 and the private calculated member will show up and work.

Installation Requirements

  • Excel 2007 or Excel 2010 is required.
  • Access to a cube on an Analysis Services server is required.
  • .NET Framework version 2.0 is required.

Thursday, November 25, 2010

Workflow là gì?

Định nghĩa đơn giản nhất của workflow: là các định nghĩa của các qui trình đã chuẩn hóa. Và khi mình viết các module cho từng công việc, workflow là 1 chuỗi công việc phải làm. Thường thì các công ty nước ngoài hoặc các doanh nghiệp lớn mới có được sự ổn định trong các quy trình làm việc, nên workflow của họ thường là 1 dòng chảy thống nhất, ví dụ: A –> B –> C –> D. Tuy nhiên ở các doanh nghiệp Việt Nam, sự ổn định trong dòng chảy đó thường là hiếm, nên nhiều khi các ERP có workflow phải thường là workflow động. VD, tại một thời điểm X thì workflow của phòng SX là A –> B –> C –> D, tuy nhiên có thể tại thời điểm Y thì workflow đó được thay đổi là: B –> A –> C –> D, và … Tuy nhiên để rộng đường tìm hiểu workflow, tôi xin mượn ý kiến của 1 bài viết mà tôi đã có dịp đọc được trên mạng (hình như là của PAT). Theo bài viết đó thì workflow trong một ERP thể hiện ở các yếu tố căn bản sau :

1. Các quy trình và khả năng xử lý công việc theo trình tự công việc. Ví dụ trình tự công việc cho việc mua hàng trong hệ thống ERP minh hoạ như sau : Các bộ phận có nhu cầu mua hàng xây dựng yêu cầu mua hàng POP (Purchase order Proposal) -> phòng mua hàng -> Nhân viên phụ trách mua ứng với từng loại hình xem xét -> Đề nghị mua hàng của bộ phận mua hàng -> phê duyệt của lãnh đạo phòng -> đề nghị báo giá hoặc đấu thầu -> đánh giá nhà cung cấp -> lựa chọn NCC-> lập đơn hàng chính thức PO -> nhận khẳng định cung ứng từ NCC -> theo dõi nhận hàng -> nhận hóa đơn từ NCC -> chuyển hoá đơn đến kế toán thanh toán….

2. Khả năng xem xét trình tự công việc và phê duyệt công việc trên hệ thống . Lúc này việc hoạch định phân quyền cho từng bước xử lý công việc của mỗi một quy trình phải nghiêm ngặt để đảm bảo tính đúng đắn của thông tin và truy cứu trách nhiệm sau này.

3. Giống như ví dụ workflow động mà tôi nêu trên, cái này được thực thi qua hệ thống tham số quy trình nghiệp vụ và khả năng ánh xạ tham số vào thiết lập quy trình nghiệp vụ (mapping). Đây cũng là một chỉ tiêu rất quan trọng để đánh giá khả năng của một ERP. Một vài ví dụ trong hệ thống tham số mà mình đã thiết lập. DN vừa có một Khách hàng mới. Do thời gian ban đầu muốn có những ưu đãi DN có thể quyết định không tính phạt chậm trả cho thanh toán trễ cũng như vẫn cho phép xuất hàng khi tổng công nợ + doanh thu lớn hơn tín dụng (tất nhiên là trong một phạm vi nào đó) lúc này các tham số phạt chậm trả bằng “No”, giao hàng có giá trị “Yes”. Một thời gian sau DN có thể thay đổi quy trình này bằng tham số phạt chậm trả bằng “Yes”, giao hàng có giá trị “No” hệ thống sẽ tự động tính phạt lãi suất chậm trả ứng với từng lần thanh toán chậm và khi khách hàng mua vượt quá tín dụng hệ thống sẽ bắt buộc phải phê duyệt lệnh xuất hàng này từ lãnh đạo.

Nói chung đây là một ví dụ về tham số và còn rất nhiều tham số khác

khongianit

Sunday, November 14, 2010

Reducing the Size of your Database in SQL Server 2005/SP2

An exciting new feature in SQL Server 2005/SP2 is Vardecimal Storage Format. This storage format lets you reduce the size of your table significantly if the table has one of more columns of type decimal or numeric without requiring any changes to your application.

Up until now, the decimal and numeric types are stored as fixed length data in SQL Server. Both of these types are functionally equivalent and have a format of (p, s) where p is the precision (number of decimal digits) and s is the scale representing number of digits after the decimal. Depending on the precision (it can be declared in the range from 1 to 38), the decimal value can take anywhere from 5 bytes to 17 bytes. This can bloat the size of the table, especially when you have small decimal values for a column declared with high precision requirement. This issue is similar to char (17) vs. varchar(17). In this case, if most of your character data is 1 or 2 characters long but the max value is 17 characters long, you can reduce the size of the table by declaring the column to be of type varchar(17) instead of char(17).

The new vardecimal storage format stores the decimal/numeric values in a variable length storage format. It provides efficient storage of decimal/numeric data by eliminating the leading/trailing zeros and only storing the minimum required bytes. Using this format, you can get significant space savings (depending on your data distribution) in the space required to store decimal/numeric data. You can enable vardecimal storage format at a table level.

In our in-house testing, we have seen significant reduction in the size of the FACT table(s) that has large number of decimal columns. FACT tables are typically the largest table in a Data Warehouse. Here are some the numbers from our testing.

Best case reduction in the size of the table

57%

69%

51%

In my next post http://blogs.msdn.com/sqlserverstorageengine/archive/2006/11/13/estimating-the-space-savings-with-vardecimal-storage-format.aspx , I will describe when and how to enable Vardecimal storage format on one or more tables in your database.

Thursday, October 7, 2010

Using Dynamics 'AX .NET Business Connector' to access Dynamics AX 4.0 from .NET world

So, this is a really interesting integration aspect between AX and .NET apps. We want to access AX business logic (or data, transactions, etc.) from the .NET world. :-)

Requirements

Before starting to develop anything, we need to install several required components:

In my case, I’ve got a single development machine where I have installed everything. I mean:

- SQL Server 2005

- Dynamics AX 4.0

- AX .NET Business Connector

- Visual Studio 2005 (for .NET development)

- We could also install ‘Windows SharePoint Services’ and the ‘AX Enterprise Portal’. It also uses .NET Business Connector for accessing AX, but in this case, we are just talking about .NET and AX. I’ll maybe post about ‘AX Enterprise Portal’ and Windows SharePoint Services in another posting. J

So!, the AX .NET Business Connector allows accessing Microsoft Dynamics AX from our own .NET applications as though they were a native Microsoft Dynamics AX client. So any .NET app or even ASP.NET web-app could access AX business components using this connector. For instance, as I already said, the ‘AX Enterprise Portal’ (based on Windows SharePoint Services and .NET) uses .NET Business Connector to access AX business logic.

BTW, internally, all these integration technologies interact with Dynamics AX through Application Object Server (AOS), which is kind of the ‘Business Components Application Tier’ within AX architecture itself.

AX .NET Business Connector installation and configuration

Before installing Business Connector, the following must be available in the domain:

- A core Microsoft Dynamics AX installation. This installation can be completed at the same time as the Business Connector installation, or it can be done prior to this installation.

- Active Directory configured in native mode.

By default, it uses Windows authentication security (AD), so it can be also integrated with AX Enterprise Portal (based on Windows SharePoint Services, which also uses Windows security). This security authentication type is important to have it into account when accessing from our own .NET apps.

We also need a Windows domain account to act as the Business Connector Proxy. So we need to configure the Business Connector if our application requires "act-on-behalf-of" functionality for external users or users that are at times unable to connect to our application.

So, for instance, I created an account within Windows Active Directory, called MyDomain\bcproxy. That account is going to be my ‘proxy account’.

Remember to assign a password to the user, select the Password does not expire option and select the No interactive logon rights option.

(Optional) Adding the proxy account to the IIS local Windows group.

For Web applications, we must add the Business Connector proxy account to the IIS local Windows group. If you are using Windows SharePoint Services, you must also add the account to the Windows SharePoint local Windows group.

1. Open the Computer Management application (Start > Administrative Tools > Computer Management).

2. Expand the Groups folder under Local Users and Groups.

3. Add the Business Connector proxy account to the following groups:

- IIS_WPG (IIS Worker Process Group)

- STS_WPG (STS Worker Process Group), if running Windows SharePoint Services

(Optional) Configure the IIS application pool

For Web applications, you must associate the Business Connector proxy account to the appropriate application pool identity.

Installation of ‘.NET Business Connector’ setup-app.

So now we are ready to install ‘.NET Business Connector’ from normal AX setup.exe DVD, but we have to select that we want to install it. ;-)

The setup’s steps and quite normal, almost just the ‘next, next’ stuff.

Configure the Business Connector Proxy User

The last step is to configure the Business Connector Proxy User within AX configuration:

1. Start Microsoft Dynamics AX (Start > All Programs > Microsoft Dynamics > Microsoft Dynamics AX 4.0 Client).

2. Open the Business Connector Proxy dialog box: Administration > Setup > Security > Business Connector Proxy.

3. In the Alias box, enter the alias. In the Network domain box, enter the domain of the user and then close the dialog box.

Implementing a sample AX class to consume it

So now we’re starting one of the fun tasks!!

We are going to implement a basic X++ class with a simple method. Just for testing.

So, within Dynamics AX client, open the AOT (Application Objects Tree):

Then, let’s create a new simple class, like the following:

So, I’ve created a very simple method called ‘Salute()’, which accepts a single string parameter (a name) and then it responds with a salutation. It is very simple, just a testing method for accessing AX from .NET world. J. Here is the Salute() method code:

X++ Code:

client server public static str Salute(str name)
{
str salute = "Cheers " + name + "! from AX!";
;
return salute;
}

Great!, very simple!. An if you are used to C# or C++, X++ it is quite similar!.

So now, we could test this method calling it from an AX JOB. But, we’re directly to execute it calling it from .NET (developing with Visual Studio 2005) through the ‘AX .NET Business Connector’.

Ok, I’ve created a simple WinForms application project called NetBcWinFormsTest. Take into account that this is just for testing. If it were a real application (.NET WinForms client as presentation layer), may be we’ll use a Web-Service or WCF-Service in between (for remote calls).

So, here we can see VS.2005 with our simple WinForms proyect, and a single Windows form with a button:

So now, we have to add a reference to the ‘AX .NET Business Connector’ .NET assembly, which is the ‘Microsoft.Dynamics.BusinessConnectorNet.dll’.

We have to add it using the ‘Add ReferenceàBrowse’ option, selecting the physical .dll situated on:

C:\Program Files\Microsoft Dynamics AX\40\Client\Bin\Microsoft.Dynamics.BusinessConnectorNet.dll

Ok, now we are ready for programming some C# code (or VB.Net code, of course).

Let’s double click on our simple button, and add the following code:

A ‘using’ sentence (just like a shortcut for our C# code):

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;


using Bcn = Microsoft.Dynamics.BusinessConnectorNet;

namespace NetBcWinFormsTest

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void btnAccessAX_Click(object sender, EventArgs e)

{

// Create a BCN object

Bcn.Axapta axp;

axp = new Bcn.Axapta();

try

{

// In this case there’s no need for credentials, it is taken from Winforms execution

// because this is just a sample testing application.

// but if it were an ASP.NET app, we should provide specific credentials.

axp.Logon(null, null, null, null);

}

catch (Exception excepn)

{

MessageBox.Show(excepn.ToString());

return;

}

//Calling the X++ static Method!!.

string salutation;

salutation = (string)axp.CallStaticClassMethod(

"CdltllDemoBcnClass", // The class name.

"Salute", // method's name.

"CESAR"); // Parameters.

MessageBox.Show(salutation);

axp.Logoff();

//

}

}

}

Take a look to the selected code and read all the C# comments within that code.

Note that we are instancing a standard BCN object using the class (Microsoft.Dynamics.BusinessConnectorNet.Axapta), and then, when calling the ‘CallStaticClassMethod() method, we have to provide all the X++ class and method information.

So!, the resulting execution in our .NET App is the following…:

Not a very impressive graphics interface, but we are getting that result from within Dynamics AX business logic!! J.

Next step is getting real data from AX tables and AX business classes.

Getting AX real Data (Updated - November 28th 2007)

So, now, we're going to add a new functionality to our little .NET program. In this case, we are going to invoke AX classes to get real AX data. For instance, we're going to get data about Vendors.

Then, we add another simple button to our .NET form, and also a DataGridView where we'll show that data. It would look like the following:

image

Then, we add the following code to be triggered from our second button:

A ‘using’ sentence (just like a shortcut for our C# code):

private void btnAxDataAccess_Click(object sender, EventArgs e)

{

// .NET Business Connector objects

Bcn.Axapta ax;

Bcn.AxaptaRecord axRecord;

// Name of table to query.

String strTable = "VendTable";

// VendTable field names for calls to AxRecord.get_field

String strVendAccountNumField = "AccountNum";

String strVendNameField = "Name";

// Output variables for calls to AxRecord.get_Field

Object vendAccNum, vendName;

// String used to query table.

String strQuery = "select * from %1";

//Sample including WHERE clause

//strQuery = "select * from %1 where %1.vendGroup == ' my_search_criteria_here '";

try

{

// Log on to Microsoft Dynamics AX.

ax = new Bcn.Axapta();

ax.Logon(null, null, null, null);

// Create an AxaptaRecord object for the VendTable.

axRecord = ax.CreateAxaptaRecord(strTable);

// Execute the query on the table.

axRecord.ExecuteStmt(strQuery);

// DataTable creation

DataTable dt = CreateVendorDataTable();

DataRow row;

// Loop through the set of retrieved records.

while (axRecord.Found)

{

// Retrieve the record data for the

// specified fields.

vendName = axRecord.get_Field(strVendNameField);

vendAccNum = axRecord.get_Field(strVendAccountNumField);

row = dt.NewRow();

row["Name"] = vendName.ToString();

row["AccNum"] = vendAccNum.ToString();

dt.Rows.Add(row);

// Advance to the next row.

axRecord.Next();

}

// Dispose of the AxaptaRecord object.

axRecord.Dispose();

// Log off from Microsoft Dynamics AX.

ax.Logoff();

//Data-Binding with our GRID

dataGridView1.DataSource = dt;

}

catch (Exception ex)

{

// Console.WriteLine("Error encountered: {0}", e.Message);

// Take other error action as needed.

}

}

// Create an ADO.NET DataTable ‘on the fly’

public DataTable CreateVendorDataTable()

{

DataTable dt = new DataTable();

dt = new DataTable();

DataColumn vendorNameColumn;

vendorNameColumn = new DataColumn("Name");

vendorNameColumn.DataType = Type.GetType("System.String");

dt.Columns.Add(vendorNameColumn);

DataColumn vendorAccNumColumn;

vendorAccNumColumn = new DataColumn("AccNum");

vendorAccNumColumn.DataType = Type.GetType("System.String");

dt.Columns.Add(vendorAccNumColumn);

return dt;

}

So, what we are doing is using the AxaptaRecord class to select and get all the records from AX data. Keep in mind one important thing. Unlike ADO.NET, which is connectionless oriented, AX data access classes are connection-oriented. I mean, once you have selected what you want, you have to loop over it in a connected environment. In this case, what I am doing is looping through all the records and creating an ADO.NET DataTable 'on the fly' (could be within a DataSet). After having a DataTable or DataSet we could return it to any other .NET assembly or, as in this case, we just make a DataBinding with our GridView, so we show all the records.

Or course, in a real Application and depending of data volume, we should filter data based on kind of 'data pages' or 'data windows', so we won't fill a single DataTable with all the AX table data.

So, if we execute it, we'll get all that AX data!.

image

Magic between .NET and Dynamics AX?. :-)

Thursday, September 9, 2010

How to Upload Opening Balance for Bank in Microsoft Dynamics AX 2009

This article provides you the steps to upload bank opening balance in Dynamics AX 2009.

Bank opening balance scenario:
------------------------------------

Normally, a bank has un-reconciled transactions at end of the any period. Hence, when a company needs to upload bank opening balance, all reconciled transactions balance is updated as one transaction and all un-reconciled transactions as individual entries.

For example, a company receives their bank statement dated 31st December and shows an ending credit balance of $100,950, of which $950 is the sum of un-reconciled transactions while $100,000 has been reconciled.

Section 1: Setup Journal, Bank and Ledger accounts for bank.
-----------

(NOTE: Follow this section only if Journal, bank, and ledger accounts are not created otherwise go to section 2)

  1. Go to General ledger  Setup  Journals  Journal names
  2. Setup a new journal.
  3. Go to General Ledger  Chart of accounts  setup new account code 111110 for ‘USDBANK’
  4. Go to General Ledger  Chart of accounts  setup new temporary account code 111111 for ‘USDBANK’
  5. Go to Bank  Bank accounts details and setup the bank ‘USDBANK’ with required details and link ledger account 111110 to bank.

Section 2: Enter reconciled balance for the bank.
-----------

Follow the steps below to update the reconciled balance.

  1. Go to General Ledger  Journals  General Journal  Create a new journal  Click the lines button.
  2. Enter values in following fields.
    2.1. Date = date for opening balance
    2.2. Account type = Bank
    2.3. Account no. = ‘USDBANK’
    2.4. Transaction text = appropriate text (‘Reconciled opening balance for the year 2009)
    2.5. Credit = 100,000
    2.6. Offset A/c type = ‘Ledger’
    2.7. Account no. = 111110 (Ledger a/c code for bank)

    Note: Step 2.7, ledger account for bank is selected to ensure that balance gets nullified in chart of accounts. So, when user enters the trial balance, user doesn’t need to worry about bank ledger accounts.

  3. Post the journal and check the bank balance via Bank  Bank details  Balance. It shows user balance as Credit 100,000.

Section 3: Enter un-reconciled transactions for the bank.
-----------

Follow the steps below to enter all un-reconciled transactions.

  1. Go to General Ledger  Journals  create a journal  click lines.
  2. Create a new line for each un-reconciled transaction with following fields.

2.1. Date = date for Opening balance (as an example 01-Jan-2009)
2.2. Account type = Bank
2.3. Account no. = ‘USDBANK’
2.4. Transaction text = ‘un-reconciled bank transactions as at 01-Jan-2009’ (as an example)
2.5. Debit amount = transaction amount.
2.6. Go to the payment tab, and enter values in following fields

2.6.1. Payment reference = document details
2.6.2. Bank transaction type = Cheque or deposit etc. from available types.

Use below table to simulate and get an opening balance as highlight above.

Account type

Account

Transaction text

Debit

Credit

Bank transaction type

Payment reference

Bank

USDBANK

un-reconciled bank transactions as at 01-Jan-2009

350

01

Doc 1

Bank

USDBANK

un-reconciled bank transactions as at 01-Jan-2009

1200

01

Doc 2

Bank

USDBANK

un-reconciled bank transactions as at 01-Jan-2009

150

01

Doc 3

Bank

USDBANK

un-reconciled bank transactions as at 01-Jan-2009

700

01

Doc 4

Bank

USDBANK

un-reconciled bank transactions as at 01-Jan-2009

1000

05

CHQ 1

Bank

USDBANK

un-reconciled bank transactions as at 01-Jan-2009

450

05

CHQ 2

Ledger

111111

Opening transactions balance

950

Section 4: Reconciled opening balance ‘reconciled’ transaction.
-----------

We have $100,000 entered as bank reconciled opening balance. Hence, we need to reconcile it. Follow the steps below to complete the process.

  1. Go to Bank  Bank Account details  Select USDBANK record Function  Account Reconciliation.
  2. Press CTRL + N to enter new bank statement.
  3. Enter ‘dummy’ statement as ‘OP Balance’, statement date as 01-Jan-2009 and ending balance as $100,000.
  4. Click ‘Transactions’ button.
  5. Mark the ‘Cleared’ check box for Opening balance’ transaction of $100,000.
  6. Click the button ‘Reconcile account’.

Upon completion, only those unreconciled open transaction will appear as un-reconciled transactions.

Section 5: Settle and close the temporary bank account.
-----------

  1. Go to General Ledger  Journals  create a journal  click lines.
  2. Create a line with following fields.
    • Date = date for Opening balance (as an example 01-Jan-2009)
    • Account type = Ledger
    • Account no. = ‘111110’
    • Transaction text = ‘Settle and close temporary bank account’
    • Debit amount = transaction amount. (In this case it is $950)
    • Offset a/c type= Ledger
    • Account no. = ‘111111’
  3. Post the Journal.
  4. Go to Chart of Account details screen and verify that 111110 and 111111 have zero balance.
  5. Select the account 111111 and go to ‘General’ tab and tick ‘Locked in Journal’. This is to avoid any further journal entries to this account.

Section 6: Verify all balances and bank transactions on posting of trial balance.
-----------

NOTE: It is assumed that trial balance has been entered.

  1. Go to General ledger  Chart of Account details and refer the ‘balance column or verify balance via ‘Balance’ button.
  2. Go to Bank  Bank Account details  Balance button and verify that balance is correct.
  3. Go to Bank  Reports  Transactions  Bank account statement and print the report and verify transactions.
  4. Go to Bank  Reports  Reconciliation  Un-reconciled bank transactions report and verify it is correct.
(Source Micorsoft Dynamics AX 2009)

Sunday, August 29, 2010

BĐS lại có nguy cơ “đóng băng”

Những chuyên gia và nhà đầu tư BĐS gần đây lo ngại thị trường BĐS cuối năm tại VN có nguy cơ bị đóng băng vì các chính sách mới của Chính Phủ. Bên cạnh những quy định mới theo ý kiến của những người làm luật là sẽ góp phần làm minh bạch và lành mạnh thị trường BĐS nhưng thực tế, chưa bao giờ thị trường nhà đất lại chịu nhiều chính sách tác động đan xen theo chiều hướng xấu như hiện nay.




















Khóa “van” tín dụng, BĐS gặp khó khăn về vốn









Theo thống kê sơ bộ, có ít nhất 3 chính sách liên quan đến tài chính, thuế sử dụng đất và hoạt động kinh doanh đang làm cho các ngân hàng, chủ đầu tư và khách hàng dè dặt đầu tư vào thị trường này.



Gặp khó khăn về vốn…



Các chuyên gia và các nhà đầu tư BĐS cho rằng thông tư số 13/2010/TT-NHNN do Thống đốc Ngân hàng Nhà nước ban hành (ngày 20-5-2010) quy định về các tỉ lệ bảo đảm an toàn hoạt động các tổ chức tín dụng đang gây trở ngại lớn về nguồn vốn cho thị trường BĐS cuối năm.



Thông tư 13 quy định sẽ tăng hệ số rủi ro từ 100% lên 250% đối với các khoản vay kinh doanh BĐS, đồng thời tăng hệ số an toàn vốn của các ngân hàng lên 9%.



Như vậy, với quy định mới này việc vay vốn mua nhà đất sẽ khó khăn hơn vì các ngân hàng sẽ phải thu hẹp tín dụng trong lĩnh vực này để bảo đảm an toàn vốn. Trong khi mua bán BĐS lâu nay chủ yếu sử dụng khá nhiều từ vốn vay ngân hàng thì nay nguồn cung này đang bị thu hẹp, những tác động xấu đến thị trường và nguy cơ “đóng băng” BĐS là điều khó tránh khỏi.



Theo các chuyên gia, quy định tăng tăng hệ số rủi ro của TT 13 đối với lĩnh vực BĐS có thể sẽ giúp hệ thống ngân hàng bảo đảm được mức độ an toàn vốn và ổn định vững chắc trước những biến động xấu của nền kinh tế vĩ mô, song về ngắn hạn, thị trường chắc chắn sẽ chứng kiến một số công ty kinh doanh nhà đất trong nước phá sản và buộc phải bán lại dự án. Khách hàng có nhu cầu mua nhà để ở cũng sẽ gặp không ít khó khăn vì thiếu sự hỗ trợ tài chính cần thiết cho khoản vay còn lại...



Bất cập cách tính tiền sử dụng đất…



Điều 11 trong NĐ 69/CP bổ sung về quy hoạch sử dụng đất, giá đất, thu hồi đất, bồi thường, hỗ trợ và tái định cư đang gây ra những bất cập cho những nhà đầu tư BĐS.



Điều 11 NĐ69 quy định các doanh nghiệp bất động sản phải đóng tiền sử dụng đất căn cứ vào giá chuyển nhượng quyền sử dụng đất thực tế theo giá thị trường. Điều này hoàn toàn khác so với cách tính trước đây và gây khó khăn do mức tổng số tiền phải đóng cao và doanh nghiệp không còn tính chủ động. Thời gian trước, các doanh nghiệp đóng tiền sử dụng đất dựa theo bảng giá đất hằng năm do UBND TP ban hành (chỉ bằng 20% - 30% giá thị trường) và tiền bồi thường giải phóng mặt bằng được khấu trừ vào tiền sử dụng đất.



Nhiều chuyên gia dự báo nếu áp dụng Nghị định này sẽ dễ dẫn đến tình trạng đóng băng toàn thị trường do khó có doanh nghiệp nào dám đầu tư dự án mới khi chưa tính được đầu vào và đầu ra. Với cách tính hiện tại mọi việc đều thụ động, không thể biết được giá cả thị trường vài năm sau chuyển biến thế nào thì không ai dũng cảm đầu tư khi chẳng thể chắc chắn mức thuế mình phải đóng cũng như khả năng tiêu thụ sản phẩm.



“Lướt sóng” bị hạn chế



Nhiều ý kiến cho rằng việc không cho phép uỷ quyền định đoạt đối với các sản phẩm nhà ở trong hợp đồng uỷ quyền nhằm tránh rủi ro cho phía người mua tại điều 63 của Nghị định 71 đã vô tình tạo một nút thắt về pháp lý cho những nhà đầu tư thích chơi “lướt sóng” bất động sản.



Theo chị Nguyễn Thu Nga – Giám đốc văn phòng nhà đất trên đường Trần Đăng Ninh (HN): Việc không cho uỷ quyền định đoạt sẽ gây khó cho các nhà đầu tư "lướt sóng" và chắc chắn nhiều người bị "mắc cạn" do không trường vốn. Bởi lâu nay, những người mua bán bất động sản vẫn thích sở hữu các loại giấy tờ pháp lý có dấu đỏ. Bây giờ, nếu chỉ có giấy mua bán viết tay thì tính pháp lý không cao.



Một điều rõ ràng từ trước nay người ta vẫn thấy đó là: Luật đất đai và nhà ở quy định phải được cấp giấy chứng nhận rồi mới được quyền mua bán nhà. Do vậy, khi mà nhà chưa có đầy đủ giấy tờ mà vẫn mua bán với nhau bằng giấy tờ viết tay thì dẫn đến nhiều rủi ro cho bên mua bởi vì khi có tranh chấp xảy ra sẽ không được pháp luật bảo vệ. Trước đây khi chưa có nghị định 71 người dân thường sử dụng hợp đồng uỷ quyền để căn cứ vào đó thay mặt người chủ nhà để đi liên hệ hoặc thay quyền chủ nhà định đoạt tài sản đó. Sau khi nghị định có hiệu lực thì việc mua bán này không được làm nữa và việc mua bán rõ ràng sẽ trở nên rất rủi ro.



Rõ ràng, các cơ quan quản lý cần có những điều chỉnh hợp lý hơn để “trên thông dưới thoáng”, thúc đẩy thị trường nhà đất trở lại “guồng” một cách hợp lý hơn, bền vững hơn.





Châu Bội

Từ sự kiện Ngô Bảo Châu nghĩ về “Giáo dục toàn diện”

Chương trình giáo dục “Toàn diện” ở nước ta kỳ vọng sẽ tạo ra những con người toàn diện nhưng khó có thể tạo ra được những nhân tài theo kiểu “Toàn diện” nhồi nhét như hiện nay.

Học sinh đang mong chờ những cải cách hợp lý trong chương trình giáo dục hiện nay.
Ngày19/8, ở Ấn Độ, GS Ngô Bảo Châu nhận giải Fields, đó cũng là ngày kỷ niệm Cách mạng Tháng Tám của nước ta. Thật ngây thơ và khiên cưỡng khi nói rằng, GS Ngô Bảo Châu là con người của Cách mạng Tháng Tám, song người Việt Nam có niềm tự hào chính đáng khi liên tưởng hai sự kiện. Liên tưởng để tìm kiếm niềm tin trong các sự kiện rời rạc mà biết đâu có mối liên hệ sâu xa và đặc biệt hơn, suy nghĩ về những vấn đề của cuộc sống hiện tại, tương lai.

Như vấn đề giáo dục. Không cần bàn cãi nữa, GS Ngô Bảo Châu là con người của nước Việt Nam độc lập, thống nhất, nhưng giải thưởng Fields là thành tựu của nước Pháp với trường đại học có những người thầy đã tạo ra môi trường nghiên cứu cho GS Ngô Bảo Châu phát huy được tài năng kiệt xuất.

GS Ngô Bảo Châu có làm thơ, viết văn, nhưng chắc chắn ông cũng chỉ là một nhà toán học kiệt xuất và thế cũng là quá đủ. Vậy hàng triệu học sinh, sinh viên bình thường ở nước ta đang được giáo dục để thành con người toàn diện phải được hiểu như thế nào? Xin hãy xem chương trình dạy học trong nhà trường hiện nay.

Ngoài các môn văn hóa, có thêm môn mỹ thuật, âm nhạc, Quốc phòng, Luật Giao thông, Phòng chống tệ nạn xã hội, Phòng chống tham nhũng, Công ước Quyền trẻ em của Liên hiệp quốc, môn võ có tên Vovinam. Ngày 17-8-2010, nhiều doanh nghiệp kiến nghị với Ban chỉ đạo Trung ương Cuộc vận động "Người Việt Nam ưu tiên dùng hàng Việt Nam” đưa cuộc vận động này vào trường học “nhằm xây dựng ý thức tự tôn dân tộc”. Mới đây, một số người thích môn cờ vua lại kiến nghị, đưa môn này vào trường học để “rèn luyện trí thông minh”.

Hóa ra những cặp sách đang đè nặng lưng con trẻ từ tuổi ấu thơ nhưng với khá nhiều người vẫn là nhẹ hoặc họ cố tình nhắm mắt làm ngơ trước sức nặng kinh khủng. Chưa bàn tới quỹ thời gian trong nhà trường có hạn, nếu cho có đủ thời gian thì người lớn cũng không học được kiến thức bách khoa như thế, làm sao bắt con trẻ? Phải chăng cái nguyên lý giáo dục toàn diện là kỳ vọng của người lớn, bậc cha anh không đạt được nên mong muốn con em? Hay sự “Toàn diện” ở đây chỉ là sự nhồi nhét những thứ mà người lớn muốn đổ lên đầu con trẻ?

Vậy thì những câu hay ho như lấy học trò làm trung tâm, tất cả vì học sinh thân yêu, chỉ là đầu môi chót lưỡi? Đương nhiên, trẻ con muôn đời cứ là trẻ con, người lớn có việc của người lớn và trẻ con có việc của trẻ con, không thế hệ nào gánh vác được trách nhiệm của nhau, càng không thể biến thành kỳ vọng của nhau. Và kỳ vọng của người lớn dù tốt đẹp nhưng thái quá còn dẫn tới hậu quả lệch lạc, làm hại con trẻ.

Nghĩ về giáo dục những ngày này lại không thể không quan tâm tới thông tin về Alexandria Huynh, một sinh viên gốc Việt 17 tuổi, vừa tốt nghiệp trường Đại học Cal State L.A. và được trường đại học Harvard nhận vào học chương trình Tiến sĩ y khoa với học bổng toàn phần. Alexandria Huynh vào đại học lúc 13 tuổi, qua chương trình dành cho các sinh viên vào đại học trước tuổi (University’s Early Entrance Program), ra trường năm nay với bằng cử nhân sinh học hạng ưu và đang là người có bằng cử nhân trẻ nhất của trường Đại học Cal State L.A.

Nhìn lại chương trình giáo dục “Toàn diện” ở nước ta, dù có nhiều kỳ vọng lớn lao nhưng khó có thể tạo ra được những nhân tài tương tự GS Ngô Bảo Châu, hay Alexandria Huynh. Giáo dục cần tạo ra những con người toàn diện, nhưng không phải là kiểu “Toàn diện” nhồi nhét thô thiển!

Sáu Nghệ

Tuesday, June 8, 2010

Your Micorsoft Dynamics AX session is no longer valid. Log off your computer and log on again. if the problem persists, contact your Microsoft Dynamic

Error when users click Icon destop Dynamics AX 2009

Errors show:

Your Micorsoft Dynamics AX session is no longer valid. Log off your computer and log on again. if the problem persists, contact your Microsoft Dynamics Ax Administrator.

Solution:

1. Check Window server 2004/2008 it’s has sp1 or sp2 yet or not yet. ( if not have we must download and install : URL http://support.microsoft.com/kb/913184

2. Check services of Server with status Started, if not you must start and reboot server again.

Remote Procedure Call (RPC)

Remote Procedure Call (RPC) Locator

3. Check at server :

C:\Documents and Settings\All Users\Application Data with file *.auc hiden file.

4. Check client

The location of the file depends on your operating system. Under Windows XP the file will be located under your Local Settings\Application Data folder. Usually, this is as follows:

C:\Documents and Settings\%USERNAME%\Local Settings\Application Data

Under Windows 7 and Windows Vista the file will be located under:

%USERPROFILE%\AppData\Local

where %USERPROFILE% is the Windows user profile location.

As the cache file is marked as 'Hidden' you should enable showing of hidden files in Windows if you wish to find the file.

Friday, June 4, 2010

Microsoft phát triển điện toán đám mây tại Việt Nam

(Dân trí) - Tổng Giám đốc điều hành Tập đoàn Microsoft, ông Steve Ballmer đã đến Việt Nam xúc tiền hàng loạt hoạt động nhằm thúc đẩy quá trình phát triển điện toán đám mây tại Việt Nam.

Hôm qua (24/5), Microsoft Việt Nam và FPT đã kí kết Biên bản ghi nhớ nhằm thúc đẩy việc phát triển điện toán đám mây tại Việt Nam. Trọng tâm của hợp tác của thoả thuận phát triển nền tảng điện toán đám mây sử dụng công nghệ của Microsoft.

Ông Steve Ballmer, Tổng Giám đốc điều hành tập đoàn Microsoft, nhận định: “Sự kiện hôm nay là bước đi đầu tiên trong nỗ lực đưa điện toán đám mây đến Việt Nam, một giai đoạn quan trọng trong sự phát triển liên tục của ngành CNTT quốc gia”.

Lễ ký kết thúc đẩy quá trình phát triển điện toán đám mây giữa Microsoft Việt Nam và FPT. (ảnh H.Mai)
Ông Ballmer cho biết thêm, 70% trong số 40 ngàn người sáng tạo phần mềm tại Microsoft hiện đang tập trung phát triển các sản phẩm và dịch vụ đám mây. Ước tính đến năm 2011 con số này sẽ tiến tới 90%.
Theo thoả thuận này, Microsoft Vietnam và FPT sẽ cùng hợp tác, nghiên cứu về các cơ hội của điện toán đám mây tại Việt Nam và triển khai các mô hình thương mại thử nghiệm.
Cũng trong ngày, ông Ballmer đã có buổi giao lưu với gần 1.000 sinh viên Đại học Bách khoa Hà Nội về tương lai của CNTT và điện toán đám mây. Tại đây ông Ballmer khẳng định, với hơn 50% dân số dưới tuổi 35 và tỷ lệ dân số biết chữ trên 94%, Việt Nam có tiềm năng rất lớn phát triển các kỹ năng công nghệ mang tầm thế giới.
Ông Steve Ballmer đánh giá cao tiềm năng phát triển CNTT của Việt Nam. (Ảnh: H.Mai)
Ông này cũng đề cập tầm nhìn của Microsoft về một tương lai với đám mây là trung tâm, một tương lai mà năng lực của trung tâm dữ liệu với quy mô của Internet và sức mạnh của các thiết bị như máy tính, điện thoại di dộng và TV được kết hợp cùng nhau để chuyển đổi cách thức con người kết nối với nhau.
Vì thế, ông Ballmer dự đoán, đám mây sẽ tạo ra cơ hội cho Việt nam, đầu tư vào phần mềm mới sẽ thúc đẩy các mô hình kinh doanh mới đem lại lợi ích cho người sử dụng, khách hàng và mạng lưới đối tác của Microsoft. Ballmer nhấn mạnh chìa khóa của thành công trong các mô hình kinh doanh mô hình điện toán đám mây này là bảo vệ được tính riêng tư và bảo mật cho người sử dụng.
“Những sinh viên hôm nay chính là các nhà lãnh đạo, chuyên gia CNTT, kỹ sư và giảng viên công nghệ của ngày mai. Các bạn sinh viên rất nhiệt tình, thông minh và năng động. Chính họ là những con người sẽ phát triển công nghệ mới trên nền tảng đám mây và giúp Việt Nam thực hiện được những mục tiêu về CNTT”- ông Ballmer nói.

Đây là những hoạt động nhằm khẳng định cam kết của Microsoft đối với Việt Nam và hỗ trợ Định hướng chiến lược phát triển công nghệ thông tin và truyền thông tới năm 2020 - hướng đi của Chính phủ Việt Nam dùng công nghệ để đẩy mạnh tính cạnh tranh và thúc đẩy tăng trưởng kinh tế quốc gia.

Phạm Thanh