Monday, May 2, 2011

Buat Item Master di AX 2009 menggunakan Class AIF

Berikut ini code untuk buat item master, tapi belom ketemu untuk buat default Site & location nya....ada yang bisa bantu ?

static void Services_InventTable_Create(Args _args)
{
    str     inventdim;
    str     inventdimS;
    str     inventdimW;
    InventDim _inventdim;

    // Inventory Service class
    InventItemService     InventService;
    InventItem            Inventory;

    // Data object of Service class
    InventItem_InventTable                      InventTable;
    InventItem_DefaultInventDimInventSetup      InventDefault;
    InventItem_DefaultInventDimPurchSetup       PurchDefault;
    InventItem_DefaultInventDimSalesSetup       SalesDefault;
    InventItem_InventItemInventSetup            InventItemSetup;
    AifEntityKeyList                            entityKeyList;
    ItemId                                      ItemId;
    ;

    //Service instance
    InventService =  InventItemService::construct();
    Inventory = new InventItem();

    Inventory.createInventTable();
    InventTable = Inventory.parmInventTable().addNew();

    InventTable.parmItemId("1114");
    InventTable.parmItemName("AUTO");
    InventTable.parmItemGroupId("RM");
    InventTable.parmDimGroupId("DIM02");
    InventTable.parmModelGroupId("MED01");

         // Create Inventory
    entityKeyList = InventService.create(Inventory);

    if(entityKeyList)
        ItemId = entityKeyList.getEntityKey(1).parmKeyDataMap().lookup(fieldnum(InventTable, ItemId));
        infolog.messageWin().addLine(ItemId);

}

Tuesday, April 26, 2011

Hapus semua transaksi AX

Hati-hati menggunakan script ini, semua transaksi akan terhapus (hapus per Company).
Lamanya proses tergantung jumlah data. 

static void Delete_All_Trans(Args _args)
{

    SysDatabaseTransDelete databaseTransDelete = SysDatabaseTransDelete::construct();
    ;

    if (Box::yesNo(strfmt("@SYS82778", curext()),DialogButton::No))
    {
        databaseTransDelete.run();
        info("@SYS9265");
    }


}

Hapus Customer di AX 2009 menggunakan Class AIF

static void Services_CustTable_Delete(Args _args)

{
AifEntityKeyList entityKeyList;
AifEntityKey aifEntityKey;


// Data object of Service class

CustCustomerService custService;
CustTable custTable;
;

aifEntityKey = new AifEntityKey();

entityKeyList = new AifEntityKeyList();
custService = CustCustomerService::construct();

select firstonly custTable

where custTable.Name == "Cust_Service";

aifEntityKey.parmKeyDataMap(SysDictTable::getKeyData(custTable));

entityKeyList.addEntityKey(aifEntityKey);

try

{
  // Delete Customer
  custService.delete(entityKeyList);
  info ("CustTable record was successfully deleted.");
}

catch(Exception::Error)
{
   exceptionTextFallThrough();
}


}

Buat Vendor di AX 2009 menggunakan Class AIF

Berikut Script AX 2009 untuk buat vendor baru. Penamaannya agak beda dengan customer ternyata....

static void Services_VendTable_Create(Args _args)
{
    // vendor Service class
    VendVendTableService  vendService;
    VendVendTable         vendor;

    // Data object of Service class
    VendVendTable_VendTable vendTable;
    AifEntityKeyList        entityKeyList;
    AccountNum              accountNum;
    ;

    //Service instance
    vendService =  VendVendTableService::construct();
    vendor = new VendVendTable();
    vendor.createVendTable();

    vendTable = vendor.parmVendTable().addNew();


    vendTable.parmAccountNum("001");
    vendTable.parmName("Vend_Service");
    vendTable.parmVendGroup("LAIN-LAIN");
    vendTable.parmCurrency("IDR");

    vendTable.parmPartyType(DirPartyType::Organization);

    // Create vendor
    entityKeyList = vendService.create(vendor);

    if(entityKeyList)
        accountNum = entityKeyList.getEntityKey(1).parmKeyDataMap().lookup(fieldnum(VendTable, AccountNum));
        infolog.messageWin().addLine(accountNum);

}

Buat Customer di AX 2009 menggunakan Class AIF

Berikut script untuk membuat Customer di AX 2009, dengan memanfaatkan Class AIF.
AIF nya tidak perlu di setting apapun.




static void Services_CustTable_Create(Args _args)
{
    // Customer Service class
    CustCustomerService     custService;
    CustCustomer            customer;

    // Data object of Service class
    CustCustomer_CustTable  custTable;
    AifEntityKeyList        entityKeyList;
    AccountNum              accountNum;
    ;

    //Service instance
    custService =  CustCustomerService::construct();
    customer = new CustCustomer();
    customer.createCustTable();
    custTable = customer.parmCustTable().addNew();

    custTable.parmAccountNum("001");
    custTable.parmName("Cust_Service");
    custTable.parmCustGroup("KARY STAFF");
    custTable.parmCurrency("IDR");
    //custTable.parmPartyType(DirPartyType::Organization);
    custTable.parmPartyType(DirPartyType::Person);

    // Create Customer
    entityKeyList = custService.create(customer);

    if(entityKeyList)
        accountNum = entityKeyList.getEntityKey(1).parmKeyDataMap().lookup(fieldnum(CustTable, AccountNum));
        infolog.messageWin().addLine(accountNum);

}

Monday, March 28, 2011

Tambah Send To pada Windows 2008

 C:\Users\[UserName]\AppData\Roaming\Microsoft\Windows

Catatan : AppData folder is a hidden folder by default

Wednesday, March 23, 2011

Expression tanggal terakhir tiap bulan pada SQL Server Reporting Services

Berikut ini Expression untuk mencari tanggal terakhir tiap bulan:

=dateadd("d",-1,datevalue(year(today())&"-"&month(today())+1))

Prinsip kerja:
1. Cari tahun dan bulan saat ini, tanggal tidak perlu dicari, karena secara otomatis tanggal nya selalu 1.
    datevalue(year(today())&"-"&month(today()))

2. Tambahkan 1 pada bulan tersebut, jadi bulan+1
    datevalue(year(today())&"-"&month(today())+1)

3. Kurangi satu hari, gunakan function DateAdd.
    =dateadd("d",-1,datevalue(year(today())&"-"&month(today())+1))
    "d" : day, initial jumlah hari yang ditambahkan, m, initial jumlah bulan, dst.
     -1: nilai hari yang ditambahkan. bisa digunakan minus juga

Semoga Bermanfaat