In a multi-company context, if you put a template with company_id set,
this template is trying to be assigned to any document, no matter which
company it belongs, as it runs in a sudo environment, or at least, you
can have several companies seen at the same time.
We add the company discriminant for avoiding this problem.
Furthermore, the previous code was adding a domain where the right
part may be `False` with the operator `in`, provoking an unexpected
behavior in the search.
This has been fixed stating directly the expected domain.
TT42591
1. Safe eval domain before checking if it is defined. This makes [] be "False" on the first check, and provides the proper use case for when the domain is empty
2. Use filtered_domain in record instead of a search in self. When on a compute, we are on a NewId context, so the search would always fail
TT29309