Doc_Inventory.createFacts does not respect !line.isActive() but MInventory.completeIt does. Posting fails.
Description
Environment
Attachments
is duplicated by
Activity
Andy Conn November 13, 2017 at 3:03 PM
Our use case is this: We have an automated process that creates an Internal Use Inventory document that our technicians must review, modify and complete. The technician selects from a collection of checkboxes (added in AD) on each line to specify details about the line. Some checkbox selections should cause the line to be ignored in processing. In our case, we do not want the lines deleted because we will lose the record of the technician decision. I tried setting the qty=0 via callout initially but M_Inventory.beforeSave() does not like that. Changing the isActive flag is a good solution for us.

Hiep Lq October 27, 2017 at 4:42 PM
document table have status column for delete case (reverse status)
and almost *line don't show isActive column.
so i think for this case just hidden isActive column
Carlos Ruiz October 27, 2017 at 3:24 PM
, is *mpiere model - all tables must have IsActive flag and an inactive record must be considered as deleted.
So, I think we have a lot of bugs like what is reporting here - most queries on functional stuff not filtering IsActive can be considered an issue.
Regards,
Carlos Ruiz

Hiep Lq October 27, 2017 at 3:07 PM
hi , do you know any reason to have isActive on Inventory line?

Hiep Lq October 27, 2017 at 3:06 PM
my opinion is get rib of "is active" on inventory line make it consistent with other *line.
in case you have to use it, change code on MInventory.getLines to
.setOrderBy(MInventoryLine.COLUMNNAME_Line).setOnlyActiveRecords(true).
On Inventory document Complete, the system should ignore inactive lines. This currently happens processing lines in MInventory.completeIt() but not in Doc_Inventory.createFacts(). Patch corrects this in Doc_Inventory.loadLines()