вторник, 13 мая 2008 г.

Be careful whith Collections and Maps in Axapta

Let`s review block of code listed below.

List list = new List(Types::String);

ListIterator iterator;
;
list.addEnd("a");
list.addEnd("b");
list.addEnd("c");
list.addEnd("d");

iterator = new ListIterator(list);

while (iterator.more())
{
if (iterator.value() == "b")
list.addEnd("e");

iterator.next();
}

info(list.toString());

There is instance of List class retaining arbitrary string values. ListIterator class is instantiated for traversing through elements in the list. What will happen when we try to add a new element in the list inside iteration block? New element will be added to collection! In Java for iterators implemented other behavior. If an iterator is obtained, modifying the underlying collection will throw a ConcurrentModificationException. Pay attantion to this difference.

четверг, 8 мая 2008 г.

Warehouse attributes

The interesting solution was implemented on current project. One from our customer requirements is more deeply analysis of goods flows for effective management. There are many criterions for review and one of them is the warehouse properties. It can be region where warehouse is situated or belonging warehouse to company attribute, for instance. Inventory dimensions technology is powerful facility in Axapta. And our developer team took these ideas as basis. For all attributes was created tables as they are created for all inventory dimensions. And fields referenced to corresponding tables, was added to InventLocation as inventory dimensions fields in InventDim. Then functionality of grouping and rendering different views for warehouse attributes was extended in OnHand form. Users can quickly get used to warehouse attributes as to inventory dimensions. This solution is sutable for OLAP analysis as well.

понедельник, 5 мая 2008 г.

Inventory closing make corrections for transactions in closed periods

It was on previous project where I first took part as a manager. The project was completed successfully, but some questions have no answers till now. One of them is why inventory closing functionality makes corrections for transactions in closed periods. It is huge headache for all users. Fortunately it happens rarely, that is why solution of this issue was suspended. When I visited masterclass at December 2007 arranged by Microsoft in Moscow, I asked this question, but got no answer. I am going to investigate inventory closing algorithm more deeply, but if anybody has decision, be welcome.