Document Validation Customization Example

NOTE: There is an updated implementation of Document Validation here. This new version is much nicer and more capable what is demonstrated below. The purpose of this post is to present the process and artifacts of creating Document Validation. Document validation helps make sure the data entry is accurate. More specifically, it prevents users from making known mistakes. It also holds users accountable for important decisions. There are two approaches presented in this page. The first approach is presented in the first video. It is more simple in nature, and it does not require you to write any java code. The second is a more enterprise ready approach that gives more programming freedom and flexibility as well as increase the detail in your audit path.

2014-09-30 AM - Open Discussion Including Simple Document Validation

2014-03-20 AM Meeting - Document Validation Design #1

2014-03-25 AM Meeting - Document Validation Design #2 Design Presentations

2014-03-26 Description of Steps

  1. Posted a discussion on the iDempiere forum about the best way to achieve my goal. The below steps represent their advice.
  2. Followed these steps to create the iDempiere plugin (create plugin and start plugin)
  3. Created an iDempiere process called ValidateDocument. For now, it does nothing but look pretty.
  4. Added my new fields to C_Order Table and Column window and Order Window, Tab and Field window.
    1. DateValidated
    2. Do_ValidateDoc - pointed to above process by creating a new record in the Report & Process window.
    3. isValidateApproved
    4. isValidateHardFail
    5. isValidateOverride
    6. Validate_DocAction
    7. ValidateHash
    8. ValidationNotes
  5. Used the iDempiere model.generator (run configurations) to create my interface that contains the above fields
    1. model.validator
      1. Path = src folder of my plugin project
      2. Package = com.chuboe.model
      3. Table = C_Order
      4. Entity Type = D
      5. Only generated the interface
    2. Renamed the newly created interface to I_C_Order_DocVal and set to extend I_C_Order
    3. Removed all but the eight newly created columns from I_C_Order_DocVal
  6. Updated my process to use the newly created I_C_Order_DocVal interface with a POWrapper as illustrated here. Tested with success.

2014-03-27 AM Meeting - Document Validation Design #3 Design Review - POWrapper

This session includes an introduction to Java.

2014-04-01 AM Meeting - Document Validation Design Review Session 4

This session includes an introduction to Java.

2014-04-08 AM - Document Validation Design Review Session 5

Most Recent List of Open Actions

https://groups.google.com/forum/#!searchin/chuboe-id-training/document$20validation/chuboe-id-training/rHoirL49G04/-4DxANOVCWIJ