Override Document Action

58 views
Skip to first unread message

Yogi Rismawan

unread,
Jun 6, 2017, 9:46:13 AM6/6/17
to idempiere-id
Hello semua,

Saya mencoba untuk menambah opsi pada saat process document khususnya untuk requisition document.
Karena secara default requisition document hanya terdapat Complete dan Void, saya ingin menambahkan Prepare.
Saya coba mengikuti tutorial dari wiki http://wiki.idempiere.org/en/Developing_Plug-Ins_-_IModelFactory dan status plugin pada console pun sudah Active.
Namun ketika ingin process document yang diharapkan yakni document prepare tidak ada ...
Mohon pencerahannya para master, mungkin ada hal yang kurang sehingga pilihan prepare tidak ada ..

Terima Kasih,
Yogi

Edwin Ang

unread,
Jun 6, 2017, 9:47:38 AM6/6/17
to idempiere-id
Untuk menambahkan opsi Document Action harus melalui perubahan code. Anda harus mengimplementasikan interface DocOptions di class MRequisition

Yogi Rismawan

unread,
Jun 9, 2017, 1:02:15 AM6/9/17
to idempiere-id
Hi Edwin,

Thank you tapi hal ini sudah berhasil sebelum post ini di approve :) ....

Salam,

Alex Sembiring

unread,
Nov 29, 2017, 7:39:58 PM11/29/17
to idempiere-id

Hi Yogi,

Boleh minta kodingan untuk MMRequisition.java nya? Saya masih belajar plugin development, jadi minta tolong petunjuknya. Trims.

Salam,
Alex

Yogi Rismawan

unread,
Dec 3, 2017, 4:48:24 AM12/3/17
to idempiere-id
Hi Alex,

Anda bisa buat plugin dan membuat class dengan extends MRequisition dan implement DocActions.
Kemudian Override DocAction seperti contoh berikut:

    @Override
    public int customizeValidActions(String docStatus, Object processing,

                        String orderType, String isSOTrx, int AD_Table_ID,

                        String[] docAction, String[] options, int index) {

                    // TODO Auto-generated method stub
        index = 0;
        if(docStatus.equals(DocAction.STATUS_Drafted)){
            options[index++] = DocAction.ACTION_Prepare;
            options[index++] = DocAction.ACTION_Void;
        }if(docStatus.equals(DocAction.STATUS_InProgress)){
            options[index++] = DocAction.ACTION_Complete;
            options[index++] = DocAction.ACTION_Void;
        }if(docStatus.equals(DocAction.STATUS_Completed)){
            options[index++] = DocAction.ACTION_Close;
        }if(docStatus.equals(DocAction.STATUS_Closed)){
            options[index++] = DocAction.ACTION_None;
        }

                    return index;

    }

Dan satu lagi jangan lupa untuk membuat DocFactory pada plugin anda.... selamat mencoba..

Thanks,
Yogi
Reply all
Reply to author
Forward
0 new messages