Обычно критерий отбора используется для поиска документов, например, для контрагента. Можно ли выдумать критерий отбора, чтобы запросом выбрать контрагентов массива документов? Можно, конечно, написать запрос-объединение, но хотелось бы редактировать только критерий отбора, а затем по нему строить запрос.
(2) это для обмена, так что производительность не важна.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший