Cut object into two objects with a plane is there a way to cut an object into two objects with a plane without duplicate that object and extruding the plane in both direction applying a boolean operation?

My mesh is complicated because it is generated by a 3d scanning so the knife project isn't enought. 

The knife project gives me the line where the two object should be separated, but i need to separate the objects manually along a very complicated mesh resulting in a waste of time.

Thanks!
While i can suggest to use bisect, i have an even better solution, i wrote a little "free" add-on for exactly this situation. Called it Bisectplus, as it can take a plane object and generate 3 vertex groups which represent the cut loop, as well as both sides (which include the center each) to make it easy to use for further operations.

The source-code can be found under https://github.com/Xylvier/Bisectplus/

As it says, seeing is believing:

No harm was done to the monkey.